Игры для программистов: 20+ головоломок, которые научат кодить и не только
Так и до оффера доиграться можно.


Иллюстрация: Оля Ежак для Skillbox Media
Чтобы освоить азы программирования или новый инструмент, не обязательно штудировать скучные талмуды. Если неправильно выбрать учебник — можно и вовсе разочароваться в IT. Куда веселее учиться по играм. Мы сделали большую подборку для тех, кто любит совмещать приятное с приятным. Здесь 20 игр для матёрых программистов, новичков и детей.
Содержание:
Инди-шедевры для гиков
Human Resource Machine

Игра поможет освоить: алгоритмы.
Сколько стоит: 360 рублей в Steam.
Язык: русский, английский и ещё 17 языков.
ПодробнееИгрок управляет клерком, которому начальник даёт задания. Цель каждой миссии — автоматизировать работу клерка на игровом языке программирования. Строите алгоритм, перетаскиваете блоки inbox, copyfrom, jump и наблюдаете за результатом.
Кстати, авторы игры Human Resource Machine — создатели некогда популярной головоломки World of Goo. Изначально её выпустили для Windows, но заняла топы в магазинах приложений она после выхода мобильной версии.
Shenzhen I/O

Игра поможет освоить: основы ассемблера, электроники и алгоритмы.
Сколько стоит: 360 рублей в Steam единоразово.
Язык: английский, китайский.
ПодробнееВы — инженер-электронщик в Шэньчжэне, одном из центров китайской хайтек-индустрии. По ходу игры нужно разрабатывать электронные схемы и писать для них код на ассемблере. Можно даже создавать собственные задачи на Lua.
К игре прилагается 50-страничный PDF-мануал, без которого её не пройти. Отличная возможность познакомиться с низкоуровневым программированием — это подтверждают более 2000 крайне положительных отзывов игроков.
«Работаешь программистом, приходишь уставший домой и с мыслью „наконец-то поиграю“ включаешь симулятор программиста :)».
Комментарий пользователя в Steam

7 Billion Humans

Игра поможет освоить: алгоритмы.
Сколько стоит: 360 рублей в Steam единоразово.
Язык: русский, английский и ещё 9 языков.
ПодробнееПродолжение Human Resource Machine. Игроку нужно автоматизировать деятельность толпы офисных работников и решать головоломки. В игре более 60 уровней, где придётся перетаскивать блоки вроде «взятьИз», «дать», «шаг», «если» — причём так, чтобы клерки идеально выполняли поручения босса.
TIS-100

Игра поможет освоить: основы ассемблера и алгоритмы.
Сколько стоит: 175 рублей в Steam единоразово.
Язык: английский.
ПодробнееЗадача игрока — переписать повреждённые блоки кода на псевдоассемблере, чтобы починить «интеллектуальную систему». Есть руководство с подробным описанием команд. Игра подойдёт опытным программистам или тем, кто хочет развить логику и грокать алгоритмы.
Exapunks

Игра поможет освоить: основы ассемблера и алгоритмы.
Сколько стоит: 435 рублей в Steam единоразово.
Язык: английский.
ПодробнееЕщё одна игра от Zachtronics развивает идеи TIS-100 и Shenzhen I/O. Сюжет такой: на дворе 1997 год. Игрок — хакер, который заболел странным недугом. Он заключил сделку: один взлом — одна доза суперлекарства. Необходимо читать местный журнал Trash world news, который печатает руководства и секретную информацию, писать вирусы, взламывать банки, университеты, правительство и… самого себя. Для тех, кто застрял, разработчики создали руководство по командам.
«Лучшая игра в мире! Если вы любите головоломки для программистов, конечно».
Комментарий пользователя в Steam
Машинное обучение с котиками
while True: learn()

Игра поможет освоить: основы машинного обучения и алгоритмы.
Сколько стоит: 299 рублей в Steam.
Язык: русский, английский и ещё 16 языков.
ПодробнееЭта головоломка — симулятор машинного обучения. Вы играете за программиста, который обнаружил, что его кот разбирается в компьютерах лучше него. Правда, котейка не может поделиться знаниями, потому что не говорит. Задача — освоить машинное обучение и написать переводчик с кошачьего на человеческий.
Игровой процесс сводится к переносу данных из левой части экрана в правую. Для этого нужно перетаскивать функциональные блоки, подбирать для них параметры и соединять их между собой. Если что-то не получается, спросите на CatOverflow.
«Это отличная игра для тех, кто хочет узнать больше о машинном обучении и о том, как его можно использовать в повседневной жизни — для работы или просто из любопытства, например чтобы понять, как общаться со своей кошкой!»
Комментарий пользователя в Steam
Осваиваем Git
LearnGitBranching

Минималистичная онлайн-обучалка по основам Git. В начале каждого уровня игроку надо изучить теорию и посмотреть демо, а потом — выполнить практические задания. Например, создать ветку bugFix, переключиться на новую ветку командой git checkout bugFix и сделать один коммит. Команды вводят в игровом терминале.
Осваиваем Vim
Vim Adventures

Ты можешь знать сколько угодно языков программирования и видеть Linux насквозь, но какой в этом толк, если ты не умеешь работать в Vim? Игра в стиле ретро для тех, кто хочет стать тру-программистом. Задача игрока простая: нужно передвигать курсор по лабиринту с помощью кнопок, которые используют в Vim.
Учим языки программирования
CodinGame

Игра поможет освоить: Bash, C, C++, C#, Clojure, D, Dart, F#, Go, Groovy, Haskell, Java, JavaScript, Kotlin, Lua, Objective-C, OCaml, Pascal, Perl, PHP, Python (v. 3), Ruby, Rust, Scala, Swift, TypeScript, Visual Basic .NET.
Сколько стоит: бесплатно.
Язык: английский.
ПодробнееЭто целая платформа с набором игр для программистов. Например, в первой игре, которую сайт показывает новичкам, игроку надо защищать планету от инопланетян. Для обороны разработчики предлагают использовать лазерную пушку и один из языков программирования — Python, JavaScript или другие.
В другой игре надо осваивать основы ИИ в многопользовательском режиме и сражаться с другими игроками. Тут есть даже испытание Code Golfing, в котором нужно сократить объём программ. У игрового комьюнити довольно живой форум и канал в Discord. Кстати, рекрутеры нередко ищут здесь сотрудников.
Swift Playgrounds

Приложение для iPad и Mac от Apple. В нём игроку придётся решать головоломки и учить Swift — главный язык программирования в iOS. Поначалу нужно писать простые методы вроде moveForward() и collectGem(), чтобы персонаж двигался и собирал предметы. От уровня к уровню задания усложняются.
SQL Murder Mystery

В городке SQL City произошло убийство. Игрок — детектив, которому нужно раскрыть дело с помощью команд SQL. Нужно изучить команды и писать правильные запросы к базе данных. Есть руководство для новичков.
CheckiO

Игра поможет освоить: TypeScript, Python.
Сколько стоит: бесплатно.
Язык: английский.
Стратегия для тех, кто хочет изучить TypeScript или Python. Нет времени на раскачку. Никаких Hello, World!. Игрока сразу же погружают в ООП и объясняют основные концепции этой парадигмы. Нужно писать код в браузерном редакторе и строить военные базы, собирать армию и решать головоломки.
The Deadlock Empire

Игра поможет освоить: многопоточное программирование на C#.
Сколько стоит: бесплатно.
Язык: английский.
ПодробнееЗадача игрока — использовать уязвимости в многопоточных программах, чтобы заставить их зависнуть или работать некорректно. Геймплей не для новичков, но в игре есть руководство на случай «затыков».
Cube Composer

Игра поможет освоить: основы функционального программирования.
Сколько стоит: бесплатно.
Язык: английский.
ПодробнееИгра для тех, кто давно хотел попробовать функциональное программирование, но боялся. В Cube Composer игроку нужно расставлять функции в правильном порядке, чтобы преобразовать цветные кубики в нужный паттерн.
SQL Noir

