Читать первым в Telegram-канале «Код Дурова»
IT-курсы и стажировки — это здорово, но иногда от их серьёзности устаёшь. В такие моменты не помешает добавить обучению веселья, интриги и духа приключений.
С этой задачей отлично справляются игры. Развивать магов и воинов, строить поселения и делать ещё много интересного можно с помощью… кода. Мы спросили специалистов МТС о том, в какие айтишные игры они играли, и собрали в этой статье 12 экземпляров, которые показались нам увлекательными и необычными.
Flexbox Froggy
Начнём с простого. Flexbox Froggy — это весёлый интерактивный способ изучения CSS Flexbox. Игрокам нужно рассадить группу лягушек различных размеров на лилиях, написав код CSS. В игре 24 уровня, каждый из которых имеет свою собственную задачу. Игра даёт мгновенную обратную связь и помогает игрокам понять концепции Flexbox, показывая эффекты их кода в реальном времени.
Фрагмент прохождения 17 уровня с канала CodeQuest.
Code Combat
Code Combat — это браузерная многопользовательская обучающая игра, в которой нужно писать код для управления персонажами и решения задач в фантастическом мире. Это не просто коллекция уроков и задач. Это настоящая RPG, где есть игровые локации, персонаж с характеристиками, умениями и инвентарём и, конечно, боссы. Только управление выполняется не с помощью геймпада или клавиатуры, а с помощью написанного вручную кода на одном из языков программирования — Python, JavaScript, jQuery, Lua, HTML, CSS.
Даже чтобы ходить, нужно вводить команды.
Ещё у Code Combat есть свои киберспортивные арены с командами, рангами, лидерами и регулярными состязаниями.
Всего в таблице лидеров почти 4 млн игроков.
Codin Game
Это платформа для развития навыков программирования, соревнований и решения алгоритмических головоломок. Сложность задач варьируется от «Новичка» до «Эксперта», поэтому Codin Game подойдёт и для тех, кто только учит свой первый язык программирования, и для специалистов с опытом. Платформа имеет социальный аспект, позволяя пользователям соревноваться друг с другом и отслеживать свой прогресс.
Пока не исправишь код, будешь проигрывать.
Codin Game поддерживает несколько языков, включая Java, Python, C++ и многие другие. Все они не умещаются в один блок слайдера на сайте:
Screeps
Это MMO в жанре стратегии в реальном времени. В Screeps игроки пишут код для управления своими юнитами, ресурсами и структурами в виртуальном мире. Цель игры — собирать ресурсы, строить сооружения и расширять своё влияние.
Графика простая, но уже после пары запусков начинаешь хорошо отличать башню от хранилища, а терминал от фабрики.
Код в игре выполняется постоянно, даже когда игрок не находится в сети. Основной язык здесь — это JavaScript. В игре также есть онлайн-сообщество, где участники могут сотрудничать, делиться кодом и соревноваться друг с другом.
Algotica Iterations
У игры необычный формат — 3D-пазл с приключениями. Игрок должен провести персонажа по имени Лони из одной точки каждого уровня в другую, используя команды, написанные кодом.
3D-локации хорошо просматриваются со всех сторон.
С каждым уровнем команды усложняются, что помогает игроку учиться в весёлой, развлекательной форме. При этом Algotica дружелюбна к игроку: здесь нет моментов, которые заставляют нервничать, графика и музыка приятные и даже расслабляют.
Дизайн локаций добавляет игре уюта.
CodeWars
CodeWars — это тренажёр для совершенствования навыков программирования на нескольких языках, включая JavaScript, Python, Ruby и др. Здесь можно отрабатывать синтаксис, решать алгоритмические задачи и работать с шаблонами проектирования. Задачи проверяет встроенный автоматический алгоритм. Одна из главных фишек CodeWars — сообщество и конкуренция. Пользователи могут соревноваться друг с другом и подниматься в таблице лидеров.
while True: learn()
Герой сюжета этой игры — специалист по машинному обучению, который хочет научиться понимать своего кота. Для этого ему надо создать и выпустить в релиз несколько программ. Здесь нет кода, игровой процесс состоит из визуального программирования через виджеты.
Одну и ту же задачу можно решить с использованием разного количества элементов, а перед релизом её можно многократно тестировать. Фрагмент разбора игры с канала StopGame.
Название игры — это отсылка к конструкции под названием «бесконечный цикл», в котором программа повторяет набор инструкций до тех пор, пока не будет выполнено определённое условие. Это довольно точно отражает игровой процесс.
Hacknet
Это хакерский симулятор с элементами детектива. Игрок следует командам загадочно погибшего хакера Бита, выполняя взлом через реалистичный интерфейс терминала. Здесь нет уровней и локаций, но есть затягивающий иммерсивный геймплей и завораживающее звуковое сопровождение.
Разработчики гордятся реалистичностью своего хакерского интерфейса, который не похож на «голливудские» аналоги.
Prime Mover
Эта игра сочетает жанры логической головоломки и симуляции программирования. Игроку будет нужно соединять элементы на поле, чтобы собрать рабочую схему и получить очки. Сюжета как такового у игры нет, но есть скрытая предыстория. Её можно узнать, разгадав все загадки. Игрок может видеть чужие достижения — рейтинговая система открыта для просмотра.
Пиксельный дизайн нравится не всем, но определённо добавляет игре аутентичности.
Shenzhen I/O
Это головоломка и симулятор инженера, в которой нужно собирать схемы из электронных компонентов и писать код на языке ассемблера. Среди доступных элементов — память, микроконтроллеры и даже ЖК-экраны. Игра не слишком проста для новичков. Как минимум, нужно знать основы ассемблера и прочитать техническое руководство к Shenzhen I/O.
В игре реалистичные электронные схемы.
Else Heart.Break()
Это приключенческая игра с красочной графикой и запутанным сюжетом. Вы будете управлять Себастьяном, который переезжает в новый город, чтобы устроиться на свою первую работу, найти друзей и любовь. Но город скрывает страшные тайны, которые Себастьян распутает с помощью своих программистских и хакерских навыков.
В Else Heart.Break() живой трёхмерный мир, что большая редкость для IT-игр.
Robocode
Это игра для продвинутых специалистов по Java. Главная цель Robocode — прокачать свой танк с помощью кода и победить противников, став лучшим из лучших. Игрок задаёт самостоятельно все параметры танка, начиная от импорта нового робота и заканчивая настройкой его поведения на поле. Играть в «Робокод» непросто, потому что среди соперников много профессионалов в программировании.
Бонус — Dungeons and Developers
Это не игра как таковая, а дерево навыков. Dungeons and Developers — это дань уважения культовой настолке D&D, только в числе умений здесь не ловкость или скрытность, а знание HTML, CSS, JS, баз данных, сервисов аналитики и другие. Игрок создаёт персонажа и постепенно открывает новые параметры в дереве навыков. Цель — приобрести все навыки и превратиться в Мастера.
Описание каждого навыка содержит ссылки на полезные материалы.
Конечно, это лишь малая часть IT-игр. Поделитесь в комментариях, играли ли вы в какие-то из них и какая ваша любимая «профессиональная» игра. Нам будет очень интересно об этом узнать.