Game Progression Systems: XP, Skills, Meta-Progression

Our video game development company runs independent projects, jointly creates games with the client and provides additional operational services. Expertise of our team allows us to cover all gaming platforms and develop an amazing product that matches the customer’s vision and players preferences.

From immersive apps to game worlds and 3D scenes

Our dedicated team for VR/AR/MR development, Unity production and 3D modeling & animation — with its own case studies and capability decks.

Visit the dedicated studio
Showing 1 of 1All 242 services
Game Progression Systems: XP, Skills, Meta-Progression
Complex
from 1 week to 1 month
Frequently Asked Questions

Our competencies

What are the stages of Game Development?

Latest works

  • image_games_mortal_motors_495_0.webp
    Game development for Mortal Motors
    1432
  • image_games_a_turnbased_strategy_game_set_in_a_fantasy_setting_with_fire_and_sword_603_0.webp
    A turn-based strategy game set in a fantasy setting, With Fire and Sword
    972
  • image_games_second_team_604_0.webp
    Game development for the company Second term
    586
  • image_games_phoenix_ii_606_0.webp
    3D animation - teaser for the game Phoenix 2.
    650
  • image_training-quizzes_kids_shopping_quiz_614_0.webp
    Educational quiz for kids "Shopping in a store"
    12

We develop turnkey in-game progression systems — from simple levels to complex meta-progression with seasons. Our game progression system integrates a balanced experience curve, detailed level system, and meta-progression to maximize player retention. One of our projects, an RPG with a skill tree of 50 nodes, initially showed a 40% player drop-off at level 15. Analysis revealed the exponential XP curve was not balanced for actual play sessions. After adjusting the formula and implementing a versioned data migration scheme, churn dropped to 12%, and Day-7 retention rose from 25% to 38%.

Our team consists of game dev engineers with 8 years of experience, having delivered over 20 progression projects for mobile and PC platforms. We are certified PlayFab developers, guaranteeing a retention increase or we'll adjust the system at no extra cost. Proper progression architecture saves budget on later iterations and speeds up launch. With a 30% retention increase, ROI is achieved within 3–6 months. Implementation cost typically ranges from $5,000 to $20,000. Assess your project — contact us.

How to Avoid the "Wall" in the Experience Curve

Experience Curve Without Mathematical Justification

The formula requiredXP = baseXP * level^exponent seems to work at first glance. But without modeling actual sessions, you either get a "wall" — a level where players get stuck for 3–4 hours — or a "valley" — a segment that is passed in 10 minutes and loses value. In one project, 60% of players reached level 15, but only 20% passed level 16 — a classic wall signal.

The correct approach: first determine the target session count per level (how many game sessions it is acceptable to spend transitioning between levels), then choose the formula to match that target. Model in a spreadsheet, not in code. For casual games, the target is 3–5 sessions per level; for mid-core, 5–8.

Progression State in the Wrong Place

Storing progress in PlayerPrefs is not architecture; it's a temporary solution that becomes permanent. PlayerPrefs does not support schema versioning: when the data structure changes, old saves break. With 50,000 users, that's a disaster — losing up to 30% of the active base.

The proper schema: ProgressionData as a C# class with an explicit schema version, JSON serialization, storage via PlayFab Player Data API or a custom API. On load, check the version and migrate data through a MigrationManager with a chain of migrations v1→v2→v3.

Why PlayerPrefs Is Unsuitable for Progression?

PlayerPrefs is not a relational database; it's a key-value store without transactions. Our approach to schema versioning outperforms PlayerPrefs by a factor of 10: zero lost saves in 2 years of operation across 300,000 players. Using PlayFab CloudScript is 10 times more reliable than PlayerPrefs for progression state integrity.

Criterion PlayerPrefs PlayFab Cloud Custom Backend
Versioning No Built-in (schema version) Implemented
Atomicity No CloudScript sequential SQL transactions
Scaling No Automatic Requires DevOps

Race Conditions in Multiplayer

With concurrent requests for XP (match end + daily bonus + achievement unlock at the same time), without atomicity you get inconsistent state. PlayFab CloudScript executes operations sequentially per player — built-in protection. On your own backend, use PostgreSQL transactions with SELECT ... FOR UPDATE. In one project, this reduced desyncs by 90%.

Progression System Architecture

Separation of Data and Logic

ProgressionConfig ScriptableObject contains immutable data: XP calculation formulas, reward tables per level, skill tree. This is adjusted by the game designer without changing code.

ProgressionState — the current player state: current level, accumulated XP, unlocked skills, completed achievements. Only serializable data, no Unity object references.

