Интерактивная обучающая компьютерная игра для развития навыков программирования

Бесплатный доступ

В настоящее время игровая индустрия относится к одному из наиболее развивающихся направлений цифровых технологий. Актуальность данной работы заключается в том, что использование компьютерных игр в обучающем процессе позволяет повысить степень вовлечённости обучающихся в процесс обучения и эффективность самого процесса. Цель данной работы – проектирование и реализация обучающей компьютерной игры, сочетающей образовательный контент по программированию с увлекательным игровым процессом и интерактивным сюжетом. В рамках работы проведен анализ успешных обучающих игр, игровых механик и подходов к обучению, сформулированы требования к новому программному обеспечению, разработаны архитектура программной системы, механики взаимодействия с пользователем и основные алгоритмы для их реализации. Для определения ключевых потребностей целевой аудитории в подобных обучающих играх с помощью сервиса Google Forms было проведено онлайн-анкетирование, результаты которого убедительно продемонстрировали высокий уровень интереса потенциальных пользователей к программным продуктам такого рода. Практическая значимость заключается в разработке прототипа обучающей игры, который может быть использован как в образовательных учреждениях, так и для самостоятельного изучения программирования. Разработанная обучающая игра представляет собой настольное приложение, написанное на языке С++ с использованием игрового движка Unreal Engine 5. Некоторые элементы игровой логики были реализованы с помощью системы визуального программирования Blueprint. Для создания визуального наполнения использовались 3D-модели, разработанные в 3D-редакторе Blender, и 2D-графика, созданная с помощью растрового графического редактора Krita. Для автоматизации рутинных операций в Blender были написаны скрипты на языке Python.

Еще

Обучающие компьютерные игры, игровые механики, игровой движок Unreal Engine, программирование

Короткий адрес: https://sciup.org/148333218

IDR: 148333218   |   УДК: 004.67   |   DOI: 10.18137/RNU.V9187.26.01.P.4

Interactive educational computer game for programming skills developing

At the present time, the gaming industry has become one of the most rapidly developing areas of digital technology. The relevance of this work lies in the fact that the use of computer games in the learning process allows to increase the degree of involvement of students in the learning process and the efficiency of the process itself. The aim of this work is to develop an educational computer game that combines educational programming content with an exciting gameplay and interactive plot. An analysis of successful educational games, game mechanics and approaches to learning has been carried out, the requirements for new software were formulated, the architecture of the software system, mechanics of interaction with the user and basic algorithms for their implementation were developed. To determine the key needs of the target audience for such educational games, an online survey was conducted using the Google Forms service. The results of the survey have convincingly demonstrated a high level of interest among potential users in software products of this kind. The practical significance of the work lies in the development of a prototype of an educational game that can be used both in educational institutions and for independent study of programming. The suggested educational game is a desktop application developed using the Unreal Engine 5 game engine and C++ programming language. Some elements of game logic were implemented using the Blueprint visual programming system. To create the visual content, we used 3D models developed in the Blender 3D editor and 2D graphics developed using the Krita raster graphics editor. To automate routine operations in Blender, we used python-scripts.

Еще

Текст научной статьи Интерактивная обучающая компьютерная игра для развития навыков программирования

Обучающие игры стали использоваться в процессе обучения в начале XX века, когда стало очевидно, что традиционные методы обучения не всегда способствуют активному вовлечению учащихся в данный процесс. В результате последующего развития компьютерных технологий и связанной с ними игровой индустрии стали создаваться более сложные и интерактивные обучающие игры. В качестве примера таких игр можно привести игры Oregon Trail, которая обучала студентов истории освоения американского запада, и The Lemonade Stand, которая прививала основы предпринимательства и управления финансами. Эти игры пользовались популярностью среди преподавателей, которые видели в них определенный потенциал для обучения через игровой процесс [1–4].

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

Современные обучающие игры активно используют технологии виртуальной реальности (VR) и дополненной реальности (AR) [5]. Например, VR-игры, такие как Anatomy 4D, позволяют студентам изучать человеческую анатомию в интерактивной форме, что делает процесс обучения более наглядным и запоминающимся.

Следует отметить, что обучающие игры сегодня применяются не только в школах и университетах, но и в корпоративном обучении. Например, игры для тренировки навыков управления и командной работы, такие как Escape the Room, используются для развития коммуникационных и лидерских качеств среди сотрудников различных предприятий [6].

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

Однако, несмотря на определенные преимущества обучающих компьютерных игр, существует ряд нерешенных вопросов, связанных с адаптацией игровых методов к различным возрастным группам и образовательным системам.

Цель данной работы заключается в разработке и реализации обучающей компьютерной игры на базе собственной концепции игрового мира, объединяющей в себе элементы игрового процесса и образовательные задачи в области программирования.

Определение ключевых потребностей целевой аудитории

Для определения ключевых потребностей и желаний потенциальных пользователей предлагаемой обучающей компьютерной игры с помощью сервиса Google Forms было проведено онлайн-анкетирование. Расчет оптимального размера выборки производился по следующей формуле:

Z 2 p (1 - p ) n =                ,

2 e где Z – значение Z-статистики, соответствующее заданному уровню доверия; p – оценочная доля в генеральной совокупности; e – допустимая ошибка.

Для значений уровня доверия 95 % ( Z = 1,96, p = 0,2 и e = 0,05) размер оптимальной выборки при расчете по формуле (1) составил 246 человек.

Все вопросы анкеты были разделены на две части: первая часть содержала вопросы с выбором нескольких ответов, вторая часть – вопросы с выбором единственного варианта ответа. В опросе участвовали 250 человек. Основные результаты проведенного опроса:

  • •    наибольший интерес для респондентов представляют обучающие игры по программированию;

  • •    наибольшее внимание участников анкетирования привлекли адаптация сложности (47,6 %), наличие помощников и возможность повторения (по 46,4 %), что говорит о важности гибкости и поддержки пользователя в игровом процессе;

  • •    наибольшее количество голосов получили задачи на составление ответа из фрагментов (46,4 %), что указывает на высокую ценность интерактивных и необычных заданий, а также привычных методов игрового обучения через ответы на вопросы;

Интерактивная обучающая компьютерная игра для развития навыков программирования

  • •    чаще всего респонденты выбирали визуально привлекательный интерфейс (56,8 %) и легкость навигации (53,2 %), что подчеркивает значимость удобства в обучающих играх, поскольку подобные игры используются, как правило, для повышения эффективности обучения и запоминания информации;

  • •    подавляющее большинство опрошенных (более 90 %) использовали обучающие игры хотя бы один раз, что свидетельствует о значительном интересе к обучающим играм как к инструменту образовательного процесса;

  • •    около 80 % опрошенных заявили о своей активной заинтересованности в обучении, в то время как оставшиеся 20 % выразили низкий уровень вовлеченности, что подчеркивает важность создания мотивирующих условий для повышения интереса к образовательным играм;

  • •    около 85 % респондентов проявляют интерес к наличию уровней сложности, что свидетельствует о необходимости разработки гибких образовательных решений, способных учитывать разнообразие потребностей пользователей;

  • •    для 88 % опрошенных наличие системы наград и достижений в обучающих играх представляет собой серьезный мотивирующий фактор;

  • •    около 33 % участников опроса считают обучающие игры очень эффективными, 44,8 % опрошенных отмечают их более высокую эффективность по сравнению с традиционными методами обучения, подтверждая большой потенциал обучающих игр как инновационного подхода к образовательному процессу.

Таким образом, результаты проведенного онлайн-опроса убедительно демонстрируют высокий уровень интереса респондентов к обучающим играм и свидетельствуют о значительной популярности и эффективности таких игр в современном образовательном процессе.

Общая концепция игры

Предлагаемая компьютерная игра «Бесконечная рекурсия» представляет собой образовательную игру, сочетающую в себе интерактивные элементы и игровые механики для обучения. Основная цель игры – предоставить игроку интерактивный и увлекательный опыт, который позволит ему освоить основы программирования, логики и решения задач с помощью ответов на вопросы викторин, кодовых пазлов и взаимодействия с учебным материалом.

Основные элементы структуры игры могут быть представлены следующим образом.

Наличие явной и неявной обучающей цели . Явная цель игры – изучение игроками базовых понятий языка программирования C++. Неявная цель игры – развитие логического мышления и формирование навыков самообучения.

Наличие интерактивной среды . В игре реализовано взаимодействие между пользователем и средой.

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

