Сегодня технологии проникают во все сферы жизни и обучение программированию — не исключение. Разработчики постоянно ищут способы получать новые знания и закреплять полученные навыки. Поэтому в дополнение к привычному изучению документации, ответам на Stack Overflow и общению с нейросетями приходят игры для разработчиков — те, в которых можно писать код.
В этих играх можно попрактиковаться в решении алгоритмических задач, оптимизировать код и провести свободное время с пользой. Приятный бонус: они улучшают эмоциональное состояние (особенно, когда все получается): снижают стресс, переключают от рутины и стимулируют креативность.
Robocode: битва роботов на базе Java
Игрокам нужно разработать алгоритмы, которые определяют поведение робота: как он двигается по полю, узнает местоположение машины соперника, таранит, стреляет или уворачивается от выстрелов. В результате игры определяется один победитель — будь то дуэль или схватка с несколькими соперниками.Кроме языка Java игра прокачивает понимание принципов объектно-ориентированного программирования, развивает алгоритмическое мышление и умение оптимизировать код. Благодаря Robocode начинающие разработчики могут столкнуться с проблемами оптимизации и отладки кода.
Robocode совместима с любой операционной системой, на которой установлена Java. Скачать игру можно на сайте проекта. Начинать игру лучше после изучения документации — ее можно посмотреть здесь.
Этот проект с открытым исходным кодом почти четверть века помогает разработчикам в практике с языком Java. Проект появился благодаря сотруднику IBM Мэттью Нельсону, который вдохновлялся игрой Robot Battle для Mac OS. В 2005 году, когда в IBM остановили работу над игрой, Нельсон добился того, чтобы проект вывели в открытый доступ. После чего за работу проекта отвечает сообщество разработчиков, которые по-прежнему поддерживают его актуальность и функционал.
Codingame: вызовы для разработчиков на 25 языках программирования
Codingame — полноценная игровая платформа с головоломками, задачами и соревнованиями для разработчиков различных грейдов. Программировать тут можно на 25 языках, включая Python, Go, C#, Ruby и других.В отличие от Robocode, для начала игры здесь не нужно ничего скачивать. Достаточно зайти на сайт и создать аккаунт через почту или привязать его к аккаунту на GitHub. Последнее особенно полезно, ведь считается, что CodinGame используют рекрутеры, чтобы искать кандидатов.
После короткого онбординга пользователь сразу сможет выполнять челленджи во внутренней среде разработке платформы. По мере прохождения задачи будут усложняться — от стартовой программы, которая определяет кратчайшее расстояние до цели, до сложных проектов, требующих глубокого понимания структур данных и алгоритмов.
На сайте Codingame игроки могут сравнивать свои успехи с результатами коллег по всему миру у которых также можно попросить совета. Так что кроме навыков игра позволит найти единомышленников, общение с которыми будет мотивировать к решению новых задач.
Screeps: MMO-стратегия для фанатов JavaScript
Классическая массовая многопользовательская игра, цель которой — нарастить влияние в виртуальном мире. Суть игры — написать ИИ юнита на JavaScript, который бы добывал ресурсы, строил базы, захватывал территории, производил товары и торговал ими.Влиять на поведение юнита игрок может только с помощью кода, а всё остальное время юнит живет своей жизнью (в реальном времени) в мире, состоящем из 70 тысяч взаимосвязанных игровых комнат. То есть, регулярно заходить и проводить в игре по 4 часа в день не нужно — достаточно время от времени проверять, что у колонии всё в порядке.
На фоне других игр Screeps выделяется сложностью игрового процесса: здесь каждый фрагмент кода может повлиять на развитие виртуальной империи. Игра учит пользователя работать с асинхронностью, оптимизировать алгоритмы и даже планировать ресурсы, что очень полезно при разработке реальных веб-приложений и серверных систем.
Код в этой игре можно писать как во встроенном редакторе, так и в собственном. В отличие от предыдущих игр, за эту придется заплатить — она доступна в Steam (там же продаются предметы для игры и расширенный доступ к вычислительным мощностям площадки). Но перед этим можно протестировать — на сайте есть демоверсия. Перед этим игроку напомнят, что для игры нужны знания JavaScript и даже порекомендуют бесплатный 15-часовой курс по языку на Codeacademy.
SQL Murder Mystery: расследование с использованием SQL
Если скачивать или покупать игру не хочется, то можно начать играть прямо в браузере (хоть на телефоне). Например, в SQL Murder Mystery — детективное расследование, в рамках которого можно потренировать сложные запросы на SQL и проверить понимание реляционных баз данных.Расследование начинается как в классике жанра: детективу, который расследует убийство в SQL City понадобилась ваша помощь, но есть загвоздка: вы потеряли отчет с места преступления, но помните, что оно произошло 15 января 2018 года. Поэтому начать игру приходится с извлечения отчета из базы данных полицейского участка.
Путем написания и исполнения SQL-запросов, игрок проходит несколько уровней и практикуется в поиске связей между таблицами, анализе данных, фильтрации информации и других процессах, которые в итоге помогают раскрыть преступление. А если что-то пойдет не так, пользователь всегда может заглянуть в руководство по прохождению.
Эта игра не только позволяет проверить знания SQL, но заставляет мыслить логически и аналитически, отрабатывая необходимые для программиста навыки работы с большими объемами данных.
Codewars: карате-тренажер для совершенствования навыков программирования
Платформа Codewars позволяет участникам совершенствовать свои навыки или изучать чужие через решение задач и головоломок, известных как «ката» — их придумывает сообщество платформы. Практика проходит на сайте, который называют додзё, а код-ревью называется кумите. Всё это создают атмосферу боевых искусств, которая стимулирует оттачивать мастерство программистских навыков. Всё как в боевых искусствах.Codewars поддерживает 55 языков программирования, среди которых Java, JavaScript, Python, Ruby, C#, C++, PHP, Swift, Kotlin, Golang, TypeScript и многие другие. Выбирать задачи можно не только по языку программирования, но и по уровню сложности — кю. Всего таких уровней восемь: чем ниже кю, тем тяжелее решить задачу. Если только начинаете знакомиться с программированием, то подойдут восьмой и седьмой уровни. Когда они будут даваться легко, можно переходить на один-два уровня выше. Задачи четвертого и третьего уровней рассчитаны на программистов с уверенными знаниями языка и навыками решения алгоритмических проблем. Второй и первый кю — задачи повышенной сложности, которые вряд ли встретятся на работе, но смогут заинтересовать самых продвинутых специалистов.
Еще одна особенность платформы — система кланов. При регистрации вы можете вступить в определенный клан, который позволит ощущать, что вы не одинокий самурай в мире кода. В клане можно следить за успехами других участников, обсуждать решения ката и соревноваться за лидерство в своем клане. Это создает дружескую атмосферу и помогает не отставать в своем развитии.
Войти в додзё можно по ссылке.










