Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров.
А есть игры, на которые очень мало обзоров, но они супер крутые — игры про алгоритмы. Игры, в которых можно кодить на ретро-компьютере; игры, которые надо взламывать; игры, где можно программировать контроллеры или поведение персонажей; игры, где можно создавать свою игру внутри игры.
Под катом подборка классных игр про алгоритмы за последние 10 лет. Если что-то упустила — буду рада дополнениям.
Еще я создала канал в Telegram: GameDEVils, буду делиться там клевыми материалами (про геймдизайн, разработку и историю игр).
Платформы
Проекты, в которых встречаются слова «платформа», «игры» и «программирование», чаще рассчитаны на детей (вроде CodeCombat или Code.org). Я все же решила упомянуть одну платформу, которая рассчитана на взрослую аудиторию.
CodinGame
CodinGame — это компания, которая создала одноименную платформу, на которой можно поиграть. Платформа поддерживает 25 языков программирования. Можно самому в головоломках поковыряться, есть раздел training, можно с друзьями поиграть в multiplayer. На Хабре некоторые даже участвовали в челленджах с этой платформы.
Судя по отзывам, для некоторых поиграться на CodinGame — это вместо перекура на работе. Вот тут уже писали (Поиграл == покодил) про игры, которые для «прокачки скиллов», и упоминали CodinGame. В статье по ссылке еще много подобных игр, так что я больше не буду упоминать «обучающие» программировать игры.
Игры от Zachtronics Industries
Есть ребята, Zachtronics Industries, которые специализируются на играх-головоломках, играх, связанных с программированием и инженерией. За последние 10 лет они выпустили около десятка игр, 7 из них я включаю в подборку, т. к. они больше других связаны с алгоритмами или программированием. Кстати, все «инженерные» игры разработчики предоставляют школам и некоммерческим организациям бесплатно.
SpaceChem (2011)
Это одна из первых игр Zachtronics, игра-головоломка, в которой разработчики попробовали объединить химию, программирование и космических монстров.
Игрок должен создать определенную молекулу, запрограммировав два удаленных манипулятора, которые в игре называются «waldo». Эти уолдо можно запрограммировать с помощью визуального языка программирования.
SpaceChem был первой попыткой разработчиков создать коммерческую игру после ряда бесплатных Flash-игр. Игру перевели на русский язык.
SpaceChem был включен в некоторые академические институты для преподавания концепций, связанных как с химией, так и с программированием.
Трейлер:
Infinifactory (2015)
В этой игре тоже есть производственные линии, как в SpaceChem, но в 3D. По лору игры вас похитили инопланетяне, вы строите для них производственную линию и пытаетесь при этом не умереть. Время от времени вы находите трупики своих предшественников, аудиозаписи с их предсмертными истериками, или видите их оранжевые скафандры в окно иллюминатора. Игра работает на PS4.
Код тут писать не надо, вы строите производственную линию из блоков, которые могут передвигать, поворачивать и объединять объекты, т. е. функции блоков заранее определены. Нужно выстроить блоки в правильном порядке, чтобы выполнить задачу. Игра предлагает задействовать минимальное количество блоков при построении линий и показывает результаты друзей из Steam, кто уже проходил эту игру.
Вот трейлер игры:
TIS-100 (2015)
TIS-100 — это головоломка для программистов. Игроку предлагается написать код на упрощенном ассемблере для выполнения задач на вымышленном виртуальном компьютере 1970-х годов, который был поврежден. У виртуального компьютера 12 узлов, часть из них не работает в начале игры. Игроку нужно переписать код, исправить ошибки и решить головоломку. После каждого этапа игрок может сравнить свои результаты с результатами всех игроков. Игра собирает статистику, сколько строк кода, сколько узлов, сколько тактов игроки использовали при решении головоломки.
Вот на Хабре писали про TIS-100.
Трейлер:
Shenzhen I/O (2016)
По лору игры вы — новичок, приходите в китайскую компанию, набираетесь опыта. Первый экран игры — это рабочий стол сотрудника, где он по электронной почте получает инструкцию и первое задание — создать дизайн электронного устройства. Вы пишете прошивку, прошивка проходит тесты, а после вы получаете письмо, сколько такое устройство будет стоить, сколько девайс жрет электричества и сколько строк кода в вашей прошивке. И время от времени недостаточно пройти нагрузочное тестирование успешно. Чтобы устройство отправилось в производство, его придется оптимизировать. Короче, игра про то, как безопасно, дешево и сердито создать свой Flipper Zero.
Трейлер:
Opus Magnum (2017)
Если SpaceChem была про химию, то это игра про алхимию. В игре есть сюжетная линия, по которой талантливого алхимика принимают на должность главного алхимика в старейший влиятельный род, но она скорее для красоты.
На каждом этапе игроку надо построить систему, которая создает алхимический элемент. Игроку дают какое-то количество реагентов для проведения опыта, карту трансмутаций, которая объясняет, как превратить в золото ртуть, и неограниченное количество манипуляторов, которые влияют на стоимость систем, что создает игрок. Систему надо «запрограммировать» с помощью визуального программирования. По традиции игр Zachtronics, чем меньше шагов, чем меньше элементов в системе и чем меньше кода, тем лучше.
Трейлер:
Exapunks (2018)
Симулятор программиста, c сеттингом вокруг культуры хакерства 1990-х.
Альтернативные 90-е в Сан-Франциско. Вы больны странной болезнью, превращающий части вашего тела в части компьютера. Чтобы получить дозу лекарства и выжить, вам надо заработать $700 в день. Вы выполняете первое легальное задание и получаете аж 10 центов.
Или вы можете начать взламывать банки, университеты, фабрики, писать вирусы. Информацию об этом можно найти в подпольном журнале «Trash world news». По сути вы получаете руководство к игре, ребята даже предусмотрели вариант для тех, кто захочет заморочиться, и напечатать себе бумажную версию этого руководства.
Программирование происходит на подобии ассемблера. Игры нет на русском языке, так что вот самый внятный replay на английском, что я нашла:
Трейлер:
MOLEK-SYNTEZ (2019)
Это головоломка, как Opus Magnum, только действие происходит в будущем, 2092 год, и создаете вы не алхимический философский камень, а реальные органические соединения: бензол, ацетон, соляная кислота. Иногда даже наркотики.
Стилистически игра очень похожа на TIS-100, то же минимальное количество эффектов в игре. На эту игру нет официального перевода, но есть русификатор. По традиции этого производителя, в игре есть лидерборды, чтобы сравнивать, насколько оптимальны решения игроков. Вот тут чувак рассказывает про игру подробно, но на английском. Видимо, русскоязычное сообщество не очень активно играет в MOLEK-SYNTEZ.
Трейлер:
Инди-проекты
4 законченных инди-игры про алгоритмы и визуальное программирование.
Else Heart.Break() (2015)
Игра-песочница, в который вы можете писать код. Прям внутри игры. Написание кода — не основная механика, эту игру можно пройти, плохо разбираясь в программировании и выполняя основные несложные квесты по инструкциям. Но если вы умеете писать код, играть становится в разы интереснее.
У вас есть главный персонаж по имени Себастьян, он переезжает в новый город, где по началу все выглядит как обычная игра бродилка. Можно ходить по мрачному ретро-миру, разговаривать с людьми и выполнять квесты. Но если вы разбираетесь в программировании, то можете менять мир под себя. Почти любые объекты, кроме людей, можно запрограммировать. Программирование в игре происходит на странной смеси Python с чем-то.
Ссылка на Стим:
store.steampowered.com/app/400110/Else_HeartBreak/?l=russian
Вот обзор:
А вот трейлер к игре:
PonyIsland (2016)
Игра про поняшу. Самая жуткая игра про поняшу, что я видела. PonyIsland создал канадский инди-разработчик Дэниел Маллинс.
Игрок оказывается перед экраном сломанного старого игрового автомата, и вынужден играть в бесконечный забагованный раннер. Чтобы выиграть, надо «починить» игру. Очень инди проект, с минимальными графическими средствами. По сюжету игрок получает доступ к псевдо-коду игры, и с помощью визуального программирования (переместиться вниз, зациклить, остановить и т. д.) обходит забагованные фрагменты кода, или получает достижения в игре. И вообще суть игры — спасти свою душу от Дьявола.
Трейлер:
Human Resource Machine (2015)
Игра от Tomorrow Corporation для тех, кто любит алгоритмы. Игрок появляется в качестве сотрудника корпорации, где он должен решать задачи, связанные с перемещением и хранением зеленых коробочек с числами. Игрок постепенно узнает команды, вроде «inbox», «outbox», «copyto», «add» и т. д., чтобы выполнить задачу — по сути, просто перекладывать коробочки с места на место. Игрок проходит около 40 уровней головоломок, каждый уровень — год жизни в офисе.
Трейлер:
7 Billion Humans (2018)
Продолжение предыдущей части, в том же визуальном оформлении, с похожими головоломками. Теперь вы автоматизируете не свои действия, а действия своих подчиненных, которые мечтают о работе. Да, их работа тоже сводится к тому, чтобы перетаскивать зеленые кубики с числами.
Трейлер:
Baba Is You (2019)
Инди проект финского разработчика. У игры какие-то супер отзывы в Steam. Игра требует, чтобы вы манипулировали правилами, чтобы персонаж игрока мог достичь определенной цели. Baba — это вы, точнее вот эта белая клякса-кролик на экране. Но вы можете поменять правила и стать крабом. Или стеной. Не так важно, главное успешно выполнить условие головоломки.
Игра содержит более 200 уровней и получила несколько инди-наград, а некоторые обозреватели игр считают ее одной из лучших видеоигр-головоломок за последние годы. Игра выпущена для ПК, Nintendo Switch и на мобильные устройства.
Трейлер:
Игры-редакторы
Понимание алгоритмов и логики дает преимущество в освоении редакторов, вроде тех, что я упоминаю ниже. Редакторами могут пользоваться даже дети, есть встроенные туториалы. Но взрослому, кто знает программирование, будет проще и быстрее разобраться с инструментами и начать создавать свои игры.
Dreams (2020)
Раньше Media Molecule выпускали игры, со встроенными редакторами, но в этот раз они выпустили редактор, со встроенными играми. Получилась целая гейм-студия, с обучающим руководством, 3D-моделированием, визуальным программированием, аудио-студией. Короче, целая игра по созданию игр. Творческая песочница, где все скрипты создаются с помощью блок-схем.
Трейлер:
Game Builder Garage (2021)
Редактор для игр на Nintendo Switch. Можно создать шутер, головоломку, трехмерный платформер. Игру совсем с нуля сделать не получится, в редакторе представлен конечный ассортимент объектов, но зато визуально игра будет напоминать игры Nintendo.
По версии Nintendo, игра состоит из «Нодонов» — существ, со своими характеристиками, которые можно настроить. Можно разместить на экране героя, наделить его желаемыми параметрами, задать окружение и способы взаимодействия. С помощью Нодонов можно создать вроде аналога логического интерпретатора. В приложение разработчики включили кампанию по обучению на 7 уроков и проверочные чекпоинты.
Трейлер:
Update [16:35 14.01.22]
Игр в комментариях стало так много и они все такие крутые, что я сделала им отдельный домик. Продолжение читайте тут: Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг [по следам комментариев на Habr]
Еще про игры: Играйте в хакера безопасно: 20+ игр, чтобы почувствовать себя хацкером и не призвать ФСБ
А еще я узнала, что некоторые игры разработчики придумали во время геймджемов, и написала про историю джемов: Каким был первый game jam 20 лет назад и где можно поджемить в этом году
Спасибо большое всем, кто внес свой вклад!/
Update
Решила добавить игры по рекомендациям из комментариев:
zede: Turing Complete
ShadF0x:
nandgame (бесплатно и в браузере) и nand2tetris (больше курс, чем игра)
- MHRD (симулятор Verilog)
- Prime Mover (преобразование входа в выход, похожа на Opus Magnum)
- Robo Instructus (алгоритмы на JavaScript)
- Silicon Zeroes (как nandgame, решение задач аппаратными средствами)
- The Signal State (преобразование входа в выход)
Prilr: Colobot
JustDont: Bitburner
0serg: Factorio (не совсем про алгоритмы, но все же)
nzeemin: while True: learn() (о машинном обучении и нейронных сетях / про комбинаторику)
Fenex: box-256.com
Мой канал в Telegram с находками про разработку игр, историю игр и геймдизайн: GameDevils.
Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале ↩