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


Grid Garden


http://cssgridgarden.com/
Язык: CSS


В этой незатейливой игре с несколько инфантильным интерфейсом нужно с помощью CSS-кода поливать полезные растения в огородике. Доступно 28 несложных для прохождения уровней.


image


Elevator Saga


http://play.elevatorsaga.com/
Язык: JavaScript


Если вы мечтали создавать алгоритмы для лифтов (а в реальности это весьма интересная и сложная алгоритмическая задача), то Elevator Saga — отличная песочница. Здесь абстрактно представлено здание из нескольких этажей и лифты, перевозящие людей. Нужно запрограммировать движение лифтов так, чтобы перевезти определённое количество пассажиров за указанный срок. По мере прохождения уровней увеличивается этажность и поголовье лифтов, а условия становятся строже.


image


CheckIO


https://checkio.org/
Язык: JavaScript, Python


Наверное, эта игра всё же ближе к обучающим, но и «уже обученным» программистам она тоже будет интересна. К тому же здесь очень приятная графика. С помощью кода нужно исследовать острова и решать различные задачи.


image


CodinGame


https://www.codingame.com/
Язык: C, С#, C++, Java, JavaScript, Python, Python 3, Bash, Clojure, Dart, F#, Go, Groovy, Haskell, Lua, Objective-C, OCaml, Pascal, Perl, PHP, Ruby, Rust, Scala, Swift, Swift 3, VB.NET


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


image


CodeWars


https://www.codewars.com/
Язык: Clojure, C, C++, C#, Crystal, Dart, Elixir, F#, Go, Haskell, Java, JavaScript, PHP, Python, Ruby, Rust, Shell, SQL, Swift, TypeScript


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


image


CSS Diner


https://flukeout.github.io/
Язык: CSS


Простенькая игра, позволяющая освоить (или освежить) азы CSS.


image


Untrusted


https://alexnisnevich.github.io/untrusted/
Язык: JavaScript


Приключенческая игра с олдскульной символьной графикой. Вам даются текстовые задания, которые нужно решить — внимание! — с помощью кода на JavaScript. Как неожиданно!


image


CodeHunt


https://www.codehunt.com/
Язык: C#, Java


Игрой это можно назвать весьма условно. Вам предлагается кусочек кода, нужно найти в нём ошибку и исправить. Большая круглая кнопка посередине вверху запускает проверку.


image


CodeCombat


https://codecombat.com/
Язык: Python, Java, CoffeeScript, Lua


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


image


Screeps


https://screeps.com/
Язык: JavaScript


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



TIS-100


http://www.zachtronics.com/tis-100/
Язык: ассемблер


Это игра с открытой концовкой. В ней нужно переписывать испорченные куски кода на ассемблере, чтобы восстановить TIS-100 и раскрыть его секреты.



Знаете другие игры для программистов? Кидайте ссылки в комменты.