Адаптивность среды. Игра включает в себя различные уровни – от простых заданий до более сложных, что должно позволить игроку постепенно наращивать свои навыки и знания.

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

Оценка эффективности обучения . В игре накапливаются статистические данные по успеваемости игрока, что позволяет визуализировать результаты обучения во времени и определить области знания, требующие дополнительного внимания.

Название «Бесконечная рекурсия» (Endless Recurcion) отражает одну из ключевых особенностей игры – использование рекурсивных механик в процессе обучения. Рекурсия как идея характеризуется повторением, что идеально подходит для обучающей игры, где игрок постоянно возвращается к изучению и углублению своих знаний. Таким образом, предлагаемое название игры символизирует бесконечный процесс обучения и самосовершенствования, который лежит в основе игрового опыта.

Разработанная игра отличается от большинства привычных обучающих игр тем, что в неё интегрирована небольшая сюжетная кампания и развитие лора персонажей. Это нововведение направлено на улучшение игрового опыта в перерывах между решением различных задач и головоломок, которые являются основной частью игрового процесса.

Каждый персонаж в игре обладает предысторией, мотивацией и характером. Информация о персонажах доступна через интерактивный интерфейс на компьютере главного героя. Игроки могут кликать на иконки, представляющие различных персонажей, и получать доступ к их биографиям и ключевым моментам, связанным с их развитием в сюжете. Это не только обогащает игровой процесс, но и позволяет игрокам лучше понять контекст и значение каждого персонажа в рамках общей истории.

Важным элементом взаимодействия с персонажами является диалоговая система, которая позволяет игрокам вести беседы с ними. Диалоги включают выбор вариантов ответов, что добавляет элемент стратегии. Игроки могут выбирать, как реагировать на реплики персонажей, что будет влиять на дальнейшее развитие сюжета и взаимоотношения между персонажами.

Таким образом, обучающая игра «Бесконечная рекурсия» представляет собой инновационный подход к образовательным играм, который не только делает процесс обучения более увлекательным, но и обеспечивает эффективное усвоение знаний в контексте увлекательного сюжета.

Целевая аудитория

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

Портрет целевой аудитории для обучающей игры по изучению языка программирования С++ с сюжетом в формате визуальной новеллы может быть определен следующими группами.

  • 1.    Начинающие:

  • •    возраст 12–18 лет, 18–25 лет;

  • •    характеристики: школьники и студенты, начинающие изучение программирования и предпочитающие интерактивные и увлекательные методы обучения;

  • •    мотивация: стремятся изучить язык C++ как первый язык программирования, интересуются игровой индустрией или хотят развить базовые технические навыки.

  • 2.    Средний уровень:

Интерактивная обучающая компьютерная игра для развития навыков программирования

  • •    возраст 18–30 лет;

  • •    характеристики: студенты, изучающие компьютерные науки или смежные специальности, молодые специалисты, которые хотят углубить свои навыки в C++;

  • •    мотивация: стремятся изучить специфические библиотеки или фреймворки (например, Qt, STL) или подготовиться к экзаменам и собеседованиям.

  • 3.    Любители аниме / визуальных новелл:
  • •    возраст 14–35 лет;

  • •    характеристики: люди, которые любят аниме, визуальные новеллы или игры с красивой графикой и увлекательным сюжетом, они могут быть заинтересованы в изучении C++ как способа создания своих собственных игр или проектов;

  • •    мотивация: желание пройти увлекательную сюжетную игру с выборами ответов, одновременно узнавая что-то новое.

  • 4.    Педагоги и преподаватели:
  • •    возраст 20–50 лет;

  • •    характеристики: учителя информатики в школах, преподаватели вузов, кураторы кружков или секций;

  • •    мотивация: поиск эффективных инструментов для обучения программированию, сделанных в игровой форме, что делает процесс обучения более интерактивным и интересным.

На Рисунке 1 представлена диаграмма вариантов использования предлагаемого приложения.

Рисунок 1 . UML-диаграмма вариантов использования приложения Источник: рисунки выполнены авторами

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

Основная функциональность приложения

Предлагаемая программная система представляет собой интерактивную обучающую игру со следующими основными возможностями.