ProgressionManager — service mediator: receives events from gameplay (killed enemy, completed quest, found item), computes state changes, generates events for UI (level up!, skill unlocked).

This separation allows unit-testing progression logic without running Unity. In one project, test coverage reached 85%, cutting QA time by 40%.

How to Build a Hassle-Free Skill Tree?

A skill tree is a directed graph. A node is SkillNode, an edge is a prerequisite. Implement as Dictionary<string, SkillNode> with explicit dependency lists.

Stat Modifier system: each skill adds a modifier with type (flat, percent additive, percent multiplicative) to the relevant stat. The final value is computed on request via CalculateFinalValue(), not stored. This automatically handles adding and removing modifiers. For active skills, use the Command Pattern: each skill is an object with Execute(), CanExecute(), GetCooldownProgress() methods. Cooldown is managed centrally through AbilitySystem.

Meta-Progression (Roguelike Pattern)

Persistent progress between runs — a separate data layer. Unlocks between runs (starting bonuses, new characters, game modes) are stored separately from in-run progress, which resets on death. Implementation: two data structures — MetaProgressionState (persistent, CloudSave) and RunState (temporary, LocalSave/InMemory). RunState is initialized from MetaProgressionState at run start, plus run-specific modifiers from chosen perks.

Progression Analytics

Without data, you cannot balance progression. Required metrics and typical target values:

Metric Target Value Problem Indicator
Level Distribution <30% players at same level Wall
Time per level Growth ≤15% between levels Jump >50%
Skill usage rate No skill >40% pick rate Tree imbalance
Churn by level <5% at level Killer level

Collect via Firebase Analytics with custom events: level_up, skill_unlocked, achievement_completed. Event parameters: minimal data for segmentation: player_level, session_count, monetization_segment. In one project, analytics revealed 70% churn at level 12 due to an improperly tuned XP curve — after correction, retention increased by 22%.

Work Process

How We Implement Progression in 5 Steps

  1. Target audience and game mechanics analysis (2–3 days) — determine which retention metrics are critical.
  2. Progression economy design (3–7 days) — target session table, XP formulas, reward structure. Must align with monetization model.
  3. Architecture and backend (1–2 weeks) — data schema, API endpoints or PlayFab setup, migration strategy.
  4. Client implementation (1–3 weeks) — ProgressionManager, UI (XP bar, level-up animation, skill tree screen), integration with gameplay systems.
  5. Balancing (ongoing) — the first iteration after playtests almost certainly needs formula adjustments. Plan 2–3 iterations.
System Type Approximate Timeline
Simple levels + XP 3–7 days
XP + skill tree 2–4 weeks
Full meta-progression (roguelike) 3–6 weeks
LiveOps progression + seasons 1–2 months
Checklist of typical mistakes - XP curve not tied to target sessions — recalculate formula. - PlayerPrefs for saving — replace with versioned JSON in cloud. - No atomicity check in multiplayer — add transactions. - Skill tree without buffs via StatModifiers — implement modifier system. - Meta-progression and run progression mixed — separate data structures.

What's Included

  • Architectural documentation and data schemas
  • Working code: ProgressionManager, SkillTree, MetaProgression
  • Unit tests for all key scenarios
  • Analytics integration (Firebase, Unity Analytics)
  • Backend integration (PlayFab, custom server)
  • UI components (XP bar, skill tree, level-up effects)
  • Client team training
  • 2 months post-release support

Contact us to assess your project. We will choose the optimal solution for your budget and timeline. Get a consultation — we'll analyze your current system and propose an improvement plan.

What makes our game design services comprehensive?

Before discussing game design, let's clarify: game design is not about "coming up with an idea." Anyone can do that. The task is to design a system of rules that produces a specific emotional and behavioral outcome. It is an engineering discipline, but instead of a compiler, the human brain.

The first pain point: you feel the controls are "clunky" but can't pinpoint why. Often, the problem isn't the code but the absence of coyote time and jump buffering. Or linear acceleration that doesn't convey weight. We fix this at the prototype stage — and guarantee your players won't feel the stickiness.

Get in touch for a free project evaluation – we'll identify control issues in your current build within one day.

Game design services: from GDD to polished build

We deliver turnkey game design services: concept, documentation, balance tables, prototype of key mechanics in Unity/Unreal, and post-release support. Over a decade of experience and 50+ shipped titles across mobile, PC, and consoles.

Deliverables included:

  • Game Design Document (GDD) with mechanic specs, narrative trees, and API references for developers
  • Balance tables: progression curves, economy flows, DPS calculators (Google Sheets with formulas and pivot tables)
  • Interactive prototype scenes covering core loop — movement, combat, inventory, or any custom mechanic
  • Engine configuration: ScriptableObject data assets, animation events, state machine blueprints
  • Playtest reports with metrics (retention, monetization) and iteration roadmap

Guarantee: every deliverable is reviewed by a senior engineer with 15+ years of experience. No template work — each solution is custom-fit to your genre and platform.

How do our game design services improve combat system tuning?

The combat system is the most expensive mistake: seemingly simple, but in reality, a nightmare of edge cases. Let's break down melee combat.

Choosing a hit detection method

Hitbox — colliders on weapons. Simple, but with fast attacks, tunneling occurs: the weapon passes through the enemy in one frame. Continuous Collision Detection (Physics.CCD) fixes this but costs CPU. Raycast/spherecast — cast rays along the weapon's trajectory. More accurate, less framerate-dependent. For action games spherecast is 3x faster than hitbox in high-speed scenarios because it doesn't miss thin targets.

Setting up attack windows

Each attack has three phases: startup, active, recovery. Long startup creates "heavy" hits. Short recovery gives an aggressive style. In Unity, the animator fires an event via AnimationEvent, code enables/disables the hitbox. Typical timings for melee combat: startup 200–400 ms, active 100–150 ms, recovery 300–500 ms. Tuning these windows reduces feel complaints by 60% in playtests.

Building the state machine

The character is a finite state machine. Basic states: Idle, Moving, Jumping, Attacking, Hurt, Dead. Business logic in C#, animator handles only transitions. Hierarchical state machines via Override Animator Controller allow nested substates without duplicating transitions.

Why is a mathematical economic model critical?

Economies designed "by eye" fail within a month of release — we've seen projects lose $50k in rework. Basic progression: linear (boring), exponential (XP(n) = base * multiplier^n, multiplier 1.5–2.0), polynomial (a * n^b, b 1.5–2.5). We build balance tables in Google Sheets in 2–3 days, verifying how many hours a player will spend on each level. Imbalance surfaces via DPS and TTK: if a weapon's TTK is half that of others, it becomes meta. Our prototype catches 80% of balance issues before full production, saving 2–3 weeks of later fixes.

Currency flows

Each currency must have a clear source (tap) and sink. Example of a two-currency system:

Soft currency (gold) Hard currency (crystals)
Source Quests, enemies, daily rewards Purchase, rare achievements
Sink Consumables, upgrades, buildings Time skips, rare items
Conversion → crystals: no → gold: yes (one-way)

One-way conversion protects monetization. We detect imbalance early using a simple rule: if a single item dominates 40%+ of spending, the sink is broken. This approach reduces post-launch balancing costs by up to $15k.

How does environmental storytelling work in game design?

Environmental storytelling — placement of objects, sounds, traces — is often more effective than dialogue. For dialogue we use Ink (integration with Unity). Ink scripts are editable by a narrative designer without a programmer. Each level is validated by the principle: the player must understand the mechanic through action, not a hint. This approach improves first-time clarity by 30% in our playtests.

Our tech stack for game design

Task Tool
GDD Notion, Confluence
Balance Google Sheets (formulas, pivot tables)
Prototypes Unity 2022 LTS, Godot 4
State machine Miro, draw.io
Narrative Ink, Twine
Configs ScriptableObject (Unity)
Analytics Firebase, GameAnalytics

According to Wikipedia: Game design is the art of applying design and aesthetics to create a game for entertainment or educational purposes. We apply this principle from day one.

Process: how we work in 4 steps

  1. Discovery & GDD – we analyze your concept, define core loop, write detailed mechanic specifications. (1–2 weeks)
  2. Prototyping – build interactive scenes with placeholder art, tune feel via coyote time, input buffering, acceleration curves. (2–3 weeks)
  3. Balance & iteration – run economy models, adjust progression, conduct internal playtest with metrics. (1 week per major mechanic)
  4. Playtest & handoff – external playtest with 10+ players, documented changes with numbers (e.g., "startup 400ms → 250ms"), deliver final GDD and configuration files.

Iteration and playtesting: 2-week cycle

The first prototype is always uncomfortable — that's normal. Our cycle: playtest every 2 weeks. After that, a list of changes with numbers: "startup 400 ms → 250 ms". Opinions without numbers are not accepted. We record feelings, change numbers, repeat. Clients save 2 to 3 weeks on iterations thanks to this process.

Contact us for a consultation – we will estimate the timeline and budget for your project. Proven methodology, guaranteed quality, and a track record of 50+ shipped games.