Designing Mobile Game Progression System
Progression system is mechanism that transforms one-time launch into multi-month retention. But poorly designed progression is worse than none: too fast — player completes content in week and leaves; too slow — quits after three days without seeing anything interesting. This is task of balancing math, not just UI design.
Mathematical Basis of Progression
Progression curve — function linking invested time/money with feeling of progress. Linear curve (xp_required = level * 100) doesn't work — gap between level 1 and level 50 subjectively perceived the same.
Exponential curve: xp_required = base * multiplier ^ level. Standard values: base = 100, multiplier = 1.2–1.5. At 1.5 level 20 requires 3325x more XP than level 1 — too steep for most casual games.
Polynomial: xp_required = A * level^2 + B * level + C. More manageable growth. Coefficients A, B, C selected via target time per level: if we want player spending average 15 minutes per level, knowing average session (7–10 min), we get target sessions per level.
Export progression parameters to ScriptableObject (Unity) or CSV for import — game designer balances without rebuild.
Progression Types
Vertical — player becomes stronger. Character level, gear stats. Endless vertical progression (prestige/ascension) lets reset progress with bonus — player clears familiar content faster, but feels new start.
Horizontal — player gains new abilities without power increase. New classes, skins, mechanics. Creates no pay-to-win with monetization. Collecting — special horizontal progression case with social element (show collection to others).
Seasonal — time-limited rewards, reset every 4–8 weeks. Battle Pass (Fortnite, PUBG Mobile) — example: $10 for Pass, 100 seasonal levels, daily + weekly challenges. Key property: player sees progress toward concrete goal (skin at level 50), not abstract level.
Retention via Progression
Daily quests — obligation every day. Technical: quest list generated on first enter of day, stored in user profile, reset by UTC midnight or player's local time. PlayerPrefs (Unity) or Firebase Realtime Database for cloud sync. Quests with growing difficulty within single day retain longer.
Streak mechanics. Series of consecutive logins → bonus rewards. Broken streak → motivation to pay for recovery (must have free recovery path via rewarded video). At code level: last login timestamp → day difference → increment or reset counter.
Weekly / monthly milestones. Long-term goals with big rewards. Player sees week ahead — creates reason to return.
From practice: midcore RPG, Unity + Firebase. Progression was linear, retention D7 — 8%. After redesign: exponential XP-curve with "accelerated" early levels (1–10 fast, giving dynamic feeling), battle pass with 30 levels over 4 weeks, daily quests — D7 retention rose to 19%.
Reward System
Rewards must be immediate and predictable. "Loot box" (random reward) — high emotional peak, but Japan, Belgium, other jurisdictions regulate loot boxes as gambling. For stores: Apple App Review requires disclosing drop rates in App Store (guideline 3.1.1). Google Play similarly.
Risk-free variants: guaranteed progression (pity system — every N tries guaranteed rare), battle pass with fixed rewards per level.
What's Involved
- XP-curve mathematical model with target time per level
- Vertical and horizontal progression structure
- Daily / weekly quest system
- Streak mechanics and long-term milestone goals
- Reward system design accounting for store regulations
- GDD specification with numeric parameters
- Balance spreadsheet in Google Sheets / Excel for iteration
Timeline
2–3 working days — design progression for casual / hyper-casual project. For midcore with multiple linked systems (character level + gear + guild + season) — 5–7 days. Cost calculated individually.







