20 игр, чтобы понять программирование

20 игр, чтобы понять программирование

На телефон и на компьютер
15
Аватар автора

Мария Беликова

подсела на 7 Billion Humans

Страница автора

Основами кода можно овладеть легко и весело — через обучающие игры.

Собрали подборку, которая поможет совместить приятное с полезным. Игры пригодятся не только начинающим программистам — они подойдут и людям с опытом, которые ищут разминку для мозга и любят решать головоломки.

Некоторые игры продаются там, где не принимают российские карты

На этот случай у Т⁠—⁠Ж есть две инструкции:

  1. Как пополнить баланс Apple ID для App Store и iTunes.
  2. Как покупать игры на платформах, которые перестали принимать российские карты.
БРАУЗЕРНАЯ ИГРА

CodeCombat

Кратко: управляем персонажем, самостоятельно записывая код
Языки программирования: Python, JavaScript, CoffeeScript, C++, Lua
Языки локализации: русский, английский и несколько других
Сколько стоит: 80 уровней бесплатно, доступ к 500 другим — 3,99 $ в месяц или 39,6 $ в год. Также в подписку входят языки C++ и Java
Где найти: на сайте игры

Первый уровень с инструкцией по интерфейсу
Первый уровень с инструкцией по интерфейсу

CodeCombat ведет игрока через разные фэнтезийные миры. История начинается в подземелье со скелетами: в первом уровне нужно добраться до самоцвета с помощью базовых команд вроде hero.moveRight. Указания нужно печатать в редакторе в правой части экрана, система подскажет подходящий синтаксис. С развитием истории код и задачи усложняются, например появляются циклы.

Язык программирования можно выбрать перед каждым уровнем, но по умолчанию стоит Python. Игра учит основам грамотного кода и компьютерных наук, поэтому подойдет для детей и подростков — в ней можно заниматься вместе с учителем.

БРАУЗЕРНАЯ ИГРА

Scratch

Кратко: создаем историю, перетаскивая блоки с кодом
Языки программирования: Scratch
Языки локализации: английский, русский и многие другие — всего более 70
Сколько стоит: бесплатно
Где найти: на сайте игры

В игре несколько окон: выбор блоков-команд, визуальный редактор и анимация, но сориентироваться несложно
В игре несколько окон: выбор блоков-команд, визуальный редактор и анимация, но сориентироваться несложно

Детская игра-конструктор, в которой можно создать собственную анимацию. Печатать код не придется, потому что Scratch — визуальный язык программирования. Команды представляют собой интерактивные блоки, которые нужно переставлять, менять в них параметры — и смотреть, что получится. Например, можно заставить котика помяукать и перебежать из одного угла в другой.

Регистрироваться не обязательно, но без этого не удастся сохранить проект. Игру развивает проект Scratch Foundation, связанный с Массачусетским технологическим институтом. Цель создателей — развивать вычислительное мышление и навыки творческого решения задач, поощрять самовыражение.

БРАУЗЕРНАЯ ИГРА

The SQL Murder Mystery

Кратко: расследуем убийство с помощью запросов в базу данных
Языки программирования: SQL
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры

Никаких картинок и анимации — только поле ввода
Никаких картинок и анимации — только поле ввода

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

На следующих этапах предстоит поработать над соединением таблиц, первичным и внешним ключами, подстановочными знаками. Расследование подойдет тем, кто хочет попрактиковаться в SQL, а не научиться ему с нуля.

БРАУЗЕРНАЯ ИГРА

CheckiO

Кратко: исследуем острова и решаем головоломки
Языки программирования: Python, TypeScript
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры

Первый остров на карте
Первый остров на карте

Цель игрока — открыть острова на карте, на каждом будут все более сложные задачи. Чтобы попасть на новую территорию, нужно набрать определенное количество баллов. Поначалу будет много подсказок, но чем дальше заходит игрок, тем меньше будет вводных данных.

По завершении каждой головоломки игроку показывают самое чистое, быстрое и креативное решение. При этом лучше браться за игру, если уже есть базовые знания по программированию.

БРАУЗЕРНАЯ ИГРА

The Deadlock Empire

Кратко: делаем так, чтобы все сломалось
Языки программирования: C#
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры

Раздел по несинхронизированному коду
Раздел по несинхронизированному коду