В SQL Noir игроку предстоит примерить на себя роль детектива. С помощью запросов к базе данных надо искать улики, анализировать их и решать загадки. В игре есть четыре дела, которые предстоит раскрыть:
- таинственное похищение портфеля с документами;
- кража ценной виниловой пластинки;
- загадочное убийство в Майами;
- убийство влиятельного аристократа Леонарда Пирса в его поместье.
Если у вас получится быстро раскрыть все преступления, можно попробовать себя в роли автора сценариев для других игроков. В репозитории SQL Noir есть подробная инструкция для разработчиков.
Оттачиваем мастерство
Guess This Code

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

Игра поможет освоить: навык быстрого решения задач по программированию.
Сколько стоит: бесплатно.
Язык: английский.
ПодробнееСоревнование для опытных кодеров. Правила простые: нужно решить задачу быстрее оппонента. Фишка в том, что игрок видит в реальном времени, как её решает соперник. Поддерживает 15 языков программирования, включая JavaScript и Python.
Программирование для самых маленьких
Scratch

Игра поможет освоить: визуальный язык программирования Scratch.
Сколько стоит: бесплатно.
Язык: английский, русский.
ПодробнееScratch — это визуальный язык программирования, который создали в MIT для детей и подростков. А ещё это платформа для создания простеньких приложений и анимаций. Программы «собирают» в drag-and-drop-редакторе из логических блоков, среди которых переменные, условия и циклы. Ученики знакомятся с основными концепциями программирования и создают интерактивные истории, игры и мультфильмы.
CodeCombat

Игра поможет освоить: Python, JavaScript, HTML, CSS, CoffeeScript и C++.
Сколько стоит: от 39,60 долларов в год.
Язык: основной — английский, но есть страницы и на русском.
ПодробнееВ CodeCombat игроку надо управлять героями с помощью методов вроде heroMoveDown(), heroMoveRight() и сражаться в битвах, достойных Толкиена. Код можно писать с помощью JavaScript, Python, C++, CoffeeScript, и даже языков разметки HTML и CSS. Важно написать не только рабочий, но и чистый код.
У CodeCombat даже есть киберспортивная ИИ-лига, в которой можно потягаться в программировании с реальными соперниками. А ещё, на радость детям, разработчики создали свой мир в Roblox!
Tynker

Игра поможет освоить: HTML и CSS, JavaScript, Python и Java.
Сколько стоит: от 11 долларов в месяц.
Язык: английский.
ПодробнееВ зависимости от уровня сложности нужно перетаскивать блоки или писать код вручную. Можно учиться создавать моды для Minecraft, выращивать монстров, сражаться с гоблинами и летать на Марс. У Tynker есть несколько мобильных приложений, среди которых учебный редактор Minecraft, туториалы по программированию на Java, JavaScript, Python и других языках.
Hour of Code

Игра поможет освоить: JavaScript, Python, Lua, CoffeeScript.
Сколько стоит: бесплатно.
Язык: русский, английский.
ПодробнееПортал с огромным количеством коротких курсов по программированию и игр для людей разных возрастов и скиллов. Новички и малыши перетаскивают блоки, а более опытные игроки пишут код вручную. Можно написать игру Flappy Bird, потушить пожар с помощью кода в Minecraft, познакомиться с Python или JavaScript и даже создать целую галактику для «Звёздных войн».
Учиться кодить по играм здорово. Только на собеседовании вряд ли расскажешь, что выучил Java или Python, убивая драконов. За глубокими знаниями и боевым опытом приходите в Skillbox.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!
Колледж Skillbox: онлайн-обучение по профессиям в разработке и дизайне
Освойте востребованные IT-навыки и начните зарабатывать раньше сверстников. Получите диплом о среднем специальном образовании без затрат на переезд, учась по гибкому графику.
Узнать больше