Должен признаться, что я плохой программист. Я не люблю настраивать Maven и писать конфигурации для Spring Framework. Я не знаю в деталях, как работает JVM (да и в общих чертах представляю это себе довольно смутно). Я плохо понимаю паттерны проектирования, а любая новая технология вводит меня в уныние. И тем не менее, я люблю программировать.
Специально для таких как я (а может, и для каких-то других) существует небольшой класс игр, представляющих собой квинтэссенцию программирования. В них не нужно скрещивать ежа с ужом и беспокоиться о версиях библиотек. Лишь кристально чистое алгоритмическое программирование, обёрнутое в симпатичный интерфейс — вот моё маленькое счастье.
Минуточку внимания.
Я не стану говорить о Robot Battle и тому подобных вещах. Вот не стану и всё. Возможно, я странный человек, но мне не нравится иметь дело с чем-то, хоть отдалённо напоминающим реальную физику. Интересующиеся могут почитать об этой игре здесь, а статья немного о другом.
SpaceChem
Истинная жемчужина жанра, сочетание прекрасной идеи с прекрасной реализацией. Ваш лирический герой — инженер-нанотехнолог, занимающийся проектированием реакторов для сборки-разборки молекул.
Игровой процесс напоминает программирование на языке Befunge: по игровому полю… простите, по реактору перемещаются два манипулятора, направляемые заранее расставленными стрелочками и выполняющие раскиданные по полю инструкции. Манипуляторы хватают поступающие в реактор молекулы, перемещают, поворачивают, расщепляют и собирают вновь, затем отправляют результат на выход. «Зачем всё это?» — спросите вы. Что ж, как раз для вас в игре присутствует неплохой sci-fi сюжет, и даже (sic!) элементы экшна.
The Codex of Alchemical Engineering
Более ранняя игра от того же разработчика, увековеченная во flash. Здесь на смену двум кружочкам-вальдо приходят многочисленные механические клешни а ля Бендер Родригес, а на смену атомам и молекулам — алхимические ингредиенты.
Помимо сложности, игра может похвастаться необычной для флэшевых игр системой сохранений: для созданного вами решения генерируется некий текст, который можно невозбранно скопипастить, чтобы потом (к примеру, на другой машине) совершить обратное преобразование и восстановить решение из текста. Также у неё есть продолжение (или, скорее, левел-пак) — Magnum Opus Challenge, с ещё более суровыми уровнями для тех, кому создание философского камня показалось лёгкой разминкой.
LightBot 1 & 2
Две части флэшевой игры про маленького робота на клетчатом поле. Повинуясь нашим инструкциям, робот ходит, поворачивается, прыгает и в буквальном смысле зажигает, неся свет и добро в самые отдалённые уголки уровня.
Обучающие игры такого плана в своё время были весьма популярны в школьной информатике. С отказом от идеологии «программирование — вторая грамотность» их, к сожалению, вытеснили Ворд и Эксель — впрочем, это уже совсем другая история. Так вот, LightBot отличается от тех игр жёстким ограничением на количество команд: 16 в основной программе, ещё по 8 в двух подпрограммах. Это не даёт программировать спинным
Во второй части, помимо улучшенного интерфейса, появились такие полезные фичи, как ветвление и рекурсия.
Pragmatica
Ещё одна управлялка роботами. Действие этой фриварной игры разворачивается в мрачноватом будущем, полном машин и… машин.
В отличие от игр, перечисленных выше, здесь реализован событийный подход: программируется не поведение робота в целом, а его реакция на определённые раздражители. Кроме того, уникальной фичей является то, что одной и той же программой управляется сразу несколько роботов. Впрочем, на мой вкус игра скучновата, поэтому я и поместил её в самый конец статьи.
P.S.
Список не полон и не претендует на полноту. К примеру, только сегодня мне посоветовали нечто онлайновое под названием «RoboZZle Game ». По первому впечатлению это нечто мне нравится, но пока я не могу написать ничего определённого и, тем более, кому-то его рекомендовать. Но вы можете попробовать на свой страх и риск. Засим откланяюсь.
Автор: Sirion