Цель игры — отточить навыки многопоточного программирования. Но задача не наладить систему, а наоборот, сломать ее. Для этого нужно иметь представление, какие ошибки встречаются в разработке многопоточных приложений. Каждая задача начинается с краткого объяснения того, что предстоит сделать. При наведении курсора на выражение в поле ввода выскакивает подсказка.

Игра больше подойдет тем, кто уже знает разные аспекты C#, хотя новичкам без знаний программирования с помощью документации, возможно, удастся добраться до середины.

БРАУЗЕРНАЯ ИГРА

Cube Composer

Кратко: как кубик Рубика, только с твистом
Языки программирования: алгоритмы
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры

У Cube Composer простой и понятный интерфей — команды нужно перетягивать в окнах в нижней части экрана
У Cube Composer простой и понятный интерфей — команды нужно перетягивать в окнах в нижней части экрана

Суть игры автору подсказало функциональное программирование — в нем объекты преобразуются с помощью математических функций. Так и здесь, задача — расставить команды так, чтобы они изменили цвет или расположение кубиков в соответствии с образцом.

Завершив все миссии, можно попробовать самостоятельно продолжить игру — подробнее на GitHub. Игра больше похожа на пазл, а не учебник, поэтому подойдет любому игроку, который хочет занять время головоломкой.

БРАУЗЕРНАЯ ИГРА

LearnGitBranching

Кратко: учимся работать c git-репозиториями
Языки программирования: нет
Языки локализации: английский, русский и другие
Сколько стоит: бесплатно
Где найти: на сайте игры

Продвинутый уровень: rebase на нескольких ветках
Продвинутый уровень: rebase на нескольких ветках

Git — это система контроля версий, без которой не обойтись ни одному программисту. LearnGitBranching создано как раз для того, чтобы помочь новичкам изучить возможности ветвления в нескучном и красочном формате. Так что это не совсем игра, а скорее интерактивный учебник.

Тренажер разделен на два блока: основы и удаленные репозитории. В первом объясняются базовые понятия и команды вроде ветвления и отмены изменений. Во втором — приемы для совместной работы.

БРАУЗЕРНАЯ ИГРА

Grid Garden

Кратко: поливаем огород с морковкой и защищаем его от сорняков
Языки программирования: CSS
Языки локализации: английский, русский и другие
Сколько стоит: бесплатно
Где найти: на сайте игры

Финальный уровень. Цель — очистить сад от сорняков
Финальный уровень. Цель — очистить сад от сорняков

Игра с приятным дизайном, где нужно удалять сорняки и поливать морковку при помощи языка CSS. Он нужен для описания стиля сайтов — с его помощью можно менять шрифты, заголовки и другие элементы страниц.

В самом начале много теоретических шпаргалок, но чем дальше продвигается игрок, тем меньше будет подсказок перед прохождением: первые 25 задач решаются довольно быстро, а на последних трех можно по-настоящему застрять.

БРАУЗЕРНАЯ ИГРА

CSS Diner

Кратко: выбираем посуду и продукты с помощью кода
Языки программирования: CSS
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры

У игры минималистичный интерфейс
У игры минималистичный интерфейс

Игра с 32 уровнями поможет правильно обращаться к тем или иным элементам в CSS — нужно писать код так, чтобы выбрать правильный объект на столе: яблоко, каждую вторую тарелку и так далее.

По ходу игры сложность заданий увеличивается. Если не понимаете, что делать, нажмите кнопку «Hello, I’m stuck!» — появится подсказка.

БРАУЗЕРНАЯ ИГРА

Elevator Saga

Кратко: пишем алгоритмы для работы лифтов
Языки программирования: JavaScript
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры

Первое задание: перевезти 15 человек за минуту
Первое задание: перевезти 15 человек за минуту

Игра предлагает написать алгоритм движения лифтов. Цель — сделать так, чтобы кабинки перевозили нужное количество людей за определенное время. С каждым уровнем сложность увеличивается: добавляются новые этажи и лифты.

Игра больше подойдет тем, кто знает основы JavaScript. При проблемах в прохождении можно найти советы в разделе «Помощь».

БРАУЗЕРНАЯ ИГРА

RoboZZle

Кратко: программируем ракету и собираем звездочки
Языки программирования: нет
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры, в App Store

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

Игра-головоломка на развитие алгоритмического мышления. От игрока требуется запрограммировать робота так, чтобы он собрал все звездочки на поле. Первые уровни довольно простые, но потом начинается борьба: у игрока появляются дополнительные ограничения, например по цвету клеток.

