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

Retro Gadgets

Симулятор предназначен для кодеров с опытом сборки электронных девайсов, то есть для тех, кто способен спаять устройство и разработать для него ПО. Задания в игре, несмотря на ее «ламповость», довольно сложные. Нужно паять, правда, в виртуальном мире, плюс собирать различные системы из отдельных модулей и писать код на Lua.

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

Joy of Programming

Ну а здесь — чистая радость программирования. По крайней мере, в том виде, в котором его себе представляют авторы проекта. Предусмотрена и возможность поработать с 3D-графикой, если есть такое желание. Задачи в игре достаточно сложные. Основной вектор здесь — автоматизация и управление роботами, навигация, логистика и машинное обучение. Например, чтобы решать разные задачи в игре, нужно писать Python-код. К слову, эти задачи тоже весьма непростые — так что если вы новичок, лучше попробовать что-то еще.

CPU-Chef

Игра предназначена для новичков в мире электроники, поскольку ее единственная задача — помочь изучить строение ПК или ноутбука. Разработчики помогают пользователям понять, какие модули, включая процессор, хаб и т. п., для чего предназначены.

CPU-Chef отлично демонстрирует нюансы нагрева чипов и его влияния на работу компьютера. Все показано очень доходчиво. Подходит даже для тех, кто представляет себе ПК или ноутбук в виде «черного ящика» с непонятными процессами внутри.

SQL Murder Mystery

Уже по названию понятно, что игра предназначена для разработчиков, изучающих SQL. Сюжет интересный: нужно раскрывать преступления в мире баз данных. В процессе расследования геймеры учатся создавать базы данных, формы, а еще — правильно писать SQL-запросы, чтобы выявить настоящего преступника. Здесь нужно быть очень осторожным: если запрос составлен с ошибками, детективу придется туго.

Check.IO

Отличная игра для изучения Python и TypeScript. Выглядит она неплохо, внутри интерфейса — острова, на которых расположены задачи и головоломки. У игры разные уровни сложности: она подойдет как новичкам, так и опытным кодерам. В самом начале есть подсказки, но постепенно их становится все меньше.

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

Screeps

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

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

Swift Playgrounds

Это игра для iOS-разработчиков, которые осваивают Swift.

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

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

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

Knights of the Flexbox Table

Здесь уже игра для тех, кто планирует изучить CSS. Она начинается с основ и постепенно усложняется. Решать различные задачи предлагается при помощи CSS-фреймворков Flexbox и Tailwind. Отличная игра для тех, кому нужно оперативно освоить CSS.

CodeCombat

Игра, которая дает возможность обучиться Python и JavaScript. Причем если первый ЯП открыт по умолчанию и бесплатен, то за доступ ко второму придется заплатить. Стоимость составляет $3,99 в месяц или $39,6 в год. Игра помогает выучить Python, JavaScript и HTML. Набор языков не такой большой, но игра позволяет новичкам получить базовые знания, а разработчикам, у которых уже есть опыт написания кода, — продвинутые.

Если у вас есть собственные фавориты в мире обучающих игр, о которых мы не упомянули, делитесь ими в комментариях.

Комментарии (9)


  1. Zara6502
    03.07.2024 08:27

    но скопировать схему или код не получится

    интересно как это реализовано. что мешает нажать Win+Shift+S и сохранить? Можно OBS Studio записывать экран.


  1. kt97679
    03.07.2024 08:27

    Мне очень понравились crobots.


  1. Pyhesty
    03.07.2024 08:27
    +1

    мне очень зашло для обучения Coding Game https://www.codingame.com/start/ но требуемый уровень с начального очень быстро растет) но соревновательная часть на высоте ;) Одни гонки на марсоходах или морской бой чего стоит) отлипнуть сложно...)


  1. Graphist
    03.07.2024 08:27

    LeetCode lol
    Искал тут работу, пришлось месяц литкодить -- и оказалось прикольно. Ни code review, ни ругани с QA, ни глючного пайплайна CI; только ты, задача -- и результат (обычно time limit exceeded).


  1. mort32ram
    03.07.2024 08:27
    +2

    а как же легендарный colobot, уже слишком стар?


    1. axe_chita
      03.07.2024 08:27

      Да и CRobots где?


  1. GLeBaTi
    03.07.2024 08:27
    +1

    Лучшая игра для программиста - это написание игры :)


    1. habrolog
      03.07.2024 08:27

      Не согласен. Принципиально.

      Написание игры, даже относительно несложной - долгосрочный проект с большим количеством самостоятельного рисерча на самые разные темы и либо постоянным поиском чем бы заткнуть недостающие части/ассеты, типа графики-звука-анимаций, либо вынужденным понижением общей планки. Это очень круто и интересно, но этот процесс совсем, совсем не игровой.

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

      Разница как между забегом в симулятор фермера и забегом в огород. Оба пути дадут вам новые знания, а огород еще и физическую продукцию, которую можно пощупать и даже съесть. Но есть нюанс.

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


  1. KorbenDallasBaby
    03.07.2024 08:27

    Список можно много чем дополнить :)

    1. Почти все игры студии Zachtronics учат алгоритмам и программированию

    2. Move code lines, есть в Стиме

    3. Interplayer, есть в Стиме

    4. Craftomation 101 - визуальное программирование, есть в Стиме

    5. Bitburner, есть в Стиме (бесплатная)

    6. A=B, есть в Стиме

    7. Robo instructus(), есть в Стиме

    8. The farmer was replaced, есть в Стиме

    9. Escape from hard drive, есть в Стиме

    10. Comet 64, есть в Стиме

    11. HackeRPG, есть в Стиме (выходит в релиз 8 июля)