После первой и второй публикации на Reddit решил собрать оба этих списка воедино, перевести на великий и могучий, немного дополнить и сопроводить отсебятиной^W важнейшими комментариями.
Введение
За время ведения кураторской группы Games 4 Programmers в Steam, которую я частенько пополняю новыми обзорами, начал подмечать закономерности в играх рассчитанных на программистов.
В результате эти наблюдения превратились в систематизированную классификацию, которую я использую, чтобы точнее определить суть указанных игр, а также предложить аналогичные варианты.
Таким образом, игры о программировании обычно можно условно разделить на две основные группы.
- Игры с акцентом на написание кода: В этой группе игры требуют от игрока решения поставленной задачи с учетом особенностей синтаксиса языка программирования. Процесс взаимодействия происходит в основном с помощью клавиатуры.
- Игры с визуальным программированием: В этой группе игровой процесс происходит с помощью мыши, через манипуляцию с объектами, символизирующими логические операторы или действия.
Конечно же существуют игры в которых совмещаются эти два подхода, но не скажу что это прям очень частое явление, скорее исключения из правил.
Поджанры
Ниже представлены поджанры и подборки игр для каждой категории:
- Алгоритмизация
- Схемотехника
- Кодирование (coding)
- Симуляторы
- Интерактивные учебники
Алгоритмизация
Подборка игр в которых основной упор идёт на создание алгоритмов при помощи примитивов и блок-схем, так же их отладку.
- Minecraft - это классическая игра в жанре sandbox, в которой игроки могут строить и исследовать бесконечный мир, используя различные ресурсы и материалы. С помощью возможности создавать свои собственные моды и использовать готовые модификации, Minecraft открывает для игроков огромный потенциал для экспериментов и творчества. Многие любители Minecraft используют эту игру для развития своих навыков в программировании и создания собственных проектов.
- Aivolution - это игра для детей, которые интересуются искусственным интеллектом. В игре нужно создавать и улучшать своих роботов, а затем наблюдать, как они взаимодействуют в искусственной жизни. Игра знакомит детей с основами программирования и позволяет им легко и интересно изучать концепции искусственного интеллекта.
- while True: learn() является классической головоломкой в стиле визуального программирования, выполненной на высоком уровне качества и в сеттинге Data Science. В ней игроки должны решать задачи по обработке данных, применяя навыки программирования, искусственного интеллекта и машинного обучения. Благодаря глубокой проработке геймплея и интересным головоломкам, данная игра настоятельно рекомендуется для всех, кто интересуется Data Science и желает прокачать свои навыки программирования.
- Scrap Mechanic - это игра, в которой вы можете создавать различные механизмы, используя элементы конструктора. С помощью элементов логического переключения и программирования можно создавать довольно сложные механизмы, такие как автоматические двери, грузоподъемники и т.д. Кроме того, с добавлением режима выживания в игру, появилась возможность строить свою базу и защищаться от врагов. В целом, Scrap Mechanic является очень продвинутым конструктором механизмов с элементами логики и программирования.
- Trailmakers - это игра, в которой можно создавать транспортные средства, объединяя элементы игр Besiege и Robocraft. Игрокам предоставляется возможность проектировать и создавать свои собственные транспортные средства, используя широкий диапазон блоков, от основных кубов и колес до более продвинутых деталей, таких как двигатели и оружие. Кроме конструирования транспорта, Trailmakers также предлагает множество логических элементов, которые могут быть использованы для программирования и управления вашими созданиями, что делает ее игрой в метапрограммирование.
- World of Contraptions - это игра, в которой вы можете построить различные транспортные средства, используя механические детали и элементы управления, и затем протестировать их на различных испытаниях и миссиях. Игра предоставляет отличную возможность для профессиональных конструкторов и технических специалистов проявить свой талант в игровой среде.
- В игре Besiege вы играете в сеттинге средневековья и создаете различные машины для выполнения различных заданий. Игра является песочницей, что означает, что у вас есть свобода в создании и тестировании своих машин, а также возможность делиться своими творениями с другими игроками через Steam Workshop. Графика игры также хороша, особенно учитывая возможность создания многих деталей и элементов для ваших машин.
- Instruments of Destruction представляет собой песочницу-конструктор техники, которая позволяет игрокам создавать невероятные машины с продвинутой физикой разрушений. В игре вам предстоит разрушать здания и выполнять разнообразные задания, используя специально разработанные машины. Игрокам доступен широкий ассортимент блоков и инструментов, которые позволяют создавать уникальные конструкции, которые способны справиться с любой задачей. Особенности игры включают в себя продвинутую физику разрушений, возможность создавать машины для выполнения конкретных задач, а также множество различных миссий, которые станут настоящим вызовом для любого игрока.
- Space Engineers - первоклассная игра-песочница в космической тематике. Она позволяет игрокам строить свои собственные корабли, станции и другие объекты, а также исследовать глубины космоса в режиме выживания. Одним словом, Space Engineers - это настоящий космический опыт, который обязательно стоит попробовать.
- Sketchbots - небольшая игра о создании алгоритмов поведения роботов с необычным стилем графики, напоминающим рисунки в блокноте. Этот дизайн напомнил мне рекламу из времен, когда я работал сетевым инженером в одном небольшом ростовском интернет-провайдере.
- Human Resource Machine - это головоломка, в которой вам предстоит решать различные задачи, используя базовые элементы программирования. Игра поможет развить алгоритмическое мышление и познакомит с основами программирования на простом и доступном языке.
- 7 Billion Humans является продолжением популярной игры Human Resource Machine. Эта головоломка также основана на принципах алгоритмического программирования, но предлагает более сложные задачи и интересный сюжет. Получите две игры за одну и углубитесь в мир программирования с 7 Billion Humans.
- Selfless Heroes - почти буквальная копия игры Human Resource Machine, но в фэнтезийной обстановке про рыцарей, которые нуждаются в помощи в поисках своего пути. Начальные головоломки простые, но потом...
- Algo Bot - это веселая и обучающая головоломка, в которой вы будете управлять роботом с помощью алгоритмических команд. Разработайте свои навыки программирования, решая сложные задачи на разных уровнях. Идеально подходит для тех, кто любит алгоритмические задачи и хочет улучшить свои навыки программирования.
- В игре Algorithm вам предстоит помочь роботу, похожему на пылесос Roomba, добраться до финишной черты. Для этого нужно устанавливать контрольные точки и затем вручную управлять скоростью движения.
- MOLEK-SYNTEZ - это игра в жанре программирования, но на этот раз в научно-исследовательской лаборатории, где вы будете создавать молекулы из других молекул. Вам нужно будет использовать различные инструменты и реактивы, чтобы создать определенные молекулы с заданными химическими свойствами. Вы должны будете написать программу, которая автоматически будет управлять реакторами и инструментами, чтобы создать молекулы. Эта игра считается одной из самых сложных в своем жанре, но она также предлагает множество вариантов решения для каждой задачи, что делает ее очень увлекательной и уникальной.
- Opus Magnum - очень любопытная игра в алхимической лаборатории. В ней вам нужно написать программу последовательности действий, необходимых для создания химических соединений. Очень похожа на игру MOLEK-SYNTEZ.
- Xemo®: Robot Simulation - это простая игра о программировании ходячих роботов. Углы вращения, соединения, таймеры - все это можно настроить для решения задач. К сожалению, нельзя создавать своих собственных роботов.
- Prime Mover - это головоломка в стиле Zachtronics, где вам предстоит решать задачи с максимальной оптимизацией для достижения лучшего результата.
Схемотехника
Игры, в которых игроки разрабатывают логические схемы или электрические цепи, используя математические, физические, и логические принципы.
- Turing Complete - абсолютно потрясающая игра, в которой вам сначала придется изобрести логические элементы, затем использовать их для создания памяти и процессора. Но это еще не все - после этого вам предстоит создать свой собственный язык программирования и написать игру на нем! Это уникальное предложение для любителей интеллектуальных развлечений и программистов, которые хотят погрузиться в мир создания собственных вычислительных систем и языков.
- Plasma - это идеальное сочетание игры о конструировании механизмов/зданий и игры о программировании. Очень мирная и медитативная игра для тех, кто любит создавать и кодировать.
- Logic World - это отличная песочница для экспериментов с булевой логикой. Если вы представите игру, в которой были бы использованы только логические элементы из Minecraft, то это была бы Logic World. Игра поддерживает Workshop, что позволяет делиться своими творениями с другими игроками.
- В LogicBots вы строите роботов, пишете программы для них и проходите через лабиринты, решая различные задачи.
- Virtual Circuit Board - это игра, которая предлагает опыт, похожий на Turing Complete, но с большей свободой для игроков! Вам предоставляется виртуальная платформа, на которой можно проектировать и создавать свои собственные электронные схемы и логические элементы. Эта игра предлагает более открытый мир, в котором вы можете разгуляться с вашими инженерными способностями и творческим подходом к решению сложных задач.
- Silicon Zeroes - это отличный симулятор разработки аппаратных средств. Задача здесь проста: преобразовать сигнал таким образом, чтобы решить головоломку. В игре вам предстоит проектировать схемы и устройства с использованием различных логических элементов, таких как И, ИЛИ, НЕ, XOR и многих других.
Кодирование (coding)
Игры, в которых акцент на написании кода с учетом особенностей синтаксиса языка, встроенного в игру.
- Shenzhen I/O предлагает игрокам погрузиться в мир схемотехники и ассемблера. Решайте задачи, связанные с памятью системы и количеством циклов, создавая и оптимизируя электронные схемы.
- TIS-100 - это уникальный симулятор ассемблера, где игрокам предстоит оптимизировать код, чтобы выполнить поставленные задачи. Отличная игра для любителей схемотехники и программирования на низком уровне.
- Screeps: World - это игра, в которой вам нужно программировать поведение своих миньонов на игровом поле. Главная задача - написать искусственный интеллект, который адекватно реагирует на различные ситуации, например, на добычу ресурсов или битвы.
- Comet 64 - это потрясающая головоломка о программировании в стиле ретро-компьютеров. Вам предстоит писать решения вручную, оптимизировать их для быстродействия и/или компактности.
- Copy Editor: A RegEx Puzzle - представьте себе игру, в которой вам нужно решать головоломки с помощью регулярных выражений.
- A=B - данная игра немного похожа на Copy Editor, основная задача заключается в трансформации текста в соответствии с описанными правилами, и в каждом испытании у вас есть несколько разных способов это сделать.
- Marvellous Inc. предлагает коллекцию сложных задач по программированию, которые помогут вам научиться полезным трюкам и оптимизации кода.
- Robo Instructus представляет собой игру, которая обучает основам программирования наиболее очевидным и простым способом. Она знакомит вас с циклами, логическими ветвлениями, булевой логикой и многим другим на реальных примерах.
- Gladiabots - AI Combat Arena - это забавный проект, объединяющий идеи обучения программированию для самых маленьких (напоминает игру Baby Roo для MS-DOS) и БОЕВЫХ РОБОТОВ! Создавайте своих собственных роботов и учите их сражаться в арене с помощью программирования.
- Super Markup Man - это простая головоломка, в которой вам предстоит решать задачи, связанные с написанием кода HTML.
- Code World - это головоломка о программировании на языке, созданном специально для этой игры. Это не лучший вариант для изучения кодирования, но отличная игра, чтобы скоротать пару вечеров.
- tanxy - представьте себе, что вам необходимо программировать поведение танка на поле боя с использованием JavaScript! Tanxy предлагает уникальный опыт, где вам нужно разработать стратегии и алгоритмы для вашего танка, чтобы добиться успеха в сражениях. Теперь ваши навыки программирования могут быть применены не только для решения задач, но и для мастерства военной тактики на виртуальном поле боя.
- MHRD - продвинутая и очень минималистичная головоломка про разработку программного обеспечения, фиктивный язык визуально напоминает Python и C++, большую часть времени вы будете читать и думать, как в реальной жизни :)
- Move Code Lines - представьте себе, что у вас есть забагованный код, который нужно исправить или оптимизировать, чтобы он работал лучше. Так вот, эта игра как раз об этом.
- EXAPUNKS - выдающаяся игра, объединяющая черты GLADIABOTS и TIS-100. Язык программирования, встроенный в игру, слишком отличается от Assembler поэто без RTFM играть трудновато.
- Functional – это интересная коллекция головоломок, связанных с программированием, выполненных в очень минималистическом дизайне. Геймплей напоминает немного Comet 64 и TIS-100.
- Adventure Land - The Code MMORPG - это фэнтезийная онлайн-игра, в которой можно написать код ИИ для своих персонажей и создать ботов, которые будут играть за вас. Это необычная возможность в мире онлайн-игр, которая позволяет игрокам с большим опытом программирования использовать свои знания в игре.
Симуляторы
Игры, имитирующие процесс работы в определенной сфере или с определенными технологиями.
- Factorio - эта игра про конвейеры ради конвейеров с элементами выживания в пиксельной графике, который сейчас стал очень популярным. В игре есть элементы булевой логики, так что вам будет, где повозиться!
- Uplink - это игра, которая вызывает ностальгию! В ней вы станете своего рода хакером (скорее даже скрипт-киди) и получите работу в международной корпорации (предоставляющей специальные услуги), готовьтесь чистить логи, брутофорсить пароли, грабить банки и многое другое.
- Learning Factory - это игра, созданная разработчиками while True: learn(), известной своей игрой обучающей основам Machine Learning. В игре вы строите фабрику, управляете роботами и автоматическими механизмами, производите различные товары и оптимизируете процесс производства.
- Multiply Factory - это замечательная головоломка, которая по своей логике слегка напоминает Factorio, но сам геймплей гораздо проще. Здесь вам также необходимо строить конвейеры, манипуляторы, фабрики и так далее.
- Dyson Sphere Program - песочная стратегия на галактическом уровне! Стилистически похожа на Planetary Annihilation, но геймплей больше напоминает Factorio. Концовка матчится с названием игры.
- OpenTTD - Если вы любите логистику управления поездами, машинами, самолетами, пароходами, то эта игра сможет увлечь вас на много часов. Рекомендуется для людей старше 20 лет. Много модов! Живой мультиплеер!
- Mindustry - эта игра поднимает на новый уровень бриллиантовую идею бесконечных конвейеров, предложенную игрой Factorio, но добавляет намного больше тактических и боевых элементов.»
- Infinifactory - данная игра похожа на Factorio от первого лица, логическая головоломка о конвейерах и производстве. Рекомендовано для людей, которые интересуются сложными играми, а также минимальным сюжетом и максимальным геймплеем»
- Hardspace: Shipbreaker - в данной игре вы играете в роли сборщика мусора, программистам на Java данная игра очень понравится.
- Satisfactory - эта игра о добыче и переработке ресурсов, строительстве баз и конвейерах, есть враждебная фауна и многое другое. И лучшая часть заключается в том, что благодаря Steam вы можете играть на Linux!
- Kerbal Space Program - игра-песочница про исследования космоса и инженерии с милыми зелеными существами. Если вы когда-либо мечтали о том, чтобы построить ракету, то эта игра для вас (к сожалению вторая часть данной игры так никогда и не будет выпущена в свет).
- Operation Deep Magic: Cryptanalysis - это игра на тему криптографии, которая представляет собой очень сложный головоломный квест. В игре нужно решать задачи, связанные с шифрованием и расшифровкой сообщений, использовать различные техники и методы криптографии. Игрокам предстоит использовать свои знания и умения в математике, логике и анализе данных, чтобы пройти через все уровни игры.
Интерактивные учебники
Образовательный материал, представленный в игровой форме для обучения.
- Learn Programming: Python - Remake - это не совсем игра, скорее, интерактивный учебник для тех, кто хочет изучить язык программирования Python. В этом учебнике есть краткие лекции, задачи для решения и множество примеров, которые помогут понять основы языка и начать программировать с помощью Python. Если вы хотите научиться программированию на Python, то это рекомендуемый вариант для начала.
- Codecademy – это онлайн-платформа для обучения программированию, которая предлагает интерактивные уроки для различных языков программирования, включая Python, JavaScript, Ruby и др. Платформа предоставляет возможность новичкам изучать программирование на практике и решать задачи, используя реальный код.
- SoloLearn - это мобильное приложение для обучения программированию, которое предлагает бесплатные курсы по различным языкам программирования, включая Python, Java, C++, JavaScript и др. Приложение позволяет изучать языки программирования на своем телефоне в любое время и в любом месте.
- Code.org - это образовательная организация, которая нацелена на распространение знаний об информатике среди школьников и студентов. Организация предоставляет бесплатные уроки, онлайн-курсы и игры, которые помогают изучать основы программирования и развивать навыки решения задач.
- Codingame - это игровая платформа для программистов, на которой они могут решать задачи, используя различные языки программирования, включая Python, Java, C++, JavaScript и др. Задачи на платформе Codingame могут быть как простыми, так и сложными, и позволяют программистам проверить свои навыки и улучшить их, решая реальные проблемы.
Послесловие
Собирая все эти игры в одной статье, я хотел поделиться своими знаниями и опытом с сообществом программистов и тех, кто интересуется программированием. Эти игры являются отличным способом улучшить свои навыки, научиться новым концепциям и просто весело провести время, погружаясь в мир кода и технологий.
Если вам интересны подобные игры, не забудьте подписаться на мои обзоры на кураторской странице в Steam, а также подписаться на Telegram канал.
Желаю всем удачи и приятного времяпровождения за программированием, обучением и играми!