Уровни отсортированы по популярности, сложности и дате выхода. Кроме того, есть возможность создать собственную головоломку: для этого нужно зарегистрироваться на сайте и решить минимум 40 заданий.

МОБИЛЬНАЯ ИГРА

Human Resource Machine

Кратко: управляем клерком с помощью алгоритмов
Языки программирования: алгоритмическое мышление
Языки локализации: английский, русский
Сколько стоит: 319 ₽ для Android, 449 ₽ для iPad, 360 ₽ для компьютера, 14,99 $ для Nintendo Switch

Игра даже попала в редакционный выбор «Эпстора»
Игра даже попала в редакционный выбор «Эпстора»

Головоломка-симулятор, где нужно составлять алгоритмы. Первое задание — перенести коробки с одной конвейерной ленты на другую при помощи предложенных выражений. Если оно выполнено успешно, персонаж поднимется по карьерной лестнице и перейдет к другим задачам. С каждым уровнем будут появляться новые команды и предметы.

Игра подойдет и для вовлечения детей в программирование, и для тренировки алгоритмического мышления у взрослых.

МОБИЛЬНАЯ ИГРА

7 Billion Humans

Кратко: организуем работу офиса по самым абсурдным условиям
Языки программирования: алгоритмическое мышление
Языки локализации: английский, русский
Сколько стоит: 389 ₽ для Android, 449 ₽ для iPad, 360 ₽ для компьютера, 14,99 $ на Nintendo Switch

Незамысловатый и понятный интерфейс на русском языке. Алгоритмы можно копировать, вставлять, отменять и удалять
Незамысловатый и понятный интерфейс на русском языке. Алгоритмы можно копировать, вставлять, отменять и удалять

Еще одна игра от разработчика Human Resource Machine со схожим дизайном, но немного другими задачами и сюжетом: вас взяли на работу, но начальник — самодур, а его распоряжения порой смертельны.

Задача игрока — с помощью алгоритма управлять рабочими, которые переносят кубы с номерами. Например, в одном из заданий нужно рассортировать блоки в правильном порядке. Задания расположены по уровню сложности: зеленые — это самые простые, а фиолетовые — нормальные, для опытных игроков есть коричневые и красные — трудные и самые сложные.

МОБИЛЬНАЯ ИГРА

while True: learn()

Кратко: играем с котом в машинное обучение
Языки программирования: алгоритмическое мышление
Языки локализации: английский, русский
Сколько стоит: 399 ₽ для Android, 449 ₽ для iOS, 299 ₽ для компьютера, 12,99 $ для Nintendo Switch

Задания открываются по ходу работы. От «Древа заданий» ответвляются дополнительные уровни повышенной сложности
Задания открываются по ходу работы. От «Древа заданий» ответвляются дополнительные уровни повышенной сложности

Симулятор, в котором программист создает переводчик с человеческого языка на кошачий. Вместе с главным героем игрок осваивает азы машинного обучения с помощью нодов — это блоки, которые трансформируют данные.

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

МОБИЛЬНАЯ ИГРА

Swift Playgrounds

Кратко: решаем визуальные головоломки
Языки программирования: Swift
Языки локализации: английский и несколько других европейских и азиатских языков
Сколько стоит: бесплатно в App Store

На этой игровой площадке необходимо написать код и настроить игровую механику Brick Breaker: то есть сделать так, чтобы мяч постепенно уничтожил все кирпичи
На этой игровой площадке необходимо написать код и настроить игровую механику Brick Breaker: то есть сделать так, чтобы мяч постепенно уничтожил все кирпичи

Приложение для Айпадов в игровой форме учит основам языка Swift, на котором можно создавать приложения для устройств Apple.

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

КОМПЬЮТЕРНАЯ ИГРА

Shenzhen I/O

Кратко: примеряем роль инженера-схемотехника
Языки программирования: язык ассемблера
Языки локализации: английский
Сколько стоит: 550 ₽ в «Стиме» и на GOG

Создавайте схемы при помощи микроконтроллеров, памяти, логических элементов
Создавайте схемы при помощи микроконтроллеров, памяти, логических элементов

Симулятор инженера на высокотехнологичном производстве — нужно собирать схемы для разных приборов. В игре есть 40-страничный мануал — справочное руководство по профессии. Оно пригодится уже на первом задании, так что удобно будет его распечатать.