Викторина по основам языка С ++. Система обеспечивает проверку знаний пользователей по базовым конструкциям языка программирования С++ и содержит:

  • •    викторину с вопросами различной сложности для пользователей всех уровней подготовки;

  • •    оценочную балльную систему для стимулирования игроков;

  • •    таймер для реализации ограничения по времени для вопросов, требующих быстрых ответов.

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

Интерактивные учебники . Система предоставляет возможность просмотра теоретического материала по языку С++ с помощью объяснений персонажами игры, записок или внутриигрового справочника. Для этого в системе реализованы:

  • •    пространство для чтения, представляющее собой интерфейс с текстом и иллюстрациями; при наведении курсора на изображение оно увеличивается для более удобного просмотра;

  • •    возможность взаимодействия с персонажами, а именно возможность задавать вопросы или получать дополнительные объяснения; например, при наведении курсора на ссылку в тексте всплывает плашка с объяснением этого слова;

  • •    возможность применения полученных теоретических знаний на практике в викторинах или пазлах.

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

  • •    кликабельные (активируемые щелчком мыши) объекты: книги, компьютер, постеры и др.;

  • •    доска с заметками, подойдя к которой можно выбрать персонажа и позвонить ему (в этом случае открывается соответствующая ветка диалога);

  • •    отображение информации, которую игрок получает при взаимодействии с объектами, например, полученной подсказки для решения задачи или пароля для входа в систему.

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

Элементы визуальной новеллы реализуются:

  • •    через интерфейс диалогов в виде диалоговых окон с возможностью выбора ответов или действий;

Интерактивная обучающая компьютерная игра для развития навыков программирования

  • •    влияние выбора игрока, когда решения игрока влияют на развитие сюжета и результаты обучения; при этом разные пути сюжета предоставляют различные обучающие материалы и задания.

Кастомизация рабочего пространства . В игре предусмотрена система наград и кастомизации, которая играет ключевую роль в поддержании интереса пользователей. Основные возможности кастомизации рабочего пространства включают в себя:

  • •    возможности настройки рабочего стола главного героя;

  • •    возможность смены тем и обоев во вкладке «Кастомизация»;

  • •    возможность добавления новых приложений или предметов по мере прохождения игры.

Используемые технологии

Приложение разработано с помощью популярного игрового движка Unreal Engine 5 [8] и языка программирования С++ [9]. Выбор языка С++ в качестве основного языка программирования был обусловлен тем, что Unreal Engine предоставляет обширный API на C++, содержащий большое количество различных модулей. Использование языка C++ в Unreal Engine обеспечивает высокую производительность [10], что очень важно для игр со сложной графикой и физикой.

Поскольку программирование на языке C++ в Unreal Engine представляет собой непростой и достаточно трудоемкий процесс, для решения некоторых задач (в основном для реализации игровой логики) при разработке приложения использовалась система визуального программирования Blue-print [8], созданная компанией Epic Games и внедренная в Unreal Engine для ускорения процесса разработки. Система поддерживает основные концепции объектно ориентированного программирования и может взаимодействовать с кодом на языке С++, обеспечивая тем самым гибридный подход к разработке.

Для реализации 3D-моделей (в частности, модели главного персонажа и его комнаты с рабочим пространством) использовался популярный 3D-редактор Blender1 [11].

Для создания 2D-элементов приложения (в частности, элементов интерфейса) и визуального дизайна (в частности, для создания единого визуального стиля игры) использовался растровый графический редактор Krita [12].

Для автоматизации рутинных задач в Blender (например, для создания повторяющихся моделей, текстурирования, анимации), создания пользовательских инструментов, оптимизации процессов рендеринга использовались скрипты, написанные на языке программирования Python2.

Общая схема работы приложения

Основные ключевые режимы игры отражены в виде отдельных состояний на UML-диаграмме, представленной на Рисунке 2.

Переходы между функциональностями игры реализованы через действия игрока, которые отображены на диаграмме в виде стрелок. Основные состояния игры:

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

  •    начать игру – происходит перевод игрока из начального меню в основное игровое окружение;

  •    осмотреть компьютер – происходит перевод игрока к рабочему столу персонажа для взаимодействия с дополнительными режимами;

  •    выбор иконки – происходит перевод игрока в соответствующее состояние, например, «Викторина», «Пазлы кода», «Кастомизация», «Учебник»;

  •    вернуться – позволяет игроку возвращаться к предыдущему состоянию.

