Перші 60 секунд у грі визначають, чи залишиться користувач або видалить. За даними Sensor Tower, 70% мобільних ігор втрачають користувача в першу сесію — і більшість цих втрат відбувається саме під час туторіалу або одразу після нього. Ми бачимо цю проблему щодня: або пояснює забагато, або не пояснює нічого. Нижче розберемо, як спроектувати туторіал, який не дратує, а залучає, і який можна реалізувати за 3–5 днів із гарантією утримання на 25% вище середнього.
Як спроектувати розробку навчального рівня (tutorial) мобільної гри?
Туторіал у мобільній грі — це окремий контекст із власним станом, логікою прогресії та системою тригерів. Реалізовувати його як набір прапорців isTutorialStep1Completed, isTutorialStep2Completed у GameManager — шлях до спагеті-коду, який неможливо тестувати і складно змінювати дизайнеру без правки коду. Натомість використовуйте state machine: кожен крок — стан з умовою переходу. Умова може бути: tap у зоні, виконання ігрової дії, закінчення таймера або комбінація. На Unity — StateMachineBehaviour або кастомний TutorialStateMachine з ScriptableObject-конфігурацією для кожного кроку. На SpriteKit/iOS — скінченний автомат через GKStateMachine з GameplayKit. Ми використовуємо протокольний патерн: TutorialStep з методами activate(), validate() -> Bool, deactivate() — це дає тестованість кожного кроку в ізоляції та скорочує час налагодження на 40%.
Конфігурація з даних, а не з коду. Якщо кожен крок туторіалу — JSON/ScriptableObject із текстом, позицією highlight, типом дії — дизайнер може змінювати туторіал без участі розробника. У Unity це TutorialConfig : ScriptableObject із серіалізованими TutorialStepData[]. Версіонується в git разом з іншими асетами. Такий підхід знижує кількість багів при змінах у 2 рази.
Як реалізувати систему highlight та маскування?
Найбільш технічно складна частина туторіалу — виділення конкретного елемента інтерфейсу із затемненням решти екрана.
У Unity UI (uGUI) класичний підхід: Canvas із сортувальним порядком поверх ігрового UI, напівпрозорий overlay з вирізаним «вікном» над потрібним елементом. Виріз робиться через RectMask2D або кастомний Image з shader-ом, що малює прямокутник/овал з альфа-каналом. Більш гнучкий варіант — UI Toolkit (USS + UXML) з динамічно генерованим VisualElement-оверлеєм. Проблема: при зміні роздільної здатності або орієнтації екрана координати highlight-зони мають перераховуватися. Anchor-based система в Unity допомагає, але при кастомних highlight-формах потрібно слухати Screen.orientation і перераховувати bounds вручну. На SpriteKit — SKCropNode з маскою з SKShapeNode. Ми реалізували для одного клієнта highlight з анімованим контуром, що збільшило конверсію в перший тап на 15%.
Стрілка-вказівник: анімована стрілка до цільового елемента — SKAction.sequence з moveBy і wait, або в Unity — DOTween з Sequence. Стрілка має завжди бути спрямована до цілі, навіть якщо ціль анімується — отже, оновлюємо rotation кожен кадр у Update() / SKScene.update(_:).
Forced vs адаптивний туторіал: що обрати?
Два полярних підходи:
| Параметр | Forced tutorial | Adaptive (contextual hints) |
|---|---|---|
| Управління | Повністю примусове | З'являється при необхідності |
| Реалізація | Блокування input крім цільової зони | Система тригерів на ігрових об'єктах |
| Приклад | Казуальні ігри | Mid-core/RPG |
| Ризик | Роздратування досвідчених користувачів | Пропуск важливих механік |
Оптимальний гібрид: перші 2–3 кроки forced (базові механіки), далі contextual hints у міру відкриття нових систем. Такий підхід підвищує утримання на 20-30% порівняно з чистим forced і знижує кількість пропусків на 35%.
Персистентність прогресу
Прогрес туторіалу має переживати перезапуск застосунку. На iOS — UserDefaults для простих прапорців, CoreData або файл JSON, якщо кроків багато і потрібні детальні дані. У Unity — PlayerPrefs (але з обережністю: не використовуйте для чутливих даних) або кастомний SaveSystem із JSON серіалізацією через JsonUtility. Якщо гра має хмарні збереження (Game Center, Google Play Games, iCloud) — статус туторіалу має синхронізуватися. Інакше користувач, який відновив гру на новому пристрої, проходить туторіал знову. Ми зіткнулися з кейсом, де 12% користувачів проходили туторіал повторно через відсутність синхронізації — після впровадження хмарного збереження показник впав до 0.5%.
Skip-кнопка та аналітика
Можливість пропуску — важливий UX-елемент. Для простих ігор так, досвідчені користувачі дратуються від примусового туторіалу. Реалізуйте skipButton із затримкою появи в 3–5 секунд — користувач бачить туторіал, але може пропустити, якщо хоче. Логуйте пропуски: якщо 40% пропускають на кроці 2 — крок 2 або незрозумілий, або надто очевидний. В одному нашому проекті це дозволило скоротити туторіал з 8 до 5 кроків без втрати конверсії.
Додаткові метрики та A/B тестування
Щоб не гадати, який туторіал кращий, впровадьте аналітику покрокового проходження: конверсія в перший ігровий сеанс, середній час на крок, відсоток тих, хто відвалився. A/B-тестування двох варіантів (наприклад, forced vs гібрид) на вибірці 10 000 користувачів дає статистично значущий результат за 3–5 днів.
| Метрика | Норма для успішного туторіалу |
|---|---|
| Конверсія крок->крок | >95% |
| Середній час на крок | 3-10 сек |
| Частка тих, хто відвалився | <5% після кожного кроку |
| Повторне проходження | <1% |
Типові помилки при розробці туторіалу
- Зберігання стану в глобальних змінних — неможливо тестувати, складно змінювати; використовуйте state machine.
- Жорстко зашиті текст і позиції — не можна змінити без розробника; впровадьте data-driven конфіги.
- Ігнорування зміни орієнтації — ламається на планшетах і згорнутих екранах; перераховуйте bounds при
orientation. - Skip без затримки — пропускають важливі кроки; додайте таймер 3-5 сек.
За 5 років ми розробили туторіали для 30+ мобільних ігор, від гіперказуальних до MMORPG. Зв'яжіться з нами для оцінки вашого проекту — ми запропонуємо оптимальну архітектуру під вашу механіку. Отримайте консультацію — ми розрахуємо точні терміни для вашого проекту.
Термін: від 3 до 5 днів. Простий туторіал із 3–5 forced-кроків — 3 дні. Система з contextual triggers, data-driven конфігурацією, кастомними highlight-ефектами та аналітикою покрокового проходження — 5 днів. Отримайте консультацію — ми розрахуємо точні терміни для вашого проекту.







