
Привет! Меня зовут Алексей Петрашин, я ведущий специалист отдела внешнего обучения и сертификации, а еще курирую работу Учебного центра CTSG.
В статье поделюсь опытом проведения экзамена в формате игры «Подземелья и Драконы». Расскажу, как повысить вовлеченность студентов для решения сложных и трудоемких задач, опишу проведение такого экзамена на практике и техническую реализацию игрового подземелья.
Учебный центр в Crosstech Solutions Group
Обучение в Центре строится вокруг практической и теоретической базы, которая необходима для работы в технических направлениях. В течение нескольких месяцев студенты последовательно изучают ключевые темы ИТ-индустрии.
Программа включает работу с Linux, базами данных, SQL, сетями, виртуализацией, погружение в методологии управления проектами, а также общее понимание того, как устроены технические системы и инфраструктура. При этом акцент делается не только на знании инструментов, но и на понимании, в каких ситуациях они используются.
Практические задания на протяжении всего курса выстроены таким образом, чтобы студент учился ориентироваться в среде, искать информацию, пользоваться справочными материалами и логически подходить к решению задач. Так постепенно формируется навык самостоятельной работы.
Внедрение геймификации в обучающий процесс
Перед выведением обучающих курсов в прод, мы с командой решили внедрить интерактивные элементы в практику. В середине первого семестра начали замечать, что интерактив вызывает интерес и эмоциональный отклик, помогает быстрее находить ассоциации со сложной теорией.
По обратной связи было видно, что формат положительно влияет на вовлеченность. Студенты л��чше взаимодействовали между собой и делились результатами мини-активностей. Это отразилось на продуктивности: материал усваивался стабильнее по сравнению с предыдущими потоками. Количественный и качественный анализ выполненного домашнего задания показал, что число выполненных практических работ в срок выросло на 32%.
По опыту прошлых лет мы понимали, что классический формат обучения и проведения экзамена создает высокий уровень стресса. Студенты часто действовали механически, а проверка знаний переставала отражать реальный уровень подготовки и скорее показывала способность справляться со стрессом, чем понимание материала.
Сочетание положительного эффекта от интерактивности и выявленных проблем на экзаменах прошлых лет стало причиной перехода к более геймифицированному сценарию итоговой проверки знаний.
Концепция подземелья
Формат Подземелья и Драконов дал нам возможность соединить несколько сложных тем в целостный сюжет. Студенты погружались в него и сами определяли последовательность действий и динамику.
Задача студента заключалась в том, чтобы пройти все уровни подземелья и добраться до финальной точки – последнего этажа, где их поджидал «финальный босс». Таким образом, перед студентами сразу появлялась конкретная цель и формировалась дополнительная мотивация: дойти до конца и понять, что же ждет на следующем уровне.

Подземелье представляло собой изолированное пространство, с которым студент взаимодействовал через терминал Linux. В самом начале ему предстояло понять контекст и корректно интерпретировать поставленную задачу.
Всего в подземелье было пять уровней. Для продвижения в глубь студент решал практические задачи. Каждый уровень был связан с конкретным набором навыков, изученных в ходе курса.
На первом уровне проверялась базовая ориентация в Linux-среде и умение работать с терминалом. Далее задания постепенно усложнялись: появлялась работа с процессами, файлами и их типами, сетями, архивами, виртуализацией, символическими и жесткими ссылками, а также практическая задача с использованием SQL. Финальный уровень был связан с управлением процессами и завершал весь сценарий.
Каждый этаж имел собственное тематическое оформление, реализованное с помощью таблицы символов ASCII. Во время разработки концепции мы придумали элементы истории, персонажей и текстово-визуальные фрагменты, которые усиливали эффект погружения. Некоторые студенты не знали особенности лора П&Д, поэтому нам пришлось адаптировать контент под разную аудиторию, чтобы совместить технические аспекты с фэнтезийным миром. Повторюсь, именно такой подход позволял удерживать внимание и вызывать естественное любопытство.
Архивы с привычными расширениями могли запросто оказаться «мимиками» и при взаимодействии с ними отбросить студента на пару этажей назад, а «дракон» на финальном уровне был представлен в виде спящего процесса.

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

Bubblewrap позволяет запускать процессы в изолированной песочнице без привилегий суперпользователя, используя механизмы user namespaces. Ведь su – это привилегия. Это дало нам возможность:
- полностью скрыть системное окружение от студентов;
- показывать только нужную подготовленную файловую структуру;
- контролировать доступные бинарные файлы и библиотеки;
- отслеживать и логировать все действия студента.
К тому же мы настроили автоматический вход в песочницу при авторизации, поэтому студент сразу попадал в подземелье и не мог выйти за его пределы при помощи обычных команд.
Само подземелье с технической точки зрения представляло собой отдельную файловую структур с заранее спроектированными уровнями. Каждый уровень был оформлен в виде набора директорий и файлов с на��троенными правами доступа. Продвижение студента по подземелью было возможно только при выполнении определенных условий: решения головоломок, загадок и использования нужных утилит.

