Проектування системи прогресії мобільної гри
Система прогресії — це механізм, який перетворює разовий запуск на багатомісячне утримання. Але погано спроектована прогресія гірше її відсутності: занадто швидка — гравець проходить контент за тиждень та йде; занадто повільна — кидає через три дні, не побачивши цікавого. Це завдання балансування математики, а не тільки дизайну інтерфейсу.
Математична база прогресії
Крива прогресії — це функція, що зв'язує вкладене час/гроші зі ставленням прогресу. Лінійна крива (xp_required = level * 100) не працює — розрив між рівнем 1 та рівнем 50 суб'єктивно сприймається однаково.
Експоненціальна крива: xp_required = base * multiplier ^ level. Стандартні значення: base = 100, multiplier = 1.2–1.5. При 1.5 рівень 20 вимагає в 3325 разів більше XP, ніж рівень 1 — занадто крутий для більшості казуальних ігор.
Поліноміальна: xp_required = A * level^2 + B * level + C. Більш керований ріст. Коефіцієнти A, B, C підбираються через таргетне час на рівень: якщо хочемо, щоб гравець проводив в середньому 15 хвилин на рівні, та знаємо середню сесію (7–10 хв), отримуємо таргетну кількість сесій на рівень.
Параметри прогресії виносимо в ScriptableObject (Unity) або CSV-таблицю з імпортом — game designer балансує без rebuild.
Типи прогресії
Вертикальна — гравець стає сильніший. Рівень персонажа, статы снаряду. Нескінченна вертикальна прогресія (prestige/ascension) дозволяє обнулити прогрес з бонусом — гравець проходить знайомий контент швидше, але відчуває новий старт.
Горизонтальна — гравець отримує нові можливості без посилення. Нові класи, скіни, механіки. Не створює pay-to-win при монетизації. Коллекціонування — спеціальний випадок горизонтальної прогресії з соціальним елементом (показати колекцію іншим).
Сезонна — тимчасові нагороди, reset кожні 4–8 тижнів. Battle Pass (Fortnite, PUBG Mobile) — приклад: $10 за Battle Pass, 100 рівнів сезонної прогресії, щоденні + щотижневі завдання. Ключова властивість: гравець видит прогрес до конкретної цілі (скін на рівні 50), не абстрактний рівень.
Утримання через прогресію
Щоденні завдання — обов'язок на кожен день. Технічно: список завдань генерується при першому входе дня, зберігається в user profile, скидається по UTC midnight або особистому часу гравця. PlayerPrefs (Unity) або Firebase Realtime Database для cloud sync. Завдання з нарастаючою складністю в межах одного дня утримують довше.
Streak mechanics. Серія входів підряд → бонусні нагороди. Прервана серія → мотивація заплатити за відновлення (обов'язково — free спосіб відновлення через rewarded video). На рівні коду: timestamp останнього входу → різниця в днях → increment або reset счетчика.
Weekly / monthly milestones. Довгострокові цілі з великими нагородами. Гравець видит прогрес на тиждень вперед — це створює причину повернутися.
З практики: midcore RPG, Unity + Firebase. Система прогресії була лінійною, retention D7 — 8%. Після редизайну: експоненціальна XP-крива з «прискореними» ранніми рівнями (1–10 проходилися швидко, даючи відчуття динаміки), боевий пропуск з 30 рівнями на 4 тижні, щоденні завдання — D7 retention виріс до 19%.
Система наград
Нагороди повинні бути миттєвими та передбачуваними. «Лут-бокс» (випадкова награда) — висока emotional peak, але Японія, Бельгія, інші юрисдикції регулюють loot boxes як gambling. Для сторів: Apple App Review вимагає розкривати вероватність дроп-рейтів в App Store (guideline 3.1.1). Google Play аналогічно.
Варіанти без регуляторних ризиків: гарантована прогресія (pity system — кожні N спроб гарантована рідкісна награда), battle pass з фіксованими нагородами за рівні.
Що входить у роботу
- Математична модель XP-кривої з таргетним часом на рівень
- Структура вертикальної та горизонтальної прогресії
- Система щоденних / щотижневих завдань
- Streak mechanics та довгострокові milestone цілі
- Дизайн системи наград з урахуванням регуляторних вимог сторів
- Специфікація у форматі GDD з числовими параметрами
- Таблиця балансування у Google Sheets / Excel для ітерації
Терміни
2–3 робочих дні — проектування системи прогресії для казуального / гіпер-казуального проекту. Для midcore з кількома взаємопов'язаними системами прогресії (рівень персонажа + снаряду + гільдія + сезон) — 5–7 днів. Вартість розраховується індивідуально.