Повторно нажата «E»

«Выход»

Рисунок 2 . Общая схема работы приложения

Компьютер в комнате персонажа является центральным элементом, через который доступны различные игровые режимы, что отражено на диаграмме состояний через состояние «Рабочий стол на компьютере персонажа», из которого можно перейти к викторине, пазлам кода, настройке и учебнику.

Диаграмма состояний предоставляет структурированную навигацию по различным игровым режимам и задачам, позволяя свободно перемещаться между состояниями через

Интерактивная обучающая компьютерная игра для развития навыков программирования действия, такие как нажатие кнопок или выбор иконок. Это обеспечивает последовательный и понятный игровой опыт, благодаря которому игрок может глубже взаимодействовать с игровым миром и его элементами.

Программная реализация приложения

Разработанное приложение представляет собой настольное приложение с многооконным графическим интерфейсом. Приложение представляет собой объектно ориентированную программу, написанную на языке С++ с использованием игрового движка Unreal Engine 5, системы визуального программирования Blueprint, 3D-редактора Blender и растрового графического 2D-редактора Krita. Помимо стандартных библиотечных классов использовались и свои собственные классы, а также python-скрипты.

При запуске приложения открывается главное окно приложения, представленное на Рисунке 3.

При входе в систему пользователю открывается рабочий стол, на котором расположены иконки, предназначенные для запуска различных приложений (викторина, пазлы, интерактивный учебник и др.). При выборе конкретного приложения запускается соответствующая анимация и отображается виджет для описания режима работы с приложением.

Рисунок 3. Главное окно приложения

Общий вид рабочего стола с выводом сообщения о выбранном режиме игры представлен на Рисунке 4.

Рисунок 4 . Общий вид рабочего стола

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

Основные механики игры

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

Викторина состоит из пяти вопросов по каждой теме. У игрока есть двадцать секунд на ответ. Если игрок не уложился в отведенное время, то ответ считается неправильным, и игра переходит к следующему вопросу. Кроме времени игрок может следить за счётчиком правильных ответов. После завершения викторины игрок получает результаты в небольшом окне-виджете, куда данные передаются через глобальные переменные.

Функционал таймера реализован средствами Unreal Engine. При каждом новом запуске все вопросы викторины перемешиваются случайным образом с помощью специально разработанной функции.

Пример диалогового окна для работы с викториной представлен на Рисунке 5.

Рисунок 5 . Диалоговое окно для работы с викториной

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

Пример диалогового окна для работы с пазлами кода представлен на Рисунке 6.

Рисунок 6 . Диалоговое окно с пазлами программного кода на языке C++

Интерактивная обучающая компьютерная игра для развития навыков программирования

Интерактивные учебники . Для более глубокого погружения в процесс обучения используются интерактивные учебники. В них игроки могут прочитать теоретическую информацию с объяснениями от персонажей игры. Это позволяет игрокам применять полученные знания в контексте игрового сюжета, делая процесс обучения более интерактивным и естественным.

Пример страницы интерактивного учебника по теме «Ссылки и указатели» представлен на Рисунке 7.

Рисунок 7 . Страница интерактивного учебника

Взаимодействие игрока с предметами . Для большего вовлечения в сюжет игры в комнате главного героя можно найти различные предметы, с которыми можно взаимодействовать и узнавать что-то новое об игровом мире.

Для удобного осмотра игровой локации и взаимодействия с объектами была реализована система переключения между режимами камеры «от третьего лица» и «от первого лица». Данная механика была осуществлена через создание двух режимов работы камеры в классе игрового персонажа:

  •    Camera – установка камеры в области головы персонажа;

  •    Follow Camera – установка камеры за спиной персонажа на относительно близком расстоянии, что позволяет значительно увеличить угол обзора игрока и облегчить исследование окружения, включая подробный осмотр комнаты.

Для улучшения взаимодействия игрока с объектами в игровом мире в режиме камеры «от первого лица» был разработан интерфейс HUD (Heads-Up Display), который обеспечивает более точное наведение на интерактивные элементы, тем самым минимизируя путаницу в выборе предметов. Для этого был разработан собственный виджет WBP_ HUD, включающий элемент изображения (элемент Image).