Поделиться с друзьями
-->

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


  1. zuborg
    16.05.2017 19:46
    +4

    SpaceChem — химический ассемблер, думаю, представлять нет обходимости
    Robozzle — заковырыстая головоломка (Android) — программируем маршрут робота
    http://vindinium.org/ — онлайн-батл через http-API, управляем ботом в а-ля-рогалике в игре против 3 других игроков, лимит на ход — 1 секунда.


    1. Z0K
      17.05.2017 18:14

      У Robozzle есть и веб-версии:

      Silverlight: http://robozzle.com/
      JS: http://robozzle.com/js/
      HTML5: http://robozzle.com/beta/


    1. PoliTeX
      17.05.2017 18:18

      Robozzle есть и онлайн, но на сильверлайте.


  1. Pycz
    16.05.2017 20:03
    +3

    Ruby Warrior — то, что сразу приходит на ум.
    Ссылка


    1. Pycz
      16.05.2017 20:14
      +2

      Еще хочется упомянуть две части Flash-игры Light Bot, в которых нужно запрограммировать бота («черепашку») с помощью набора встроенных команд.
      Часть 1
      Часть 2


  1. bedward70
    16.05.2017 20:03
    +14

    Colobot забыли! На первую позицию эту игру!


    1. ipswitch
      16.05.2017 22:57
      +1

      Да!!! Поддерживаю!


      1. BoogerWooger
        24.05.2017 11:35

        Colobot — огонь!


  1. kokorins
    16.05.2017 20:07

    https://booking.riddles.io/ пакман для двух играков



  1. yizraor
    16.05.2017 21:53
    +5

    SHENZHEN IO — программирование микросхем, но несколько иначе по сравнению в TIS-100


    1. jerom
      17.05.2017 11:27

      Очень похоже, но лучше. Существенно более доработанная и интересная игра.


  1. FeNUMe
    16.05.2017 22:02
    +1

    Немного из другой «оперы»: Space Engineers(С#), KSP(с модами kOS или kRPC — C#, C++, Java, Lua, Python, Ruby, Haskell), From The Depth(Lua). Но как по мне значительно интересней, потому что программируешь автопилоты для своих творений или целую космическую программу — ощущения от запрограммированного тобой полностью автоматического полета к луне с посадкой и возвратом не передаваемы.


  1. WinPooh73
    16.05.2017 22:58
    +2

    Одиссея роботов. Про неё даже статья на Хабре была. Самая сложная игра всех времён и народов, родом из 80-х.


    1. monah_tuk
      17.05.2017 05:44
      +1

  1. MrSunny
    16.05.2017 23:12

    SHENZHEN IO


  1. ma1uta
    16.05.2017 23:12
    +1

    http://store.steampowered.com/app/400110/Else_HeartBreak/ — Else Heart.Break(), открытый мир, где можно что угодно перепрограммировать.


    http://www.zachtronics.com/shenzhen-io/ — Shenzen I/O — программирование микроконтроллеров.


  1. forgetable
    16.05.2017 23:14
    +1

    Сразу вспоминается Human Resource Machine. Там, конечно, не нужно писать код, но задумка похожая, да и сама игра интересная.


  1. lisper
    17.05.2017 00:45
    +2

    Robocode же. Нестареющая классика.


  1. XNoNAME
    17.05.2017 01:10
    +1

    Hacked (Android)


  1. alexeymalov
    17.05.2017 08:00
    +1

    Playcodemonkey.com
    При помощи кода на coffee script управляешься обезьянкой и другими объектами на экране, чтобы собрать бананы


  1. Inkognitoo
    17.05.2017 08:29

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


  1. Lirein
    17.05.2017 10:16

    Одна из старейших — была ещё по ДОС — Robocom Workshop — программируем роботов на языке приближенном к ассемблеру. Можно выплнять код в разных банках памяти, перепрограммировать банки у других роботов, форкаться (клонировать робота) и т.д. На каждую инструкцию тратится определенное количество времени. Можно проводить соревнования и целые турниры.


  1. Rayslava
    17.05.2017 10:56

    Когда-то начинал с книжки Фаронова и probots. Не знаю, правда, насколько это сейчас актуально для кого-то, кроме музейщиков.


  1. potan
    17.05.2017 10:57

    Эх, нет ни одной игры, поддерживающей язык Prolog…

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


  1. Meis
    17.05.2017 10:58

    Hackmud, хоть я не играл, но может найдутся заинтересовавшиеся.
    http://store.steampowered.com/app/469920/hackmud/


  1. Crazy22
    17.05.2017 10:58

    Про некоторые не слышал, пойду проходить.


  1. Vizrok
    17.05.2017 10:58
    +1

    Для майнкрафта есть несколько модификаций, добавляющих виртуальные терминалы, позволяющие кодить в частности на Lua различную логику. Собственно, в ванильном майнкрафте реализована механика логических схем, в дальнейшем успешно модиффицированная до сумасшедших схем исключительно на использовании «И» «Или» «Не» и иже… Также, по книге, описанной в следующей статье, в том же Майнкрафте можно наглядно изучать Python


    1. T-362
      17.05.2017 12:26
      +1

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

      Ну и тогда можно вспомнить GarrysMod с дополнением с проводами и чипами — можно как физически «распаять логику на плате» так и написать в одном чипе-ЦПУ.


  1. PetrPetrowitch
    17.05.2017 10:58

    для андроида:
    Hacked (питоноподобные скрипты)
    Gladiabots (арены роботов с програмируемым АИ програмирование drag&drop, но мозг поламать можно)
    ну и для Пк HumanResourseMachine drag&drop ассемблер. тоже иногда взрів мозга особенно изза того что циклов как таковых нет а есть только переходы и условия


    1. zuborg
      18.05.2017 08:19

      gladiabots пробовал, несколько хромает баланс — практически под все арены было достаточно одного единственного кода (который работал хуже чем задумано т.к. не всё в полной мере программируется).
      Но в целом задумка хорошая.


  1. BDEsoft
    17.05.2017 11:45
    +2

    Моя самая любимая игра Colobot. До сих пор в нее иногда играю.


  1. Cheater
    17.05.2017 12:20

    Не уверен, подходит ли по требованиям, но есть такой рогалик Nethack (www.nethack.org). Это не игра, где игрок пишет непосредственно код, как в исходном посте, а классический rogue-like. Но исследование и модификация кода игры является её традиционной частью в игровом сообществе и именуется source diving. Игроки исследуют код для понимания игромеханики, для «читерства» через модификацию кода, ит.д. Язык — C.


  1. BDEsoft
    17.05.2017 12:27

    И моя игра image Язык программирования — ассемблер. Вот только графику так и не смог нарисовать нормальную:)


  1. alexzzam
    17.05.2017 12:33
    +1

    «Здесь нужно программировать свою систему обороны для уничтожения врагов.» это не про codingame, а про первую тривиальную задачку из него.
    Так-то там всё интересно и разнообразно, а в каждой задаче свой сюжет. Плюс многопользовательские игры.


  1. Dovgaluk
    17.05.2017 14:11
    +1

    Nether Earth, хе-хе


    1. BDEsoft
      17.05.2017 14:14

      :) MilitarySuperiority Опять же у меня все закончилось на дизайне))


    1. Fraxi
      17.05.2017 17:42

      Тоже игра со времён Спека, однако так и не появилась на других ПК: Soldier of Future По современным меркам скорее RPG + «визуальное» программирование. Заигрывался ею в своё время.
      Хотя возможно это клон или копия какой-то игры с PC.


      1. Dovgaluk
        17.05.2017 17:57

        Точно, ее тоже видел, но как-то не зашло.


    1. AxisPod
      19.05.2017 17:30

      Совсем не про программирование. Но очень много времени в ней потеряно :-)


  1. BDEsoft
    17.05.2017 15:29
    -1

    И еще одна моя программа не вышедшая в свет изза недостатка дизайна)
    image
    Программа для робота пишется путем вытаскивания пиктограм и их соединений.
    Есть даже видео


  1. zapolnoch
    17.05.2017 16:20
    +3

    Time to go home and relax
    image


  1. Valery4
    18.05.2017 16:15
    +1

    От автора http://cssgridgarden.com/ только про Flexbox
    https://flexboxfroggy.com


  1. Valery4
    18.05.2017 16:18

    Ещё не совсем про программирование, а скорее около.
    Изучение Vim в игровой форме. Давно не смотрел, раньше было всего несколько у ровней бесплатно.
    https://vim-adventures.com


  1. arpeggio
    23.05.2017 15:54

    Помню, в 2013м году сильно залипал в trAInsported.
    Написана немецким парнем, код есть на гитхабе. В игре надо кодить на lua ИИ для управления системой простых поездов.
    В игре даже есть русская локализация, сделанная мной)


  1. eXpressionist
    23.05.2017 16:10

    Немножко отдаленно, но странно, что никто не упомянул
    Hack-n-Slash