Проекты
Конкурсные проекты

Создание игрового приложения по изучению принципов маршрутизаций ЛВС "Vi-LLAN"


Тип участника:  Физическое лицо
Полное наименование организации/физического лица/авторского или творческого коллектива:  Краевое государственное бюджетное профессиональное образовательное учреждение «Алтайский промышленно-экономический колледж» студент Круговых Константин Алексеевич
Контактное лицо: ФИО:  Круговых Константин
ФИО всех участников авторского/творческого коллектива:  Круговых Константин
Идея и краткое описание ИТ-проекта: 

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

«Vi-LLAN» – это игровое приложение для Windows, разработанное на C++ с использованием библиотеки Raylib. Игрок перемещается по процедурно генерируемому лабиринту, который визуализирует сетевую топологию: коридоры – это каналы передачи данных, а комнаты – узлы (маршрутизаторы, коммутаторы). От игрока убегает антагонист-преследователь, скорость которого растёт с каждым решённым заданием. Чтобы выжить, нужно находить терминалы и решать сетевые пазлы: на обычных – вводить пропущенные цифры мастер-последовательности, на главном – строить на схеме требуемую топологию (звезда, кольцо, дерево или шина), соединяя узлы и избегая барьеров. Программа сохраняет прогресс в отдельные файлы, ведёт статистику побед и времени, позволяет настраивать чувствительность мыши, экранные эффекты и громкость. Проект рассчитан на студентов технических специальностей, а также всех, кто хочет в игровой форме освоить базовые принципы маршрутизации ЛВС.

Перечень решаемых задач: 
  1. Проблема низкой вовлечённости в обучение – стандартные лекции и лабораторные работы не удерживают внимание студентов из-за пассивного формата. Игровой процесс с элементами хоррора и преследования заставляет активно участвовать, принимать решения и реагировать в реальном времени.

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

  3. Отсутствие мгновенной обратной связи – в традиционном обучении ошибки видны только при проверке работ. Здесь каждое действие отображается сразу: неправильный выбор ускоряет монстра, верное решение даёт передышку и продвигает к победе. Это помогает быстрее запоминать правильные алгоритмы.

  4. Недостаток практических навыков – студенты часто знают теорию, но не умеют применять её в реальных задачах. Сборка топологии на главном терминале, выбор маршрута через лабиринт и ввод последовательностей имитируют реальные задачи сетевого администратора в упрощённой игровой форме.

  5. Разрозненность прогресса и статистики – в учебных курсах сложно отслеживать индивидуальные достижения. Файловое сохранение с разделёнными данными (прогресс и статистика) позволяет преподавателю видеть результаты, а студенту – продолжать с места остановки и улучшать свои показатели.

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

  7. Недостаток атмосферы и мотивации – сухие образовательные интерфейсы не создают эмоциональной вовлечённости. Хоррор-стилистика, динамичная музыка, визуальные эффекты (тряска камеры, покачивание, глитчи) и риск поражения делают процесс напряжённым и интересным, стимулируя проходить игру до конца.

Описание функциональных возможностей и элементов проекта: 

Игровой процесс

  • Перемещение по трёхмерному лабиринту от первого лица с использованием клавиш WASD и мыши для осмотра.

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

  • Интеллектуальный антагонист, который ищет кратчайший путь к игроку с помощью BFS и ускоряется с каждым решённым терминалом.

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

Генерация лабиринта

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

  • Автоматическая расстановка стен и полов с оптимизацией мешей для производительности.

  • Пространственное хеширование стен для быстрой проверки коллизий.

Учебные терминалы

  • Обычные терминалы – пазл на ввод недостающих цифр мастер-последовательности (генерируется 5 случайных цифр). При ошибке ввод сбрасывается.

  • Главный терминал – пазл на построение сетевой топологии: на интерактивной схеме нужно соединить узлы (сервер и компьютеры) линиями согласно заданной топологии (звезда, кольцо, дерево, шина), не пересекая барьеры. Доступен только после решения всех обычных терминалов.

Интерфейс

  • Карта (minimap), открывающаяся по Tab с масштабированием колесом мыши, показывает положение игрока, антагониста и терминалов.

  • HUD с счётчиком решённых терминалов.

  • Подсказка мастер-последовательности при попытке открыть главный терминал.

  • Экранные эффекты: тряска камеры при приближении антагониста, покачивание при беге, VHS-глитчи, шум, красные пиксели и виньетка (настраиваются в меню).

Настройки

  • Ползунок чувствительности мыши.

  • Переключатели экранных эффектов (каждый отдельно).

  • Ползунок громкости.

  • Переключение полноэкранного режима по F11.

Сохранение и статистика

  • Раздельное хранение игрового прогресса (horror_maze.sav) и статистики (statistics.sav).

  • Автосохранение при решении терминала, ручное сохранение из меню паузы и при выходе.

  • Статистика по сложности: победы/поражения, лучшее время, процент побед, общее время игры.