Для взаимодействия с предметами в приложении использовались как средства Unreal Engine (например, коллизии), так и свои собственные классы (например, класс, отвечающий за вращение и приближение/отдаление предмета).

Чтобы игрок не уделял слишком много времени сюжету и осмотру различных предметов, в приложении была реализована система учета энергии персонажа, которая должна ограничивать количество осматриваемых предметов.

Основные принципы работы системы:

  • •    один раз в тридцать секунд восстанавливается одна единица энергии;

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

  • •    для осмотра предмета необходимо пять единиц, а если их будет недостаточно, то игра выведет виджет с сообщением о том, сколько времени осталось до полного восстановления энергии.

Основная локация игры (комната главного героя) представлена на Рисунке 8.

Рисунок 8 . Вид комнаты главного героя

Система наград и достижений

Для поощрения игроков к активному участию в учебном процессе в приложении были разработаны следующие типы наград:

  •    бейджи – специальные значки, которые игроки получают за выполнение определенных задач или достижение определенных результатов; например, за правильное решение пазлов кода игрок может получить бейдж «Мастер синтаксиса»;

  •    очки и уровни – позволяют игрокам по мере накопления опыта и повышения уровня переходить к более сложным заданиям; за очки можно получить предметы для кастомизации рабочего пространства;

  •    виртуальные награды – внутриигровые награды, такие как темы, аватары или другие косметические элементы, которые позволяют игрокам персонализировать свой профиль;

  •    сезонные награды – периодические акции, такие как ежемесячные ивенты или награды, которые стимулируют игроков к более активному участию; награды персонализированы, т. е. адаптированы под стиль и предпочтения игрока; например, используются уникальные аватары или темы, основанные на прогрессе обучающегося и его предпочтениях.

Награды могут быть интегрированы в сюжетные линии, открывая доступ к новым историям или персонажам при выполнении определённых задач.

Кроме того, система наград адаптивна и поддерживает возможность регулярного обновления на основе обратной связи игроков и изменений в игровом процессе. Это позволяет добавлять новые типы наград и корректировать существующие, поддерживая интерес даже у постоянных игроков.

Кастомизация рабочего пространства

Для повышения комфорта и эффективности работы с приложением были реализованы следующие возможности для пользователей по настройке приложения в соответствии со своими предпочтениями и потребностями:

Интерактивная обучающая компьютерная игра для развития навыков программирования

  •    настройка рабочего стола – возможность выбора темы, обоев, некоторых иконок на рабочем столе главного героя;

  •    персонализация профиля – возможность выбора аватара, статуса и других элементов, отражающих индивидуальность пользователя.

Система диалогов с элементами визуальной новеллы

В приложении были реализованы следующие элементы системы диалогов:

  •    интерфейс диалогов – диалоговые окна с текстом, позволяющие выбрать ответ или действие, которые влияют на развитие сюжета;

  •    визуальные элементы – иллюстрации, анимации и графические эффекты, создающие иммерсивную атмосферу и способствующие лучшему усвоению учебного материала;

  •    интерактивные моменты – позволяют игрокам принимать решения, которые влияют на развитие сюжета и результаты обучения.

Часть диалоговой системы реализована в виде пользовательских виджетов. Для некоторых ситуаций реализованы полноценные диалоги с персонажами с возможностью выбора ответа для игрока. Для создания таких диалогов использовалось дерево поведения (Behavior Tree) из Unreal Engine.

Помимо реализации привычных диалогов в приложении существует возможность создания полноценных диалогов с персонажами. Реализация такого полноценного диалога выглядит следующим образом. На первом этапе необходимо подойти к доске и выбрать персонажа, с которым пользователь хочет поговорить по телефону. При столкновении главного персонажа с коробкой коллизии над изображением выбранного персонажа появляется виджет, представленный на Рисунке 9.

Рисунок 9 . Отображение виджета для диалога с персонажем

При нажатии на кнопку Z на клавиатуре камера приближается к выбранному изображению с помощью созданного заранее класса и объекта типа Camera и размещения её на сцене, вблизи доски. После этого запускается специальное пользовательское событие, реализующее диалог пользователя с выбранным персонажем и позволяющее изменять текст диалога в зависимости от ситуации в игре. Пример такого диалога представлен на Рисунке 10.

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

