Основами кода можно овладеть легко и весело — через обучающие игры.
Собрали подборку, которая поможет совместить приятное с полезным. Игры пригодятся не только начинающим программистам — они подойдут и людям с опытом, которые ищут разминку для мозга и любят решать головоломки.
Выбирайте удобный формат
Некоторые игры продаются там, где не принимают российские карты
На этот случай у Т—Ж есть две инструкции:
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
Кратко: как кубик Рубика, только с твистом
Языки программирования: алгоритмы
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры
Суть игры автору подсказало функциональное программирование — в нем объекты преобразуются с помощью математических функций. Так и здесь, задача — расставить команды так, чтобы они изменили цвет или расположение кубиков в соответствии с образцом.
Завершив все миссии, можно попробовать самостоятельно продолжить игру — подробнее на GitHub. Игра больше похожа на пазл, а не учебник, поэтому подойдет любому игроку, который хочет занять время головоломкой.
LearnGitBranching
Кратко: учимся работать c git-репозиториями
Языки программирования: нет
Языки локализации: английский, русский и другие
Сколько стоит: бесплатно
Где найти: на сайте игры
Git — это система контроля версий, без которой не обойтись ни одному программисту. LearnGitBranching создано как раз для того, чтобы помочь новичкам изучить возможности ветвления в нескучном и красочном формате. Так что это не совсем игра, а скорее интерактивный учебник.
Тренажер разделен на два блока: основы и удаленные репозитории. В первом объясняются базовые понятия и команды вроде ветвления и отмены изменений. Во втором — приемы для совместной работы.
Grid Garden
Кратко: поливаем огород с морковкой и защищаем его от сорняков
Языки программирования: CSS
Языки локализации: английский, русский и другие
Сколько стоит: бесплатно
Где найти: на сайте игры
Игра с приятным дизайном, где нужно удалять сорняки и поливать морковку при помощи языка CSS. Он нужен для описания стиля сайтов — с его помощью можно менять шрифты, заголовки и другие элементы страниц.
В самом начале много теоретических шпаргалок, но чем дальше продвигается игрок, тем меньше будет подсказок перед прохождением: первые 25 задач решаются довольно быстро, а на последних трех можно по-настоящему застрять.
CSS Diner
Кратко: выбираем посуду и продукты с помощью кода
Языки программирования: CSS
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры
Игра с 32 уровнями поможет правильно обращаться к тем или иным элементам в CSS — нужно писать код так, чтобы выбрать правильный объект на столе: яблоко, каждую вторую тарелку и так далее.
По ходу игры сложность заданий увеличивается. Если не понимаете, что делать, нажмите кнопку «Hello, I’m stuck!» — появится подсказка.
Elevator Saga
Кратко: пишем алгоритмы для работы лифтов
Языки программирования: JavaScript
Языки локализации: английский
Сколько стоит: бесплатно
Где найти: на сайте игры
Игра предлагает написать алгоритм движения лифтов. Цель — сделать так, чтобы кабинки перевозили нужное количество людей за определенное время. С каждым уровнем сложность увеличивается: добавляются новые этажи и лифты.
Игра больше подойдет тем, кто знает основы 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
Приложение для Айпадов в игровой форме учит основам языка 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() не нужен опыт в программировании — пройти игру можно по сюжетным инструкциям, но если знать основы кода, играть будет интереснее.