Меню

  • Главное меню с кнопками «New Game», «Continue» (если есть сохранение), «Settings», «Exit» и иконкой статистики.

  • Выбор сложности перед началом новой игры.

  • Меню паузы с продолжением, настройками, сохранением и выходом в главное меню.

  • Экран статистики с показателями по каждой сложности.

Дата внедрения (в случае, если предполагается запуск проекта в эксплуатацию):  -
Используемые платформы, средства разработки:  С++
RayLib
Встроенные библиотеки Visual Studio
Стоимость разработки системы:  343 тысячи рублей
Средний размер ежегодных затрат на эксплуатацию:  35 000 – 45 000 рублей
Перспективы развития: 

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

2. Система уровней и прогресса
Сделать полноценную кампанию с несколькими уровнями, где сложность растёт постепенно. На каждом уровне можно ставить конкретную цель – не просто решить все терминалы, а выполнить задание за определённое время или с минимальным количеством ошибок. Добавить бонусы за скорость и аккуратность.

3. Многопользовательский режим
Позволить студентам соревноваться друг с другом – кто быстрее пройдёт уровень или кто решит больше задач за отведённое время. Можно сделать кооперативный режим, где несколько игроков вместе убегают от монстра и решают терминалы. Это усилит мотивацию и добавит социальный элемент.

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

5. Поддержка разных платформ
Сейчас игра работает только на Windows. Можно адаптировать её для Linux и macOS, а также сделать веб-версию, чтобы играть прямо в браузере без установки. Это расширит аудиторию и упростит доступ для студентов.

6. Интеграция с LMS
Подключить игру к системам дистанционного обучения (Moodle, Blackboard и т.п.), чтобы результаты автоматически загружались в электронный журнал. Это сэкономит время преподавателю и сделает процесс более прозрачным.

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

8. Вариативность противника
Реализовать несколько типов антагонистов с разными стратегиями поведения: например, один преследует медленно, но его нельзя обмануть, другой быстрый, но иногда теряет след. Это добавит тактического разнообразия.

9. Мобильная версия
Адаптировать управление для сенсорных экранов и выпустить упрощённую версию для планшетов и смартфонов. Это позволит использовать игру в качестве мобильного тренажёра для повторения материала в любое время.

Достижение поставленных целей: 

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

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

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

  • Система преследования антагонистом, которая создаёт напряжение и заставляет игрока активно действовать.

  • Два типа терминалов с сетевыми пазлами, где нужно применять знания на практике.

  • Сохранение прогресса и статистика, позволяющие отслеживать успехи.

  • Настройки для адаптации под разные предпочтения пользователей.

Проект прошёл все этапы разработки: от постановки задачи и проектирования архитектуры до написания кода, тестирования и оформления документации. По объёму получилось около 4000 строк на C++ с использованием библиотеки Raylib. Программа стабильно работает на компьютерах под Windows, не требует установки дополнительного ПО и занимает мало места на диске.

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

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

Актуальность, экономическая или социальная полезность: 

Актуальность

Современное образование сталкивается с серьёзной проблемой – студенты всё хуже удерживают внимание на лекциях и лабораторных работах. Информационная перегрузка, привычка к короткому и динамичному контенту делают традиционные методы обучения малоэффективными, особенно в технических дисциплинах. Маршрутизация сетей – одна из базовых тем для IT-специальностей, но она сложна для восприятия через статичные схемы и текстовые описания. Поэтому поиск новых форм подачи материала, которые вовлекают студента и дают мгновенную обратную связь, становится не просто желательным, а необходимым. Разработанная игра предлагает именно такой подход – обучение через активное действие, где теория проверяется на практике в динамичной среде.

Экономическая полезность

С экономической точки зрения, проект даёт несколько выгод. Во-первых, сокращает затраты на обучение – вместо дорогостоящего сетевого оборудования и лабораторных стендов достаточно обычного компьютера. Установка программы не требует лицензионных отчислений, дополнительного ПО или специального администрирования. Во-вторых, повышает эффективность учебного процесса – студенты быстрее осваивают материал, а значит, меньше времени тратится на повторное объяснение тем. В-третьих, экономический расчёт показал, что себестоимость разработки (около 229 тысяч рублей) сопоставима со стоимостью одного-двух сетевых коммутаторов, но при этом программа может использоваться одновременно десятками студентов без дополнительных расходов на оборудование.

Социальная полезность

Социальная значимость проекта заключается в повышении доступности качественного IT-образования. Игра не требует специальных знаний для запуска, подходит для студентов с разным уровнем подготовки благодаря трём степеням сложности, а хоррор-формат делает обучение увлекательным и снижает психологический барьер перед «страшной» темой маршрутизации. Кроме того, программа развивает не только технические навыки, но и мягкие компетенции: умение принимать решения в условиях стресса, быстро анализировать ситуацию и находить выход – качества, полезные в любой профессии. Сохранение статистики и прогресса позволяет преподавателю отслеживать успехи каждого студента и вовремя замечать отстающих, что особенно важно в группах с разным темпом усвоения.

