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


Flexbox Froggy


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


Игра для веб-разработчиков, которые не чураются вёрстки. Нужно помогать лягушонку и его друзьям перемещаться по листкам лилий, изменяя их местоположение с помощью CSS-кода. А по ходу дела вы закрепите в голове работу с модулем Flexbox, появившимся в CSS3.



Flexbox Defence


http://www.flexboxdefense.com/
Язык: CSS


Ещё одна игра, которая поможет вам освоить применение модуля Flexbox на ваших веб-страницах. Игра относится к жанру Tower Defence, только здесь нужно менять с помощью кода координаты оборонительных башен, чтобы не дать врагу прорвать оборону.



Ruby Warrior


https://www.bloc.io/ruby-warrior#/
Язык: Ruby


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



JavaScript Fight Club


https://jsfight.club/
Язык: JavaScript


Любопытный проект, вносящий игровую составляющую в создание ИИ. Игроки выкладывают в авторском Github-репозитории форки с JS-кодом своих ботов, которые раз в день подгружаются на сайт, и все желающие могут наблюдать за эпической битвой искусственных интеллектов, разбитых на две команды. В любое время можно посмотреть запись последней прошедшей битвы.



BOX-256


http://box-256.com/
Язык: ассемблер


Это игровой эмулятор выдуманного 8-битного компьютера, оснащённого всего 256 байтами оперативной памяти и 16-цветным дисплеем 16х16 пикселей. Вам нужно проходить графические тесты и совершенствовать код, чтобы он потреблял как можно меньше циклов процессора или содержал как можно меньше строк. Многопоточность и прочие оптимизации вам в помощь!


P.S. Есть веб-версия игры и отдельное Windows-приложение.



Scalatron


http://scalatron.github.io/
Язык: Scala


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



Colobot


https://colobot.info/
Язык: искусственный


Ещё один любопытный проект, скорее предназначенный для обучения программированию детей. Здесь нужно строить базы, с помощью роботов подготавливая планеты к колонизации людьми. С одной стороны, в игре трёхмерная графика, но при этом можно писать для роботов собственные программы на искусственном языке, похожем на C++ и Java (количество символов в каждой программе — не более 20 000). Так что вполне можно развеяться и взрослым.




Shenzhen I/O


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


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



CodeFights


https://codefights.com/
Язык: множество языков



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



Pixact.ly


http://pixact.ly/
Язык: отсутствует


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


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


  1. Krummi
    20.02.2018 16:40
    +1

    Эх, написал бы кто про истоки всего этого. Чтобы «бои в памяти», C Robots… или хотя бы про отечественную Snake Battle.

    По мне так гораздо интереснее, чем очередной «сборник задач для программистов» с геймификацией (коих в материалах такого плана половина).

    Впрочем, другая половина действительно хороша. Один Colobot чего стоит!


    1. RiseOfDeath
      21.02.2018 13:59
      +1

      О да. Змейки великолепны.


  1. brickerino
    20.02.2018 16:40
    +1

    >Вроде бы и развлекаешься, но в то же время с пользой для мозгов.

    Я когда сажусь в такое поиграть, довольно быстро начинаю понимать, что работаю.


  1. VCheese
    20.02.2018 17:10

    HR2 (1994)
    Симулятор строительных роботов, которые можно программировать на языке с си-подобным синтаксисом.
    https://geektimes.ru/post/296019/#comment_10480177


    1. BubaVV
      20.02.2018 23:52

      Находил к нему только японский мануал


      1. VCheese
        21.02.2018 13:53
        +1

        Тоже не находил перевода. Читал на английском с японского через гугл-переводчик.


  1. potan
    20.02.2018 17:11

    Большое спасибо за scalatron. Давно мечтал поиграть используя один из своих любимых языков.



  1. yanchick
    20.02.2018 19:07

    Я чего-то не понял, а где screeps ?


    1. neumond
      20.02.2018 19:42

      В первой части.


  1. k12th
    20.02.2018 19:17
    +2

    Если честно, я не очень понимаю смысл таких игр. Ну Colobot понятно — для детей, там наверняка и туториал очень подробный и понятный, и задачки не сложные — чего не скажешь, о, например, Shenzhen I/O.
    Очевидно, играть в них будут только программисты. То есть 8 часов я на работе программирую, а потом прихожу домой и… снова программирую? Мне кажется, веселее будет пилить хобби-проект в таком случае.
    Почти единственное, что приходит в голову — обучение новому языку (но и в таком случае хобби-проект кажется полезнее, т.к. навыки ближе к реальным) либо ностальгирующие по кодингу ПМ-ы.


    1. shuchkin
      20.02.2018 20:57

      Такие игры очень нужны на первых практических занятиях по программированию.


      1. k12th
        21.02.2018 01:13

        Ну Shenzhen I/O явно не подходит для такого, уж больно хардкорно.


  1. nybkox
    20.02.2018 21:40

    Это стоило бы внедрить в школьную программу по информатике. А то по прежнему изучают как пользоваться вордом и экселем…


  1. DeuterideLitium6
    20.02.2018 22:35

    Тьерра не помню как английском пишется. Программа имитирующая жизнь и эволюцию программ-организмов, создана ещё 1990 году. Там тоже надо программировать на специальном ассемблере.


    1. DeuterideLitium6
      20.02.2018 23:47

      А, ещё вспомнил, сталкер, там логику НПСов можно писать на Lua, чем умней код, тем умней ведут НПСы в игре. Например, в оригинале Тень Чернобыля, сталкеры не умеют бросать гранаты, а с помощью скриптов это уже давно реализовано. Конечно, это всё для мододелов, но всё же, кодить на Lua достаточно просто, легче чем на С++.


      1. YaakovTooth
        21.02.2018 00:20

        Чо за дичь я только что прочитал!?


        1. DeuterideLitium6
          21.02.2018 00:36

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


          1. YaakovTooth
            21.02.2018 00:37

            Выключите радио.


      1. mayorovp
        21.02.2018 14:06

        Не путайте разработку игр (а разработка модов тоже сюда относится) и игровой процесс. Так-то есть очень много игр где есть простор для модов, это не повод их всех перечислять.


  1. ivorobioff
    21.02.2018 01:38

    Вообще идея прикольная, только вот игры так себе и выбор языков никакой. И что это за язык CSS? :)


    1. QDeathNick
      21.02.2018 13:54

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

      Довольно увлекательно писать код в SpaceEngeeneers, хотя детям там сложновато будет, я даже не предлагал.

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


  1. Suvitruf
    21.02.2018 02:14

    Помню, в своё время ещё баловались с .NET Terrarium.



  1. ProTreo
    21.02.2018 14:23

    В Garry's Mod на Lua можно


  1. bad__day
    21.02.2018 14:37

    Помню была еще интересная игра — human resource machine.
    Не совсем про написание кода, но алгоритмы составлять надо.


  1. sHaggY_caT
    21.02.2018 15:04

    Kerbal space program + мод kOS :)
    Можно делать божественные вещи вроде вот такой(не моё):


  1. Noserdan
    21.02.2018 16:00

    Спасибо за наводку. CodeFights — то, что нужно


  1. yesasha
    22.02.2018 00:58
    -1

    Мне только что пришла идея игры! Есть реальный код на каком-либо языке программирования. Но при попытке его запустить, вылетают ошибки, некоторые вещи не работают как надо. Цель игры исправить баги и заставить код работать!