Игры и программирование — этот симбиоз помогает новичкам освоить азы кодинга, а опытным разрабам — освежиться и отвлечься от трудных повседневных задач. Вроде бы и развлекаешься, но в то же время с пользой для мозгов. Предлагаем вам вторую часть подборки игр, в которых нужно писать код. Если пропустили первую часть, тоже рекомендуем посмотреть, там много интересного.
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)
brickerino
20.02.2018 16:40+1>Вроде бы и развлекаешься, но в то же время с пользой для мозгов.
Я когда сажусь в такое поиграть, довольно быстро начинаю понимать, что работаю.
VCheese
20.02.2018 17:10HR2 (1994)
Симулятор строительных роботов, которые можно программировать на языке с си-подобным синтаксисом.
https://geektimes.ru/post/296019/#comment_10480177
potan
20.02.2018 17:11Большое спасибо за scalatron. Давно мечтал поиграть используя один из своих любимых языков.
k12th
20.02.2018 19:17+2Если честно, я не очень понимаю смысл таких игр. Ну Colobot понятно — для детей, там наверняка и туториал очень подробный и понятный, и задачки не сложные — чего не скажешь, о, например, Shenzhen I/O.
Очевидно, играть в них будут только программисты. То есть 8 часов я на работе программирую, а потом прихожу домой и… снова программирую? Мне кажется, веселее будет пилить хобби-проект в таком случае.
Почти единственное, что приходит в голову — обучение новому языку (но и в таком случае хобби-проект кажется полезнее, т.к. навыки ближе к реальным) либо ностальгирующие по кодингу ПМ-ы.
nybkox
20.02.2018 21:40Это стоило бы внедрить в школьную программу по информатике. А то по прежнему изучают как пользоваться вордом и экселем…
DeuterideLitium6
20.02.2018 22:35Тьерра не помню как английском пишется. Программа имитирующая жизнь и эволюцию программ-организмов, создана ещё 1990 году. Там тоже надо программировать на специальном ассемблере.
DeuterideLitium6
20.02.2018 23:47А, ещё вспомнил, сталкер, там логику НПСов можно писать на Lua, чем умней код, тем умней ведут НПСы в игре. Например, в оригинале Тень Чернобыля, сталкеры не умеют бросать гранаты, а с помощью скриптов это уже давно реализовано. Конечно, это всё для мододелов, но всё же, кодить на Lua достаточно просто, легче чем на С++.
YaakovTooth
21.02.2018 00:20Чо за дичь я только что прочитал!?
DeuterideLitium6
21.02.2018 00:36А что, конечно сталкер это шутер. Но если вы умеете программировать и вам нравится программировать ИИ, то добро пожаловать. Какие ещё вопросы? Некоторым не очень нравится играть в сталкер и т.ч. в моды, но нравится именно программировать. И плюс, то что вы можете отрабатывать реальные идеи, которые затем можете использовать в своих проектах, в т.ч. коммерческих.
mayorovp
21.02.2018 14:06Не путайте разработку игр (а разработка модов тоже сюда относится) и игровой процесс. Так-то есть очень много игр где есть простор для модов, это не повод их всех перечислять.
ivorobioff
21.02.2018 01:38Вообще идея прикольная, только вот игры так себе и выбор языков никакой. И что это за язык CSS? :)
QDeathNick
21.02.2018 13:54А чем не язык, люди на нём игрушки пишут, может и не ЯП, но это и не утверждалось.
Довольно увлекательно писать код в SpaceEngeeneers, хотя детям там сложновато будет, я даже не предлагал.
Не совсем в тему, но раз уж тут пошли в ход даже искусственные языки, то может стоит вспомнить и те игры, которые учат программировать не набирая код, а графически.
Добавлю к тому списку интересный проект gladiabots, дети в восторге, да и я массу удовольствия получил.
bad__day
21.02.2018 14:37Помню была еще интересная игра — human resource machine.
Не совсем про написание кода, но алгоритмы составлять надо.
sHaggY_caT
21.02.2018 15:04Kerbal space program + мод kOS :)
Можно делать божественные вещи вроде вот такой(не моё):
Krummi
Эх, написал бы кто про истоки всего этого. Чтобы «бои в памяти», C Robots… или хотя бы про отечественную Snake Battle.
По мне так гораздо интереснее, чем очередной «сборник задач для программистов» с геймификацией (коих в материалах такого плана половина).
Впрочем, другая половина действительно хороша. Один Colobot чего стоит!
RiseOfDeath
О да. Змейки великолепны.