Создание обучающих уровней (Tutorial) для игр
Онбординг убивает игры чаще, чем плохой геймплей. Статистика по мобильным играм устойчива уже несколько лет: drop-off на первой минуте — 40–60% новых пользователей. Большинство из них уходят не потому что игра плохая, а потому что туториал не объяснил, что делать, или объяснил так навязчиво, что надоел раньше, чем начался геймплей.
Создание Tutorial — это отдельная дисциплина, не «нарисовать стрелочки и написать подсказки».
Главная проблема большинства туториалов
Линейный принудительный туториал с блокировкой управления — классический антипаттерн. Игрок не может пропустить, не может действовать самостоятельно, каждый шаг ждёт нажатия на конкретную кнопку. Через две минуты он думает не «как играть», а «когда это закончится».
Технически это часто реализовано через единый TutorialManager с enum-состояниями: STEP_1, STEP_2... STEP_47. Добавление нового шага в середину ломает нумерацию, удаление шага — весь flow. Поддерживать такой код через год невозможно без полного переписывания.
С точки зрения UX — игрок обучается через действие, а не через текст. Показать стрелку на кнопку и написать «нажми сюда» работает хуже, чем дать сделать ошибку и мягко скорректировать.
Как строим туториал с нуля
Архитектура на основе шагов с условиями. Каждый шаг туториала — это объект с условием активации, условием завершения и набором действий (показ UI-элемента, блокировка/разблокировка контролов, запуск анимации, воспроизведение звука). Шаги хранятся в ScriptableObject или JSON-конфиге, а не зашиваются в код. TutorialStep содержит:
-
triggerCondition— что должно произойти, чтобы шаг активировался -
completionCondition— что завершает шаг -
actions[]— список действий при активации -
hints[]— подсказки с таймаутом появления
Такая схема позволяет геймдизайнеру редактировать туториал в Inspector или в отдельном редакторе без изменения кода.
Ненавязчивые подсказки с таймаутом. Подсказка не появляется сразу — только если игрок не выполнил действие через N секунд. Это стандартная практика, но часто её забывают. Реализуется через Coroutine или DOTween-последовательность с задержкой. Если игрок сам нашёл нужную кнопку — подсказка не появляется вообще. Те, кто разбирается, не раздражаются. Новички получают помощь.
Прогресс туториала через аналитику. Каждый шаг туториала — это ивент в Firebase Analytics или Amplitude: tutorial_step_complete, tutorial_step_skip, tutorial_abandoned. Без этого невозможно понять, где конкретно теряются игроки. На одном проекте анализ показал, что 30% игроков бросают туториал на шаге с объяснением системы крафта — не потому что сложно, а потому что длинный текст открывался в момент, когда игрок ещё не понял базовых механик. Переработка порядка шагов подняла прохождение туториала с 58% до 81%.
Сохранение прогресса туториала. PlayerPrefs с ключом tutorial_completed — минимальный вариант. Для сложных туториалов нужна сериализация текущего шага, чтобы после перезапуска игрок не начинал с начала. Хранить лучше в облаке (Firebase Firestore / PlayFab), особенно для кросс-платформенных игр.
Отдельно о туториале для сложных систем
Если игра содержит несколько независимых систем (крафт, строительство, боевая механика), линейный туториал не подходит. Лучше работает система контекстных подсказок: первый раз открываешь инвентарь — появляется подсказка об инвентаре, первый раз строишь здание — о строительстве. Каждая система обучает себя сама при первом взаимодействии.
Это требует отдельного FeatureTutorialTracker, который хранит флаги inventory_tutorial_shown, crafting_tutorial_shown и т.д. Архитектурно — проще и масштабируемее монолитного туториала.
Процесс работы
- Анализ механик — какие действия критичны для первой сессии, что можно отложить.
- Flow-схема туториала — последовательность шагов, условия перехода, точки выхода (скип).
- Прототип — быстрая реализация с заглушками, тест на 5–10 людях не из команды.
- Аналитическая разметка — ивенты на каждый шаг.
- Полная реализация — UI-элементы подсказок, анимации, озвучка.
- Итерация по данным — после первой недели в продакшене — анализ drop-off, правки.
| Масштаб | Срок |
|---|---|
| Простой линейный туториал (5–10 шагов) | 3–7 дней |
| Многошаговый туториал со сложной логикой | 2–4 недели |
| Контекстная система туториалов для нескольких систем | 4–8 недель |
Стоимость определяется после анализа механик игры и требований к онбордингу.





