Существует достаточно много ресурсов, которые предлагают превратить обучение в игру. Процесс, в котором игровой подход, характерный для компьютерных игр, используется в неигровом контексте, называется геймификация (или игрофикация, от англ. gamification). Сегодня разработчики могут геймифицировать практически всё – от взаимодействия пользователя с сайтом до образования. Целью этого является повышение вовлеченности пользователей, эффективности обучения и получение нового уникального пользовательского опыта. Наверное, самым распространенным направлением обучения в таком формате является программирование – о нём и пойдет речь в статье.
Если Вы хотите стать веб-разработчиком, но не знаете с чего начать – Dungeons & Developers именно то, что Вам нужно. Сайт представляет собой дерево навыков в стиле RPG – выбираешь аватарку, имя и приступаешь к изучению. Навыки представлены в виде иконок, при наведении курсора появляется всплывающее окно со ссылками на образовательные ресурсы и статьи по теме. Кликаешь – отмечаешь, как изученное и переходишь на следующий уровень. Страницу можно добавить в закладки, чтобы после изучения очередного навыка не заполнять всё заново.
Как ясно из названия Ruby Warrior поможет познакомиться с синтаксисом Ruby – одного из современных языков программирования, который стал популярным в последнее время. Вся игра нарисована в стиле пиксель-арт и имеет соответствующий саундтрек. Цель – провести рыцаря к лестнице на следующий уровень, обходя препятствия и убивая пиксельных монстров своим кодом. Игра требует минимальных знаний и возможности самостоятельно найти нужную информацию, зато предлагает интересные логические задачи.
На первый взгляд обычная браузерная MMORPG на деле оказывается неплохим игровым туториалом. Из очевидных плюсов – игра переведена на русский и украинский языки (99% и 90% уровней соответственно), имеет понятный интерфейс и достаточное количество справочных материалов и видео – так что даже если Вы знаете о программировании только то, что «надо что-то писать» быстро разобраться труда не составит. Стоит отметить возможность выбора языка программирования, который хотите изучать. На данный момент доступны: Python, JavaScript, CoffeeScript, Clojure, Lua и Io. Игра развивается, разрабатываются новые уровни и переводятся уже существующие, кстати, с этим все заинтересованные могут помочь разработчикам
Codewars не совсем игра, но все же имеет элементы игровой логики. Суть заключается в решении заранее подготовленных для Вас задач – ката. Чем лучше будет код – тем больше очков. Уже имеется большая база заданий разного уровня сложности и сообщество постоянно пополняет их количество. Кроме того, Вы получаете возможность читать чужой код, сравнивать со своими решениями и обсуждать их. Этот ресурс позволяет улучшить уже имеющиеся навыки по одному из языков на выбор: JavaScript, CoffeeScript, Ruby, Python, Clojure, Haskell, Java и C#.
Ваша цель в Fight Code заключается в том, чтобы запрограммировать самого умного робота и победить, с помощью него, всех противников в чемпионате. Чем больше побед в боях – тем, соответственно, выше место в рейтинге. Весьма нестандартный способ оттачивать навыки JavaScript и алгоритмизации, да и роботы очень похожи на танки из Battle City, тем не менее есть возможность посоревноваться с 30 000 людей, посмотреть код в открытом доступе и предложить что-то своё.
Если же Вам хочется программировать боевых роботов, но абсолютно не интересен JavaScript – стоит попробовать Robocode. Здесь идея аналогичная Fight Code, а основные отличия в том, что это приложение, которое вы устанавливаете на свой компьютер, а в качестве платформы разработки можно использовать .NET или Java. Все сражения тоже проходят на Вашем личном компьютере (роботов можно скачать с сайта игры).
В этой игре вы экспериментальная программа под названием CODE HUNTER. Вас отправили на секретный компьютер, чтобы найти, восстановить и собрать максимальное количество кода. На деле же предстоит исправлять код C# или Java, зарабатывать очки и бонусы за красивый код. Подсказок по решению задач или какой-то справочной информации здесь нет и всё самому придётся искать в интернете. Возможно это и к лучшему – умение пользоваться гуглом не помешало ещё ни одному программисту.
Следующая игра отлично подойдёт тем, кто хочет проникнуться дзэном Python`а и довести свой код до совершенства. Как и в Code Hunt и Codewars вам предлагаются задачи различной сложности. Мир CheckiO разделен на острова – решаешь задачи, зарабатываешь баллы и за них «покупаешь» доступ к следующим уровням. Задачи для новичков сопровождаются подробными подсказками, а вот над более сложными нужно будет поломать голову самому. В тупиковых ситуациях есть возможность спросить помощи на форуме. К опубликованным решениям можно оставлять комментарии или голосовать за них. Есть топ самых популярных и самых комментируемых решений к каждому заданию. Разработчики игры родом из Украины и большая часть заданий (127 из 187) переведена на русский язык.
В последнее время таких игр становится всё больше и охват языков в каждой из них расширяется. Единственное, что может отпугнуть это платный доступ к части заданий или контента в некоторых из них, но вы должны понимать – все хотят достойного вознаграждения за свой труд, а вложенные сегодня в своё образование несколько долларов ничтожно малы по сравнению с бесценными знаниями и навыками, которые за них можно получить.
Игры понравились, но на сайте не все игры для программистов. Вот, кто сыграл и хочется еще – могу предложить попробовать https://my-gamezone.ru/igry-dlja-programmistov
http://javarush.ru/ хороший ресурс. Правда, чтобы пройти до конца все уровни придется раскошелиться.
Очень хорошая обучалка http://www.codecademy.com
Zhdanov_K, да, отличный туториал с понятным объяснением синтаксиса)
Забыли code.org – там есть уровни для детей, и даже дошкольников. А видеолекции читают Марк Цукерберг и Стив Джобс.
liaferius, Это ведь курсы, просто «для самых маленьких» :)