Рисунок 10 . Диалог с выбранным персонажем

Визуальное оформление

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

В рамках данной работы была создана уникальная цветовая палитра, сочетающая в себе нейтральные и акцентные оттенки. Темно-серый фон обеспечивает минимум визуального шума и снижает нагрузку на глаза, перламутрово-бежевый цвет добавляет спокойствия. Насыщенный красный используется для указания на ошибки, привлекая мгновенное внимание, а коричневый и темно-коричневый оттенки добавляют структурированность информации.

Реализация интерфейса и элементов визуального дизайна

Для реализации интерфейса и элементов визуального дизайна с помощью растрового графического редактора Krita были созданы иконки персонажей и элементы интерфейса, которые обеспечивают взаимодействие с пользователем и создают единый визуальный стиль игры.

Для иконок использованы яркие, контрастные цвета, которые привлекают внимание пользователя. Иконки персонажей используются для взаимодействия с пользователем, например, в момент начала диалога или выполнения какого-либо действия. Каждая иконка сопровождается текстовой информацией, что упрощает навигацию.

Кнопки и плашки выполнены в виде стилизованных окон с иконками и подписями. Они созданы с использованием градиентов и мягких теней, что обеспечивает их выделение на общем фоне. Основные цвета кнопок – бежевый, серый и красный, что обеспечивает высокую читаемость текста.

Создание 3D-моделей

Для реализации задач 3D-моделирования, текстурирования и рендеринга в работе использовался 3D-редактор Blender.

Режимы в Blender позволяют редактировать различные аспекты объектов, например, перемещать, вращать, масштабировать, изменять их геометрию и др.

Модификаторы объекта в Blender позволяют изменять его форму или поведение без изменения исходной геометрии. Например, для добавления физики к объекту в Blender

Интерактивная обучающая компьютерная игра для развития навыков программирования используется модификатор Physics, для расчета столкновений – модификатор Collision, для имитации физических свойств материалов, например ткани – модификатор Сloth и др. С учетом этих модификаторов в приложении были созданы, например, скатерть на столе и подушки на диване и реализовано реалистичное взаимодействие других объектов с поверхностями стола и дивана.

Оптимизация процесса моделирования

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

  •    «Применение активных модификаторов у всех объектов на сцене» – позволяет быстро находить объекты с активными модификаторами и применяет их, что необходимо для корректной работы данных в других инструментах или при экспорте объектов;

  • •    «Исправление направлений локальных нормалей у объекта» – помогает исправить направление нормалей, избегая ошибок в рендеринге; направление нормалей важно для правильного отображения света и визуализации при импорте моделей в Unreal Engine;

  • •    «Экспорт моделей для Unreal Engine» – полезен при работе с большими проектами, позволяет быстро экспортировать множество моделей, упрощая процесс подготовки данных для дальнейшего экспорта и импорта под Unreal Engine 5.

Заключение

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

Разработанное приложение представляет собой новый подход к обучению программированию через интерактивные задания и созданный игровой мир, с которым может взаимодействовать обучающийся.

Предлагаемая обучающая игра сочетает в себе викторины, пазлы кода, интерактивные учебники и элементы визуальной новеллы и предоставляет целостный подход к обучению программированию на языке C++. Системы наград, кастомизации и интерактивных диалогов делают процесс обучения более увлекательным для пользователя.

Комбинация используемых игровых механик обеспечивает разнообразие и сложность игрового процесса и способствует эффективному усвоению материала и развитию навыков программирования.

Для улучшения восприятия и эффективности обучающих инструментов в приложении была разработана и реализована уникальная цветовая палитра.

Основное отличие предлагаемой обучающей игры от большинства обучающих игр заключается в интегрировании в неё небольшой сюжетной кампании и развитии истории персонажей. Это нововведение предназначено для улучшения игрового опыта в переры-

Вестник Российского нового университета

Серия «Сложные системы: модели, анализ и управление». 2026. № 1

вах между решением различных задач и головоломок, которые являются основной частью игрового процесса.

Практическая значимость разработанного приложения заключается в возможности его использования и в образовательных учреждениях, и при самостоятельном изучении программирования.