Кодить придется немало, просто думать — еще больше. Поэтому Shenzhen I/O больше подойдет тем, кто знает хотя бы основы программирования. У игры активное сообщество в «Стиме», которое поможет и советом, и решением. А если совсем устали — на определенном этапе откроется доступ к встроенному пасьянсу.

КОМПЬЮТЕРНАЯ ИГРА

Screeps

Кратко: добываем ресурсы и обороняем базу
Языки программирования: JavaScript
Языки локализации: английский
Сколько стоит: полная версия с онлайном — 699 ₽ в «Стиме», тренировочный режим — бесплатно на сайте игры

В игре не так много функций, но с грамотным алгоритмом получится многого достичь
В игре не так много функций, но с грамотным алгоритмом получится многого достичь

Геймплей Screeps строится на скриптах: игроку нужно написать оптимальный алгоритм, чтобы боты добывали ресурсы, развивали производство, торговали с соседними базами или даже атаковали их. Соревновательный момент заключается в том, что другие игроки могут написать скрипт получше.

Более того, код продолжит работать, если выйти из игры и выключить компьютер — повод продумать алгоритм поглубже, чтобы он был как можно эффективнее без присмотра. Но такой вариант доступен только после покупки игры в «Стиме».

КОМПЬЮТЕРНАЯ ИГРА

TIS-100

Кратко: чиним компьютер и запускаем систему
Языки программирования: язык ассемблера
Языки локализации: английский
Сколько стоит: 280 ₽ в «Стиме», 289 ₽ на GOG, 379 ₽ для iPad

Графика примитивная, но стилизация классная
Графика примитивная, но стилизация классная

Цель игрока — переписать поврежденные блоки и починить загадочное устройство TIS-100, чтобы выведать его секреты. Всего в игре 20 головоломок, каждую можно решить, соревнуясь с другими игроками по трем параметрам: минимизировать цикл, инструкции и количество узлов. Если уровней мало, есть песочница, чтобы создать свои.

К игре прилагается руководство с винтажной эстетикой, описывающее внутреннюю работу TIS-100 — его лучше распечатать. В сообществе в «Стиме» опубликован перевод на русский язык. Можно попробовать разобраться в игре и без опыта в программировании, но будет сложно.

КОМПЬЮТЕРНАЯ ИГРА

Exapunks

Кратко: больной хакер взламывает банки, дорожные знаки и собственное тело ради лечения
Языки программирования: язык ассемблера
Языки локализации: английский
Сколько стоит: 710 ₽ «Стиме» и 714 ₽ GOG

Рабочее поле: в центре — визуализация, слева — поле для ввода кода, в самом низу — описание задания и трекер задач
Рабочее поле: в центре — визуализация, слева — поле для ввода кода, в самом низу — описание задания и трекер задач

Игра-головоломка в антураже киберпанка, в которой герой заболевает странной болезнью — он постепенно превращается в электронные чипы. Чтобы выздороветь, нужно дорогое лекарство. А чтобы на него заработать, придется с помощью ботов взламывать компьютерные системы, писать вирусы, уничтожающие файлы, получать доступ к данным банков, фабрик, телевидения. Программирование ботов напоминает ассемблер — игроку доступен набор из базовых команд.

Для прохождения понадобится базовый английский, на нем написан мануал к игре. Он выполнен в духе старых журналов — если распечатать, получится классный сувенир.

КОМПЬЮТЕРНАЯ ИГРА

Else Heart.Break()

Кратко: программируем мир под себя
Языки программирования: несуществующий язык программирования Sprak
Языки локализации: английский
Сколько стоит: 449 ₽ в «Стиме» и GOG

Дополнительное преимущество игры — более полусотни саундтреков
Дополнительное преимущество игры — более полусотни саундтреков

В Else Heart.Break() вы играете за некоего Себастьяна, который устроился работать продавцом газировки и встретил девушки по имени Пикси. Вскоре Себастьян обнаружил, что общается с группой хакеров, и его жизнь переворачивается.

Игра построена не на головоломках: она скорее показывает, как можно изменить реальность с помощью кода. Например, сменить день на ночь, самостоятельно переписать диалоги и даже изменить стилистику мира с яркой на черно-белую. Все команды пишутся на языке Sprak, придуманном специально для игры — что-то между Basic и Python.

Для Else Heart.Break() не нужен опыт в программировании — пройти игру можно по сюжетным инструкциям, но если знать основы кода, играть будет интереснее.

РедакцияА какие игры для изучения программирования вы можете посоветовать?