+7 996 640-64-40
+7 996 640-64-40
info@in-term.ru
info@in-term.ru
@interm72
@interm72
Проект вдохновлен классической обучающей игрой для MS-DOS «Roo» 1993 года.

Обучающая игра

Roo Coder

11.2025 ~ настоящее время
Игра представляет собой интерактивный учебник азам программирования на Си-подобных языках в игровой форме. Задача данного игрового проекта – познакомить игрока с азами программирования, рассказать о таких понятиях как переменные, функции, логические операторы, математические и логические операции, и научить применять их.

Игроку объясняется тема каждого урока и дается рисунок-образец. Игрок пишет код управления кенгуренком, состоящий из 3 базовых команд – шаг, прыжок и поворот. На шаг кенгуренок рисует линию, на прыжок просто перемещается на следующую клетку. При рисовании замкнутого контура одного цвета он автоматически заливается этим цветом. Для завершения уровня игроку необходимо в точности повторить предоставленный рисунок-образец. При прохождении уровня подсчитываются результаты игрока.
Темы учебника раскрываются от простых к более сложным по мере прохождения игры, а размер поля увеличивается от 8х8 до 32х32 ячеек подстегивая игрока к написанию более оптимизированных и переиспользуемых алгоритмов. Максимальный размер поля в игре 64х64 ячейки.

Описание проекта

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

Результат на текущий момент

07.2026
1. Интерпретатор-Компилятор
Создание интерпретатора-компилятора. В процессе разработки было создано последовательно около 3 различных версий компилятора. Хотя задача стоит на первый взгляд простая - превращать пользовательские команды в несколько элементарных команд для кенгуренка, самым адекватным вариантом оказалось почти полностью воссоздать методы работы реальных промышленных компиляторов.
Финальная версия компилятора работает по следующим шагам:
  • Токенизация - разбирает код пользователя на мельчайшие частицы, присваивает каждой логический смысл и выстраивает их в непрерывный ряд;
  • Валидация - проверяет корректность последовательности токенов, исключает грубые ошибки;
  • Построение AST дерева (abstract syntax tree) - создает схему программы на основе подобранных токенов;
  • Валидация - проверяет корректность построения АСТ дерева;
  • Линковка - производит связку используемых переменных и функций с точками их объявления, проверяет совпадение типов в местах связки;
  • Компиляция - если ошибок нет, на основе построенного AST собирается рабочая программа.
В реальных компиляторах есть ещё несколько дополнительных этапов, но общий алгоритм такой же.

2. Геймплей и основные системы
Приняты и реализованы основные геймплейные механики. Определён размер полей для разных уровней сложности, добавлен механизм выбора цвета и буфер для хранения красок ограниченной вместимости. Доработаны системы сохранения и загрузки всех данных используемых в игре - это уровни, пользовательский и предзаданный код, информация для учебника, системные настройки и т.д.
Добавлен учебник, в котором описаны все возможности местного языка программирования.
Добавлена подсветка синтаксиса в кодовом окне, доработан интерфейс "ручного управления".

3. Контент уровней
на 80% распланирован контент для уровней на прохождение. 25% контента создано в игре - это схемы уровней и код разработчика для их прохождения.
Всего в игре планируется 4 уровня сложности, включающих 32 легких, 16 средних, 16 сложных и 4 расширенных схемы для каждого уровня соответственно.
Продолжение следует...

Завершенные элементы: