Я выложила вчера подборку «15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли». И столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. Спасибо большое всем, кто внес свой вклад.
Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
Turing Complete (2021)
Игру выпустили в октябре прошлого года, пока она в раннем доступе, но уже около 600 положительных отзывов на Steam.
Практически с нуля (начиная с проводов и простейших бинарных блоков) строим процессор и программируем его. Вначале логические блоки, далее сумматоры-счетчики, потом компараторы, мультиплексоры-демультиплексоры, регистры, АЛУ… процессор… свой ассемблер и программируем его на решение простых задач. Визуально в теплом ламповом стиле 80-х (шины данных, бегающие по ним байты-биты и т.п.). Помимо собственно конструирования блоков и их программирования на некоторых задачах существуют ограничения на количество элементов или «площадь кристалла» для размещения схемы.
The Nand Game
Бесплатная игра в браузере, где вы собираете компьютер, начиная с базовых компонентов.
На каждом уровне нужно создать компонент, который ведет себя в соответствии со спецификацией. Затем этот компонент можно использовать в качестве строительного блока на следующем уровне.
Игра не требует каких-либо предварительных знаний о компьютерной архитектуре или программном обеспечении и не требует математических навыков, кроме сложения и вычитания.
From NAND to Tetris
Два обучающих курса («Nand2Tetris Part I» и «Nand2Tetris Part II») от предыдущего проекта, оба доступны бесплатно на платформе Coursera.
Курсы «Nand to Tetris» преподаются более чем в 400 университетах, средних школах и учебных лагерях. Студенты, которые их проходят, варьируются от старшеклассников до аспирантов и инженеров Google.
MHRD ( 2017)
Станьте инженером по оборудованию, создайте свой собственный процессор по технологии 80-х годов, пишите свои проекты на языке аппаратного проектирования MHRD. Короче, по картинке видно, что игра для дерзких парней, которым плевать на графику.
MHRD — отличная игрушка, поддержу (эх, будет ли когда-то продолжение, намёк на которое, помнится, где-то там в титрах мелькал?) Печалит только, что некоторая часть заданий с последовательностной логикой подвержена хакам, основанным на несовершенстве тестов. Поэтому иногда «лучшие» результаты других игроков, в которые игра непременно ткнет носом после выполнения задания, на практике честным путём не могут быть достигнуты.
Prime Mover (2018)
Можно создавать печатные платы, чтобы решать задания головоломки. Как в играх от Zachtronics, есть сравнение результатов с друзьями:
преобразование входа в выход, похожа на Opus Magnum
Robo Instructus (2019)
Инди-игра, где вы программируете робота на вымышленном языке программирования. Цель каждого уровня — довести робота до выхода, само собой, постепенно выполнить задание становится все сложнее.
Забавный момент — уровни состоят из треугольных тайлов, а не квадратных как во многих других играх.
На Хабре ее советовали тем, кто про алгоритмы на JavaScript.
Silicon Zeroes (2017)
В игра есть сюжетная линия в сеттинге 60-х в Кремниевой долине. В этой головоломке можно создавать электронику из множества простых компонентов, таких как сумматоры, защелки и мультиплексоры. Но на Steam есть критические отзывы, которые ругают игру за игрушечность и технические неточности.
The Signal State (2021)
Визуальная версия MHRD в сеттинге постапокалипсиса. 40 головоломок, которые игрок проходит за техника. Техник получает задание восстанавливая жизнь на одной из старых ферм и для этого должен перебрать всю нерабочую технику и восстановить ее. В начале игры есть обучалка. В отличии от последовательного MHRD, в Signal State нет возможности на следующих уровнях использовать свои компоненты из предыдущих.
Colobot (2001)
Ностальгические нотки: игра для детей от 10 лет, для обучения программированию. 3D стратегия в реальном времени, где вы программируете своих юнитов (ботов) на языке CBOT, который похож на C++ и Java. По сюжету игры, вы должны найти новую планету для жизни и выживания.
Прочитав заголовок, сразу вспомнил игру, с которой еще в школьные годы начиналось мое становление как разработчика — Colobot.
Сколько времени я там провел за экспериментами и программированием ботов на почти-С++, даже и не знаю.
С тех пор она еще и в open-source перешла.
Bitburner (2021)
Вышла буквально месяц назад и уже собрала на Steam 1 500+ крайне-положительных отзывов. Это первый публичный проект автора.
Я просто оставлю этот отзыв со Steam [орфография и пунктуация как в оригинале]:
Отличный способ выучить как пользоваться терминалом и начать списать первые скрипты на JavaScript(точнее на его внутри-игровом аналоге) если вы пробовали пользоваться такими сервисами как codewars или leetcode но долго там не задерживались то это будет отличная альтернатива в стиле старых фильмов про хакеров
Factorio (2016)
Factorio — это игра, где можно проектировать, строить и обслуживать фабрики. Можно создавать свои собственные карты, писать моды или играть через мультиплеер.
Как подсказывает Хабр, игра не совсем про алгоритмы:
Factorio — это все же не игра про алгоритмы, а игра где можно прикрутить алгоритмы почти ко всему. Но можно и не прикручивать.
Скорее придётся. Без нормальной автоматизации ракету сложно построить :)
И плюс постоянно возникает «так, почему у меня этого нет, ах, вон того не хватает, т.к. я теперь на вот это трачу», что довольно близко к программированию. Параллелизм, балансировка, кэш, дедлоки — всё на месте :)
while True: learn() (2019)
Как подсказали на Хабре, эта игра о машинном обучении и нейронных сетях, но про комбинаторику. Специалиста по машинному обучению она из вас конечно не сделает, но заинтересовать темой может.
А еще в этой игре есть кот, он прекрасный программист, но не говорит по-человечески. И игрок должен освоить машинное обучение, чтобы создать систему-переводчик с кошачьего на человеческий.
Больше 5 000 отзывов на Steam с оценкой игры на 10 котов-программистов из 10.
Вот интервью с создателем: Создатель игры while True: learn() о программировании в геймдеве, проблемах с VR и симуляции ML / Хабр (habr.com)
BOX-256 (2016)
BOX-256 — это 8-битный фэнтезийный компьютер с 256 байтами памяти, 16-цветным дисплеем 16x16. Вот мануал, как пользоваться этим компьютером.
Игра, в которой нужно на примитивном ассемблере рисовать картинки на дисплее. Хотя, это скорее не развлекающая игра, а обучающая: хорошо и довольно точно показывает как на самом деле ЦП выполняет инструкции. Да и в целом наглядно показывается что такое инструкции и память.
Screeps (2016)
ММО стратегия, где вы программируете поведение своих «юнитов»
«Screeps» это «scripting creeps». Хоть и есть обучалка, игра все таки для людей с навыками программирования. В отличие от других игр, в «Screeps» не нужно постоянно играть за крипов, они могут реагировать на события без прямого участия игрока, при условии, что их правильно запрограммировали.
Своего рода Colobot на хардкор-уровне. Как пишут в рецензиях на Steam:
Твой шеф будет думать что ты кодишь нужные вещи.
Gladiabots (2019)
Программируете роботов и воюете
В игре 4 класса ботов из которых можно набрать команду из 4 юнитов. Боты умеют ходить, стрелять, распознавать свой чужой, тащить ресурс, но умеют это в том порядке, в котором игрок прописал это в редакторе искусственного интеллекта. В игре есть компания и мультиплеер, разбитый на лиги.
Oh My Git! (2021)
Игра для помощи новичкам в Git, которая визуализирует внутренние структуры репозиториев в режиме реального времени. Игрок может сразу увидеть результаты своих действий.
В игре есть интерфейс игральных карт, которые помогают запоминать недавно введенные команды Git. Бесплатно и опенсорс.
Pocket Robots Test Chamber
Игра со спартанским интерфейсом, где надо создать логическую схему для робота так, чтобы он смог пройти уровень. Играть можно в браузере бесплатно по ссылке.
Shapes IO + (2020)
shapez.io — игра, похожая на Factorio, в которой можно строить фабрики по автоматизированному производству геометрических фигур. В игре нет лора, вселенной, просто геометрические фигуры, у которых есть очевидные свойства: форма и цвет. Есть бесплатная демка, чтобы решить, а надо ли оно.
Crazy Machines (Заработало!) (2005)
Серия игр, основанная на создании машин Голдберга. Это серия из 5 игр с кучей дополнений, в названии год релиза первой игры из серии. Вот тут даже заботливо поддерживают сайт по игре. Игра больше для детей, тоже идет с пометкой ностальгия.
Mindustry (2019)
Гибридная песочница tower-defense с упором на управление ресурсами. В игре 24 встроенных карты, кроссплатформенный мультиплеер и масштабные сражения PvP-юнитов. Есть исходный код на GitHub.
там есть программируемые блоки (процессор, память итд), с их помощью можно менять логику юнитов, например
Awesome Programming Games
А еще вот ссылка на github, которая меня просто порвала. Там штук 150 потрясающих игр для программистов. Я в ближайшее время обязательно проверю подборку, и добавлю те игры, что вы посоветовали, если их там еще нет.
Спасибо большое всем, кто внес свой вклад:
zede, Fenex, 0serg, JustDont, Prilr, nzeemin, ShadF0x, Shreedeer, microspace, solarize, Ghostcar, Joysi, kinjalik, AndreySinelnikov, CiceJis, pvvv, wataru, agat000, jawaharlalnehru, opxocc, dfgwer, zorg-kirill, constXife, mikhail_roslov, poslannikD, CyaN, Peacemaker, t76480, udmiark, DanilinS, maksir, forthuser, ShadowTheAge, CaptainCrocus, alexglue, iaia, ebeloborodov, DeepFakescovery.
Огромная благодарность всем, каждому, и пусть никто не уйдет обиженным.
Первую часть можно найти тут: 15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли.
А еще я узнала, что некоторые игры разработчики придумали во время гейм джемов, и написала про историю гейм джемов: Каким был первый game jam 20 лет назад и где можно поджемить в этом году
Update [18:30 15.01.22]
Остановите меня:
Untrusted
Meta-JavaScript приключенческая игра, код на GitHub.
Robocode
Dual Universe
ну если есть Space Engineers, то и должна быть Dual Universe — там тоже программирование на Lua и постройка своих кораблей и построек на воксельном движке
Manufactoria 2022
есть еще Manufactoria 2022 — мне ок зашла, слегка похоже на классику Spacechem и иже с ними
Grobots
Grobots
is a real-time strategy programming game
Retro-40
P.S. Не игра, но проект фантазийного Форт ретро-компьютера (программа):
256x192, 16цветов, звук с некоторым количеством игр и демо, программируемый на Ficl (Форт). Вдохновлённый Lambda/8, Jupiter ACE.
include tetris.fs
tetris
SineRider
я добавлю вам SineRider, игру про графики. Здесь вам нужно написать уравнение графика вида y=f(x,t), который станет горным склоном для покатушек на санках. Отличный повод вспомнить как выглядели формулы разнообразных парабол и поэксперементировать, что будет, если в формуле зависимость от времени.
KOHCTPYKTOP: Engineer of the People
как nand, только вместо принципиальных логических схем — рисование p/n в кремнии
Веб-версия вроде как склеила ласты из-за смерти Macromedia Flash, но можно найти оффлайн-версию в ZACH-LIKE.
Digital Logic Design (The Game)
Есть ещё похожая по духу на MHRD Digital Logic Design (The Game) — такое же суровое структурное описание различных цифровых схем по ТЗ и прогон тестов.
Uplink
Satisfactory
Забыли — Satisfactory. Хотя можно объединить с Factorio
Dyson Sphere Program
мне понравилась dyson sphere program, попроще чем факторио, но более приятная и красивая
GreyHack
Steam [ранний доступ]:
Grey Hack – многопользовательская игра – симулятор хакера. Вы играете за хакера с полной свободой действий в обширной сети процедурно генерируемых компьютеров.
Hardware_Engineering
Hack 'n' Slash
Кажется Hack 'n' Slash забыли, там часть игрового процесса это «взлом» самой игры — изменение параметров игровых объектов, их логики и т.п.
Space Engineers
Добавлю Space Engineers, игра песочница выживалка в космосе. Сама игра не требует программирования, но можно программировать на C#. От простых вещей вроде автоуровня и солнечных панелей следящих за солнцем до очень крутыч штук, вроде фрезера, разнообразных ботов, систем наведения пушек, как зенитных ближнего радиуса так и дальнобойных наземных гаубиц.
From the Depth
The Deadlock Empire
Еще была хардкорная игра про параллельное программирование. Где надо было завести параллельно исполняемый код в состояние ошибки. Только название вспомнить не могу.
ВСПОМНИЛ. The Deadlock Empire. И да, она реальнэ хардкор, только для «настоящих программистов»
Stationeers
Раз уж такое дело, порекомендую игру Stationeers. Хардкорная выживач-песочница на других планетах (Марс, Луна и другие планеты), в которой ты пытаешься построить базу и выжить, обильно всё автоматизируя — слежение солнечных панелей за солнцем (в зависимости от планеты и её расположении относительно солнца нужны коррекции), смешивание газов в различных пропорциях и поддержание нужной температуры для выращивания растений и т.д.
Очень увлекательно, и испытываешь вплеск радости, когда у тебя НАКОНЕЦ-ТО что-то получилось сделать )
Stationeers — очень сложная и подробная песочница-выживалка в основном на планетах и космосе. Программирование на MIPS (ассемблерный язык). Можно играть и без него, но с ним можно настраивать циркуляцию атмосферы на базе, ее температуру, давление, объем, состав, работу конвееров/печей для создания сплавов, или ферм для выращивания всякого, вращение солнечных панелей, и т.д.
Hacker Evolution
Logic World
Не давно вышла store.steampowered.com/app/1054340/Logic_World. К сожалению пока про неё ничего написать не могу так как залип в Turing Complete. Но по скринам и одному запуску могу сказать что похожа на режим песочницы в Turing Complete.
Ретро
Soldier of the Future
Игра на ZX Spectrum, 1996 год, по ссылке вариант для онлайна.
Snake Battle
Ссылка не на игру, а на Википедию, игра 1992 года под MS-DOS.
The Incredible Machine
Ссылка на видео по игре, т.к. это тоже старичок 1992 года.
Robot Odyssey
Заслуженного прадедушку можно еще добавить, вишенку на торте:
ru.wikipedia.org/wiki/Robot_Odyssey
habr.com/ru/post/210334
Мой канал в Telegram с находками про разработку игр, историю игр и геймдизайн: GameDevils.
Комментарии (47)
DanilinS
14.01.2022 18:40+1Забыли - Satisfactory. Хотя можно обьеденить с Factorio
Asya_Dyu Автор
14.01.2022 18:49Окей, спасибо.
panteleymonov
14.01.2022 18:52+1Оxygen not included тудаже
Hait
14.01.2022 20:27oxygen имеет очень много читерских механик. А некоторые из старых техник сильно проигрывают новым
maksir
15.01.2022 20:37+1мне понравилась dyson sphere program, попроще чем факторио, но более приятная и красивая
yurec_bond
14.01.2022 18:43+1Еще есть https://www.codingame.com/start
Asya_Dyu Автор
14.01.2022 18:48Хорошая штука, таки в первой части она у меня прям первая в списке: 15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли
CiceJis
14.01.2022 18:46+1Остановите меня
Не-а! :)
Раз уж упоминаете Hacker Evolution, имхо, нельзя обижать Uplink.
Есть ещё похожая по духу на MHRD Digital Logic Design (The Game) - такое же суровое структурное описание различных цифровых схем по ТЗ и прогон тестов.
Asya_Dyu Автор
14.01.2022 18:50+2Помилуйте :)
Обновлю подборку через сутки. Но обязательно обновлю. И добавлю.
Спасибо большое.
pvvv
14.01.2022 19:27+4Остановите меня
у zachtronics ещё была
KOHCTPYKTOP: Engineer of the People
как nand, только вместо принципиальных логических схем - рисование p/n в кремнии
leshabirukov
16.01.2022 18:35При игре в KOHCTPYKTOP обещали сюрприз в конце, я всё ждал что-то типа "поздравляем, вы в реале бесплатно оптимизировали физдизайн для нашей коммерческой разработки". Естественно нет, но было бы прикольно, если бы кто-то из разработчиков подобных игр ухитрился бы так монетизироваться.
dfgwer
14.01.2022 19:33+4Авторская орфография сохранена (с)
Я просто писал коммент
А вы её в статью
Ну да ладно
Только
Неудобно как-то
А еще, вы расширили тему статьи, добавив игры радующие умный мозг
В качестве наказания, я добавлю вам SineRider, игру про графики. Здесь вам нужно написать уравнение графика вида y=f(x,t), который станет горным склоном для покатушек на санках. Отличный повод вспомнить как выглядели формулы разнообразных парабол и поэксперементировать, что будет, если в формуле зависимость от времени.Asya_Dyu Автор
14.01.2022 20:00+1Не обижайтесь. Душевно же написали :)
И спасибо за еще одно дополнение. Позже внесу его.
forthuser
14.01.2022 20:10+1Grobots
is a real-time strategy programming game
P.S. Не игра, но проект фантазийного Форт ретро-компьютера (программа):
256x192, 16цветов, звук с некоторым количеством игр и демо, программируемый на Ficl (Форт). Вдохновлённый Lambda/8, Jupiter ACE. Retro-40include tetris.fs
tetris
ShadowTheAge
14.01.2022 21:24+1есть еще Manufactoria 2022 — мне ок зашла, слегка похоже на классику Spacechem и иже с ними
DeepFakescovery
15.01.2022 17:29ну если есть Space Engineers, то и должна быть Dual Universe - там тоже программирование на Lua и постройка своих кораблей и построек на воксельном движке
Temakan
15.01.2022 20:38Году в 2006 как раз в школе появилась "Заработало!". Мы бросили все наши герои и варкрафты и ринулись проходить уровни кампании (там есть над чем подумать) и просто строить свои машины Голдберга. Настоятельно рекомендую игру детям, особенно если вы не усердствуете в прививании им скорейшей любви к программированию и робототехнике. До сих пор в голове играет музыка из этой игры - неожиданно качественно написана.
Asya_Dyu Автор
15.01.2022 20:44Эх, в чём-чём, а в музыке герои точно не уступают :)
Аж захотелось запустить.
tbysky
15.01.2022 20:39+1Я удивлен что в вашем списке нет такой замечательной игры как robocode. В ней надо запрограммировать бота танка и соревноваться с другими. Благодаря этой игре я стал учить java ибо именно на этом языке пишутся программы для бота.
Bhudh
17.01.2022 03:12Если уж танчики, то тогда и Robot Battle от GarageGames (о которой сама компания уже забыла и на сайте она не представлена).
Это игра для программистов-перфекционистов, так как Robot Battle scripting language (RSL) содержит функций и системных переменных на все случаижизниигры, более сотни каждых. И для обучения событийно-ориентированному программированию прекрасно подойдёт.
Очень странно, что в списке на GitHub её нет, раз уж она даже в Википедию попала.
По СОПу, кстати, можно вспомнить и Linden scripting language (LSL) из Second Life, но он для игры уже не обязателен, хоть и полезен.
CaptainCrocus
15.01.2022 21:53Заслуженного прадедушку можно еще добавить, вишенку на торте:
https://ru.wikipedia.org/wiki/Robot_Odyssey
https://habr.com/ru/post/210334/
PNSpasskiy
16.01.2022 13:36Factorio и иже с ней, скорее не про программирование, хотя при желании можно много чего навертеть, а про архитектуру приложения.
Многие игры, особенно из первой подборки, из-за своих ограничений вызывают острое желание пойти и покодить на "нормальном" языке программирования. И это думаю в целом наверное не плохо.
Tsimur_S
16.01.2022 18:46+1Можно еще упомянуть ru.wikipedia.org/wiki/Robocode, хотя на 2022 год игра(вернее комьюнити) находится уже в состоянии комы но запустить ее можно и сейчас.
anttv
17.01.2022 07:38-1Open Transport Tycoon Deluxe (OpenTTD) - там вполне себе логические задачи по прокладке ж/д маршрутов, программированию логики релейных систем , оптимизации развязок
gregoryawesoman
17.01.2022 12:41вот тут есть нечто схожее с теми концепциями, которые траслируются в постах)
https://store.steampowered.com/app/655780/Project_5_Sightseer/
автоматизация, добыча, производство, цепочки производств (хоть и не такие длинные).
оффтоп: еще тут прикольна симуляция тем, что если использовать не экологические источники энергии, или не заниматься утилизацией CO/CO2, выработонного в процессе сжигания всякого - можно нормально так загрязнить атмосферу)
ivan1net
17.01.2022 13:21есть ещё mindustry, это похоже на фокторио, но там есть блоки для программирования, с помощью которых можно взаимодействовать со всем игровым миром
Asya_Dyu Автор
17.01.2022 13:25Так уже есть же (ее в комментах под 15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли посоветовали):
vakhramov
Хм...любопытно, что нет, к примеру, nord modular, почему-то сразу signal flow у него вспомнилось. Или Buzz tracker, или это у меня просто такая альтернатива подобным вышеописанным играм была...
Программисты обычно любят музыку, будущие программисты, вероятно, тоже. А тут и результат можно услышать. То есть результат похожих игр гораздо функциональнее.
Asya_Dyu Автор
Действительно нет, но я включала только игры из комментариев к подборке 15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли. Никогда не поздно исправить :)
Можете ссылки на них дать? Я закину в подборку при апдейте.