Ключевым элементом управления окружения стал конфигурационный файл dungeon_bashrc, который исполнялся при входе пользователя в систему. Он использовался как точка инициализации всей логики подземелья и регулировал работу и запуск остальных четырех bash-скриптов.
Основные задачи файла bashrc:
- подмена приглашения командной строки под стиль подземелья;
- вывод стартовых сообщений и элементов сюжета;
- запуск управляющих скриптов;
- подключение механизма ограничения доступных команд и утилит.
Ниже приведен фрагмент файла:
# Подмена приглашения командной строки PS1='[Traveler]$' # Подключение основной логики обработки команд export DOUNGEON_COMMANDS=”/etc/command.sh” if [ -r "$DUNGEON_COMMANDS" ]; then source "$DUNGEON_COMMANDS" 2>/dev/null || true else echo "Упс, похоже сбой загрузки заклинаний, необходимо проверить управляющие манускрипты!" fi # Вывод стартового сообщения при входе в подземелье if [ -z "${DUNGEON_WELCOME_SHOWN:-}" ]; then export DUNGEON_WELCOME_SHOWN=1 cat /etc/banner📜 fi
Ограничение и контроль команд мы реализовали с помощью управляющего файла command.sh. Вместо использования стандартных бинарников Linux, скрипт позволял переопределять команды как bash-функции и контролировать доступ студента к утилитам и их параметрам.
Упрощенная часть функции приведена ниже.
Пример:
_door_locked() { echo "╔════════════════════════════════════╗" echo "║ ДВЕРЬ ЗАПЕРТА 🔒 ║" echo "╚════════════════════════════════════╝" } cd() { local target="${1:-}" if [[ "${DOOR4_OPEN:-0}" -ne 1 ]]; then case "$target" in *Door4*|*/Door4*|*Door4/*) _door_locked return 1 ;; esac fi builtin cd "$@" || return $? }
Такая реализация позволяла:
- поэтапно открывать функциональность;
- исключить обход ограничений через прямой вызов бинарников;
- жестко контролировать пользовательский сценарий
Прогресс студента сохранялся в отдельный файл с переменными: state.env. Каждая переменная отражала, выполнено ли конкретное условие или задание и какие доступы у него есть на данный момент.
Пример файла структуры состояния:
LVL1_OPEN=1 LVL2_OPEN=1 DOOR4_OPEN=0 SECRET_DOOR_OPEN=0 PS_RIGHT=0 DRAGON_PID=9991
За обновление и изменение переменных отвечал третий скрипт – engine.sh. Он позволял
- валидировать ввод студента;
- обновлять состояние переменных;
- давать доступ к новым командам и открывать уровни;
Пример кода:
case "$ans" in port|Port|PORT) echo -e "$separator\n\nГде-то на уровне щелкнул замок. Одна из дверей теперь открыта!\n\n$separator" state_set DOOR4_OPEN 1 command echo "Level 0 | 3" >> /var/.dungeon_state/check_progress.sh ;; 0) echo -e "$separator\n\nОтлично, первая печать снята. Вы чувствуете как силы суперпользователя плавно прибывают.\nТеперь вы можете менять <права> комнат и залов.\nПоспешите разрушить вторую печать с помощью соответствующего <заклинания>!\n\n$separator" state_set BIG_DOOR_OPEN 1 command echo "Level 4/1 | 4" >> /var/.dungeon_state/check_progress.sh ;; *) echo -e "$separator\n\nНеверный ответ. Стены смеются над тобой!\n\n$separator" exit 1 ;; esac
Последний файл использовался для отслеживания прогресса и автоматического подсчета результатов прохождения подземелья студентами – check_progress.sh. Куда же мы без автоматизации в наше время.
Для упрощения использования и масштабирования был подготовлен единый установочный bash-скрипт. Он автоматически разворачивал все подземелье: создавал необходимую файловую структуру, настраивал окружение, копировал нужные утилиты и применял права доступа. В результате экзаменационное пространство приводилось в рабочее состояние за несколько минут и не требовало ручной настройки.
Практический опыт и обратная связь
Сценарий подземелья невозможно было пройти за предоставленное студентам время без опыта работы с изученными технологиями. Цель: диагностировать уровень подготовки и глубину усвоения материала.
Частично экзамен смогли пройти более 70% студентов. Четверть участников полностью покорили подземелье. На этот результат мы и ориентировались: учащиеся с сильными скилами смогли пройти его без единой подсказки и уложиться в отведенное время.
Студенты, которые показывали хорошие результаты во время обучения на курсе, заканчивали экзамен раньше дедлайна. Они проявили знания команд, инструментов, понимание логики среды, умение быстро ориентироваться и принимать решения в нестандартных условиях. Отдельно отмечу, что экзамен оценивал вместе с техническими навыкам еще и поведенческие аспекты.
Остальные участники либо использовали подсказки, либо не могли дойти до конца и убить дракона. При этом значительная часть студентов набрала промежуточный результат, около 17 баллов из 35.

Реакция студентов оказалась неоднозначной. Большая часть положительно отозвалась о концепции экзамена. Они отметили неожиданный формат, высокий уровень погружения, оформление терминала и сюжетных поворотов. Несколько студентов даже после экзамена возвращались с просьбой получить повторный доступ, чтобы пройти его до конца уже без ограничений по времени. Это вновь подтверждает фактор любопытства. Любопытство – главный способ учиться!
Следите за новыми приключениями Учебного центра на Хабре и телеграм-канале по стажировкам.