Масштабируемость, способность к взаимодействию с другими системами, мобильность: 

Масштабируемость

Программа спроектирована с учётом возможности расширения без кардинальной переработки кода. Модульная архитектура – генератор лабиринта, система ИИ, пазлы, сохранение – позволяет добавлять новые типы заданий, уровни сложности и сценарии, не затрагивая остальные компоненты. Например, можно легко внедрить дополнительные сетевые задачи (расчёт масок, настройка протоколов) или новых противников с разным поведением, просто расширяя соответствующие классы. Объём кода около 4000 строк, но структура допускает его увеличение до 10–15 тысяч строк без потери производительности за счёт оптимизации (пространственное хеширование, оптимизация мешей).

Способность к взаимодействию с другими системами

В текущей версии программа полностью автономна и не имеет прямых интеграций с внешними системами. Однако архитектура позволяет добавить такие возможности в будущем. Например, можно подключить API для обмена данными с системами дистанционного обучения (Moodle, Blackboard) – для этого достаточно реализовать модуль экспорта статистики в JSON или XML, который будет отправлять результаты на внешний сервер. Также при необходимости легко интегрируется система авторизации или единого входа (SSO) через стандартные протоколы. Файловое хранение (раздельные .sav файлы) упрощает интеграцию с любыми скриптовыми языками и утилитами для анализа данных.

Мобильность

Программа создана для настольных платформ Windows. В текущем виде она привязана к OpenGL и библиотеке Raylib, что делает перенос на Linux и macOS возможным, но требующим небольших правок в коде, связанных с системными вызовами. Полноценный перенос на мобильные устройства (Android, iOS) потребует переработки системы ввода и адаптации интерфейса под сенсорные экраны, а также замены некоторых библиотек. Тем не менее, использование Raylib уже сейчас позволяет компилироваться для мобильных платформ с минимальными изменениями, что даёт хорошую основу для будущего портирования. Установка программы не требует прав администратора и не оставляет следов в системном реестре, что упрощает её развёртывание на любых компьютерах в учебных классах.

Обоснованность применяемых проектных решений: 

Выбор языка C++ и библиотеки Raylib. C++ обеспечивает высокую производительность, критичную для трёхмерной графики и физических расчётов в реальном времени. Raylib, в свою очередь, даёт простой и понятный доступ к OpenGL, вводу и звуку без необходимости разбираться в сложных движках вроде Unreal или Unity. Это позволило сосредоточиться на логике обучения, а не на изучении инструментария. Кроме того, Raylib распространяется под лицензией zlib, что не накладывает ограничений на использование в учебных и коммерческих целях.

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

BFS для поиска пути антагониста. Поскольку сетка лабиринта имеет фиксированные размеры (201×201 ячеек), алгоритм BFS гарантированно находит кратчайший путь за приемлемое время. Он не требует предварительной обработки графа и легко перестраивается при изменении сетки. Более сложные алгоритмы (A*) не давали бы заметного выигрыша на такой сетке, но требовали бы больше кода.

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

Файловое хранение без БД. Учебное приложение не предполагает сетевой работы или одновременного доступа многих пользователей. Использование файлов вместо полноценной СУБД упрощает установку, не требует настройки сервера и позволяет пользователю переносить свои сохранения между компьютерами простым копированием папки. Разделение прогресса и статистики даёт гибкость: можно очистить статистику, не теряя прогресс, и наоборот.

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

Оригинальность, новизна, отличие от аналогов либо отсутствие аналогов: 

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

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

Существуют онлайн-игры, объясняющие устройство интернета через информационные блоки и тесты , а также академические исследования, описывающие игры-симуляции для понимания маршрутизации . Однако они имеют ряд ограничений: статичность (не создают динамической среды), отсутствие визуализации движения пакетов и связи с физическим перемещением, настольный формат без погружающей атмосферы.

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

Первое – это активное погружение вместо пассивного опроса. Игрок не отвечает на вопросы, сидя за партой, а буквально находится внутри сетевой модели – лабиринт визуализирует топологию, и выбор маршрута в игре соответствует выбору пути для пакета данных. Второе – динамика и стресс-фактор. В отличие от спокойных викторин, здесь присутствует преследователь, который ускоряется с каждой ошибкой. Это создаёт состояние «обучения через выживание», которое гораздо сильнее удерживает внимание, чем обычные игровые форматы. Третье – практическое применение, а не воспроизведение. Решение пазла на главном терминале требует именно построения топологии, а не выбора правильного названия из списка. Четвёртое – комплексная среда. В одном продукте соединены трёхмерная визуализация, сетевая симуляция, элементы хоррора и полноценная система прогресса с сохранением.

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

Гарантирую достоверность предоставленной в заявке информации. Подтверждаю, что организация не находится в состоянии ликвидации, банкротства, реорганизации (Только для организаций):  Да
Презентация проекта pdf:  Загрузить
Возврат к списку
нет доступа к комментариям Авторизоваться