Ещё 20+ игр, которые прокачивают логику, алгоритмы и радуют умный мозг
По следам комментариев на Habr.
Изначально первую часть 15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли я публиковала на Хабре. Там столько классных ссылок в комментарии накидали, что я чуток опухла, но сделала отдельную подборку, по горячим следам. А потом ещё накидали. И ещё. Так что вот версия с апдейтами.
Еще я веду канал в Telegram: GameDEVils, делюсь там клевыми материалами (про геймдизайн, разработку и историю игр).
(Врезки в тексте - цитаты отзывов пользователей с Хабра, которые порекомендовали игру).
Игру выпустили в октябре прошлого года, пока она в раннем доступе, но уже около 600 положительных отзывов на Steam.
Практически с нуля (начиная с проводов и простейших бинарных блоков) строим процессор и программируем его. Вначале логические блоки, далее сумматоры-счетчики, потом компараторы, мультиплексоры-демультиплексоры, регистры, АЛУ… процессор… свой ассемблер и программируем его на решение простых задач. Визуально в теплом ламповом стиле 80-х (шины данных, бегающие по ним байты-биты и т.п.). Помимо собственно конструирования блоков и их программирования на некоторых задачах существуют ограничения на количество элементов или «площадь кристалла» для размещения схемы.
Бесплатная игра в браузере, где вы собираете компьютер, начиная с базовых компонентов.
На каждом уровне нужно создать компонент, который ведет себя в соответствии со спецификацией. Затем этот компонент можно использовать в качестве строительного блока на следующем уровне.
Игра не требует каких-либо предварительных знаний о компьютерной архитектуре или программном обеспечении и не требует математических навыков, кроме сложения и вычитания.
Два обучающих курса («Nand2Tetris Part I» и «Nand2Tetris Part II») от предыдущего проекта, оба доступны бесплатно на платформе Coursera.
Курсы «Nand to Tetris» преподаются более чем в 400 университетах, средних школах и учебных лагерях. Студенты, которые их проходят, варьируются от старшеклассников до аспирантов и инженеров Google.
Станьте инженером по оборудованию, создайте свой собственный процессор по технологии 80-х годов, пишите свои проекты на языке аппаратного проектирования MHRD. Короче, по картинке видно, что игра для дерзких парней, которым плевать на графику.
MHRD — отличная игрушка, поддержу (эх, будет ли когда-то продолжение, намёк на которое, помнится, где-то там в титрах мелькал?) Печалит только, что некоторая часть заданий с последовательностной логикой подвержена хакам, основанным на несовершенстве тестов. Поэтому иногда «лучшие» результаты других игроков, в которые игра непременно ткнет носом после выполнения задания, на практике честным путём не могут быть достигнуты.
Можно создавать печатные платы, чтобы решать задания головоломки. Как в играх от Zachtronics, есть сравнение результатов с друзьями.
преобразование входа в выход, похожа на Opus Magnum
Инди-игра, где вы программируете робота на вымышленном языке программирования. Цель каждого уровня — довести робота до выхода, само собой, постепенно выполнить задание становится все сложнее.
Забавный момент — уровни состоят из треугольных тайлов, а не квадратных как во многих других играх.
На Хабре ее советовали тем, кто про алгоритмы на JavaScript.
В игра есть сюжетная линия в сеттинге 60-х в Кремниевой долине. В этой головоломке можно создавать электронику из множества простых компонентов, таких как сумматоры, защелки и мультиплексоры. Но на Steam есть критические отзывы, которые ругают игру за игрушечность и технические неточности.
Визуальная версия MHRD в сеттинге постапокалипсиса. 40 головоломок, которые игрок проходит за техника. Техник получает задание восстанавливая жизнь на одной из старых ферм и для этого должен перебрать всю нерабочую технику и восстановить ее. В начале игры есть обучалка. В отличии от последовательного MHRD, в Signal State нет возможности на следующих уровнях использовать свои компоненты из предыдущих.
Ностальгические нотки: игра для детей от 10 лет, для обучения программированию. 3D стратегия в реальном времени, где вы программируете своих юнитов (ботов) на языке CBOT, который похож на C++ и Java. По сюжету игры, вы должны найти новую планету для жизни и выживания.
Прочитав заголовок, сразу вспомнил игру, с которой еще в школьные годы начиналось мое становление как разработчика — Colobot.
Сколько времени я там провел за экспериментами и программированием ботов на почти-С++, даже и не знаю.
С тех пор она еще и в open-source перешла.
Вышла буквально месяц назад и уже собрала на Steam 1 500+ крайне-положительных отзывов. Это первый публичный проект автора.
Я просто оставлю этот отзыв со Steam:
Отличный способ выучить, как пользоваться терминалом и начать писать первые скрипты на JavaScript (точнее на его внутри-игровом аналоге); если вы пробовали пользоваться такими сервисами как codewars или leetcode, но долго там не задерживались, то это будет отличная альтернатива в стиле старых фильмов про хакеров.
Factorio — это игра, где можно проектировать, строить и обслуживать фабрики. Можно создавать свои собственные карты, писать моды или играть через мультиплеер.
Как подсказывает Хабр, игра не совсем про алгоритмы:
Factorio — это все же не игра про алгоритмы, а игра где можно прикрутить алгоритмы почти ко всему. Но можно и не прикручивать.
Скорее придётся. Без нормальной автоматизации ракету сложно построить :)
И плюс постоянно возникает «так, почему у меня этого нет, ах, вон того не хватает, т.к. я теперь на вот это трачу», что довольно близко к программированию. Параллелизм, балансировка, кэш, дедлоки — всё на месте :)
Как подсказали на Хабре, эта игра о машинном обучении и нейронных сетях, но про комбинаторику. Специалиста по машинному обучению она из вас конечно не сделает, но заинтересовать темой может.
А еще в этой игре есть кот, он прекрасный программист, но не говорит по-человечески. И игрок должен освоить машинное обучение, чтобы создать систему-переводчик с кошачьего на человеческий.
Больше 5 000 отзывов на Steam с оценкой игры на 10 котов-программистов из 10.
BOX-256 — это 8-битный фэнтезийный компьютер с 256 байтами памяти, 16-цветным дисплеем 16x16. Вот мануал, как пользоваться этим компьютером.
Игра, в которой нужно на примитивном ассемблере рисовать картинки на дисплее. Хотя, это скорее не развлекающая игра, а обучающая: хорошо и довольно точно показывает как на самом деле ЦП выполняет инструкции. Да и в целом наглядно показывается что такое инструкции и память.
ММО стратегия, где вы программируете поведение своих «юнитов»
«Screeps» это «scripting creeps». Хоть и есть обучалка, игра все таки для людей с навыками программирования. В отличие от других игр, в «Screeps» не нужно постоянно играть за крипов, они могут реагировать на события без прямого участия игрока, при условии, что их правильно запрограммировали.
Своего рода Colobot на хардкор-уровне. Как пишут в рецензиях на Steam:
Твой шеф будет думать что ты кодишь нужные вещи.
Программируете роботов и воюете
В игре 4 класса ботов из которых можно набрать команду из 4 юнитов. Боты умеют ходить, стрелять, распознавать свой чужой, тащить ресурс, но умеют это в том порядке, в котором игрок прописал это в редакторе искусственного интеллекта. В игре есть компания и мультиплеер, разбитый на лиги.
Игра для помощи новичкам в Git, которая визуализирует внутренние структуры репозиториев в режиме реального времени. Игрок может сразу увидеть результаты своих действий.
В игре есть интерфейс игральных карт, которые помогают запоминать недавно введенные команды Git. Бесплатно и опенсорс.
Игра со спартанским интерфейсом, где надо создать логическую схему для робота так, чтобы он смог пройти уровень. Играть можно в браузере бесплатно по ссылке.
shapez.io — игра, похожая на Factorio, в которой можно строить фабрики по автоматизированному производству геометрических фигур. В игре нет лора, вселенной, просто геометрические фигуры, у которых есть очевидные свойства: форма и цвет. Есть бесплатная демка, чтобы решить, а надо ли оно.
Серия игр, основанная на создании машин Голдберга. Это серия из 5 игр с кучей дополнений, в названии год релиза первой игры из серии. Вот тут даже заботливо поддерживают сайт по игре. Игра больше для детей, тоже идет с пометкой ностальгия.
Гибридная песочница 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.
Огромная благодарность всем, каждому, и пусть никто не уйдет обиженным.
Первую часть можно найти тут:
Update
Остановите меня:
Meta-JavaScript приключенческая игра, код на GitHub.
ну если есть Space Engineers, то и должна быть Dual Universe — там тоже программирование на Lua и постройка своих кораблей и построек на воксельном движке
есть еще Manufactoria 2022 — мне ок зашла, слегка похоже на классику Spacechem и иже с ними
Grobotsis a real-time strategy programming game
P.S. Не игра, но проект фантазийного Форт ретро-компьютера (программа):256x192, 16цветов, звук с некоторым количеством игр и демо, программируемый на Ficl (Форт). Вдохновлённый Lambda/8, Jupiter ACE.include tetris.fstetris
я добавлю вам SineRider, игру про графики. Здесь вам нужно написать уравнение графика вида y=f(x,t), который станет горным склоном для покатушек на санках. Отличный повод вспомнить как выглядели формулы разнообразных парабол и поэксперементировать, что будет, если в формуле зависимость от времени.
как nand, только вместо принципиальных логических схем — рисование p/n в кремнии
Веб-версия вроде как склеила ласты из-за смерти Macromedia Flash, но можно найти оффлайн-версию в ZACH-LIKE.
Есть ещё похожая по духу на MHRD Digital Logic Design (The Game) — такое же суровое структурное описание различных цифровых схем по ТЗ и прогон тестов.
Забыли — Satisfactory. Хотя можно объединить с Factorio
мне понравилась dyson sphere program, попроще чем факторио, но более приятная и красивая
Steam [ранний доступ]:
Grey Hack – многопользовательская игра – симулятор хакера. Вы играете за хакера с полной свободой действий в обширной сети процедурно генерируемых компьютеров.
Кажется Hack 'n' Slash забыли, там часть игрового процесса это «взлом» самой игры — изменение параметров игровых объектов, их логики и т.п.
Space Engineers
Добавлю Space Engineers, игра песочница выживалка в космосе. Сама игра не требует программирования, но можно программировать на C#. От простых вещей вроде автоуровня и солнечных панелей следящих за солнцем до очень крутыч штук, вроде фрезера, разнообразных ботов, систем наведения пушек, как зенитных ближнего радиуса так и дальнобойных наземных гаубиц.
Еще была хардкорная игра про параллельное программирование. Где надо было завести параллельно исполняемый код в состояние ошибки. Только название вспомнить не могу.
ВСПОМНИЛ. The Deadlock Empire. И да, она реальнэ хардкор, только для «настоящих программистов»
Раз уж такое дело, порекомендую игру Stationeers. Хардкорная выживач-песочница на других планетах (Марс, Луна и другие планеты), в которой ты пытаешься построить базу и выжить, обильно всё автоматизируя — слежение солнечных панелей за солнцем (в зависимости от планеты и её расположении относительно солнца нужны коррекции), смешивание газов в различных пропорциях и поддержание нужной температуры для выращивания растений и т.д.
Очень увлекательно, и испытываешь вплеск радости, когда у тебя НАКОНЕЦ-ТО что-то получилось сделать )
Stationeers — очень сложная и подробная песочница-выживалка в основном на планетах и космосе. Программирование на MIPS (ассемблерный язык). Можно играть и без него, но с ним можно настраивать циркуляцию атмосферы на базе, ее температуру, давление, объем, состав, работу конвееров/печей для создания сплавов, или ферм для выращивания всякого, вращение солнечных панелей, и т.д.
Не давно вышла store.steampowered.com/app/1054340/Logic_World. К сожалению пока про неё ничего написать не могу так как залип в Turing Complete. Но по скринам и одному запуску могу сказать что похожа на режим песочницы в Turing Complete.
Ретро
Игра на ZX Spectrum, 1996 год, по ссылке вариант для онлайна.
Ссылка не на игру, а на Википедию, игра 1992 года под MS-DOS.
Ссылка на видео по игре, т.к. это тоже старичок 1992 года.
Заслуженного прадедушку можно еще добавить, вишенку на торте:
Мой канал в Telegram с находками про разработку игр, историю игр и геймдизайн: GameDevils.
Первая часть:
Недавние полезняшки:
Статья подготовлена при поддержке Timeweb Cloud.