Делу – время, потехе – час, но не в случае, если речь идет о программистах. Ведь сейчас существует множество игр, образовательных, обучающих и просто забавных, созданных разработчиками для разработчиков. Они призваны прокачивать “скилл” программиста, тренировать логику, и попросту развлекать игрока. AIN.UA собрал в список популярные игры для программистов, а также включил в подборку пару игр, ориентированных на детей. Наша подборка, конечно же, не претендует на всеохватность, если мы упустили какую-то крутую игру – отметьте ее в комментариях.
В 2021 году редакция AIN.UA обновила этот текст. Мы добавили в список еще несколько онлайн-игр для программистов, которые помогут освоить азы JavaScript, Java, Python, PHP, C# и других языков в более увлекательной форме.
Игры для программистов
SpaceChem
Игра-головоломка, в процессе игроку нужно создавать новые химические элементы для корпорации SpaceChem, используя химические реакции, деление ядра или синтез. При чем здесь программисты? Игра, кроме развлечения, дает и возможность потренировать навыки параллельного программирования, и является довольно “хардкорной”. Есть в Steam, причем 90% отзывов о ней – положительные.
Uplink
Если вам всегда хотелось побывать в шкуре кулхакера, но как-то не выпадала возможность, эта игра вам подойдет. Игроку предстоит выполнять самые разнообразные задания от некоей хакерской корпорации: взламывать локальные сети, подбирать пароли, менять записи в базах данных и т.д. Можно копить деньги у себя на счету, обновлять “железо” и софт, зарабатывать очки репутации.
Игра доступна на всех десктопных и основных мобильных платформах.
CodeCombat
Платформа для изучения программирования, которая доступна на русском языке. Проходя уровни, игрок якобы повышает свою квалификацию: он может научиться писать простые и сложные скрипты ИИ, изучить HTML и даже создавать свои собственные уровни. Как и в популярных играх, в CodeCombat есть кланы, к которым можно присоединяться. Можно играть по сети.
Code Monkey
Игра предназначена для детей, поскольку кодить она учит в процессе сбора бананов. Однако, Code Monkey отлично подойдет для тех взрослых, которые только начинают разбираться в программировании и хотят потренироваться выполнять практические задачи.
CodeRally
Это open source-игра про гонки, но с небольшим отличием. Вместо того, чтобы просто вести машину к финишу и победе, игроку придется запрограммировать искусственный интеллект. Чтобы начать играть, не нужен “продвинутый” уровень программирования, достаточно знать основы Java или любого другого объектно-ориентированного языка.
Robot Odyssey
А теперь – немного винтажа. Эта игра вышла в 1984 году, но не зря носит неофициальный титул самой сложной компьютерной игры всех времен. По словам программиста из Нью-Йорка Девида Ауэрбаха, на прохождение этой игры ему понадобилось 13 лет и она во многом определила его будущее как программиста. Его яркие воспоминания об игре можно почитать на английском (в оригинале) или в переводе на русский. Игра предлагает несколько уровней сложности, некоторые пройти практически невозможно – количество людей, которые прошли игру до конца, в мире измеряется десятками.
В игре нужно решать головоломки с помощью четверых роботов, которых можно программировать (имеется в виду низкоуровневый код). Игра старая, поэтому понадобится эмулятор (под Windows, к примеру, тот же DosBox), но ссылку придется искать самостоятельно, официальной раздачи у нее нет.
Second Life
Это 3D-игра, виртуальный мир, который создают сами пользователи. Здесь можно программировать вовсю. Есть внутренний скриптовый язык программирования LSL, с его помощью можно заставлять машины ездить, ружье – стрелять, менять внешний вид любых объектов. Грубо говоря, вся динамика этого мира работает на LSL-скриптах.
Bug Brain
Пусть примитивная графика вас не пугает: в этой игре предстоит программировать не роботов, а “настоящую” нейронную сеть для насекомых. Все начинается с лаборатории, где игроку предстоит экспериментировать с различными узлами и нейронными связями, затем наступает черед полевых испытаний, во время которых нужно построить мозг божьей коровки, так, чтобы она могла находить еду и выживать.
Check iO
Игра позволяет понять и выучить Python и TypeScript. Первый этап обучения называется «Learning» — программистам необходимо выполнить цепочку задач от легкой к сложной. Второй этап — Score Games или Single Player Game. Пользователь играет в игры, в которых требуется набрать набрать наибольшее количество очков. Последний этап называется Competition или Multi Player Game – на нем игроку нужно написать собственную игру, которая могла бы конкурировать с играми, написанными другими пользователями.
Эту игру делает команда из Днепра, по совместительству – один из самых известных украинских стратапов. CheckiO — это игра, в которой для прохождения миссии и перехода на следующий уровень нужно написать программный код. Разработчики со всего мира соревнуются, чей код окажется более удачным. Все началось с того, что сооснователь проекта и талантливый разработчик Александр Лябах работал в банке и ему стало скучно. Тогда он придумал игру – паззлы для программистов – для себя и друзей.
Lightbot
Это – набор головоломок для детей. Lightbot начинался как Flash-игра еще в 2008, но сейчас есть и версии под популярные мобильные платформы – iOS и Android. Игра обучает детей не так самому программированию (код здесь писать не нужно), как его логике – здесь нужно решать задачки, к примеру, “зажечь” все синие плитки, как на видео ниже):
В процессе можно выучить основные понятия, использующиеся в программировании (циклы, if/then-конструкции и т.д.). У разработчиков игры есть версии для маленьких детей и детей постарше.
Colobot
Название расшифровывается как “Колонизация с помощью роботов” (Colonize with Robots). В игре нужно готовить планеты к заселению людьми, для чего используются роботы. Соответственно, основное средство – создание программ на языке под названием CBOT, по которым роботы будут действовать (похож на C++).
Сложные программы создавать не удастся (на каждую ограничение в 20 000 символов), так что придется обойтись простыми решениями. Если игрок застрял во время очередной миссии, имеются подсказки. У проекта есть раздел на GitHub.
TIS-100
Игра от Zachtronics перенесет вас в кресло программиста 80-х годов. Она начинается с того, что пользователь находит некий загадочный компьютер под названием TIS-100. Компьютер включается, но сообщает о поврежденном коде, его-то игроку и предстоит “чинить”.
Имеется даже мануал по TIS-100 (Tessellated Intelligence System, 100-я версия) в стиле 80-х годов. Всего игроку предлагается решить около 20 паззлов, и в конце-концов выяснить, кто и зачем создал TIS-100. Достаточно подробный отзыв на игру можно прочитать, например, в блоге у Павла Урусова.
CodinGame
В игре начинающим программистам предстоит решать различные задачки и задания в формате головоломок. Игра поддерживает более 20 языков программирования и позволяет не только понять основы, но и понять на практике как работает каждый из них.
Тем же, кому не хватит 10 вариантов, можно посмотреть соответствующие темы на Quora или Stack Overflow.