Найти тему
Pavel Zloi

Игры для программистов

Оглавление

После первой и второй публикации на Reddit решил собрать оба этих списка воедино, перевести на великий и могучий, немного дополнить и сопроводить отсебятиной^W важнейшими комментариями.

Логотип проекта Games For Programmers
Логотип проекта Games For Programmers

Введение

За время ведения кураторской группы Games 4 Programmers в Steam, которую я частенько пополняю новыми обзорами, начал подмечать закономерности в играх рассчитанных на программистов.

В результате эти наблюдения превратились в систематизированную классификацию, которую я использую, чтобы точнее определить суть указанных игр, а также предложить аналогичные варианты.

Таким образом, игры о программировании обычно можно условно разделить на две основные группы.

  1. Игры с акцентом на написание кода: В этой группе игры требуют от игрока решения поставленной задачи с учетом особенностей синтаксиса языка программирования. Процесс взаимодействия происходит в основном с помощью клавиатуры.
  2. Игры с визуальным программированием: В этой группе игровой процесс происходит с помощью мыши, через манипуляцию с объектами, символизирующими логические операторы или действия.

Конечно же существуют игры в которых совмещаются эти два подхода, но не скажу что это прям очень частое явление, скорее исключения из правил.

Поджанры

Ниже представлены поджанры и подборки игр для каждой категории:

  • Алгоритмизация
  • Схемотехника
  • Кодирование (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 канал.

Желаю всем удачи и приятного времяпровождения за программированием, обучением и играми!