game-balancing
Use this skill when working with game balancing - economy design, difficulty curves, progression systems, reward schedules, playtesting analysis, or tuning game parameters. Triggers on any game design task involving resource sinks and faucets, XP curves, loot tables, difficulty scaling, player retention mechanics, or interpreting playtest data to adjust game feel.
engineering game-designbalancingeconomyprogressionplaytestingdifficultyWhat is game-balancing?
Use this skill when working with game balancing - economy design, difficulty curves, progression systems, reward schedules, playtesting analysis, or tuning game parameters. Triggers on any game design task involving resource sinks and faucets, XP curves, loot tables, difficulty scaling, player retention mechanics, or interpreting playtest data to adjust game feel.
game-balancing
game-balancing is a production-ready AI agent skill for claude-code, gemini-cli, openai-codex, and 1 more. Working with game balancing - economy design, difficulty curves, progression systems, reward schedules, playtesting analysis, or tuning game parameters.
Quick Facts
| Field | Value |
|---|---|
| Category | engineering |
| Version | 0.1.0 |
| Platforms | claude-code, gemini-cli, openai-codex, mcp |
| License | MIT |
How to Install
- Make sure you have Node.js installed on your machine.
- Run the following command in your terminal:
npx skills add AbsolutelySkilled/AbsolutelySkilled --skill game-balancing- The game-balancing skill is now available in your AI coding agent (Claude Code, Gemini CLI, OpenAI Codex, etc.).
Overview
Game balancing is the discipline of tuning numbers, curves, and systems so that a game feels fair, engaging, and rewarding across its entire play arc. It spans economy design (ensuring resources flow without inflation or deflation), difficulty curves (matching challenge to player skill growth), progression systems (giving players meaningful choices and a sense of advancement), and playtesting (using real player data to validate or invalidate design assumptions). A well-balanced game keeps players in flow state - challenged but never frustrated, rewarded but never bored.
Tags
game-design balancing economy progression playtesting difficulty
Platforms
- claude-code
- gemini-cli
- openai-codex
- mcp
Related Skills
Pair game-balancing with these complementary skills:
Frequently Asked Questions
What is game-balancing?
Use this skill when working with game balancing - economy design, difficulty curves, progression systems, reward schedules, playtesting analysis, or tuning game parameters. Triggers on any game design task involving resource sinks and faucets, XP curves, loot tables, difficulty scaling, player retention mechanics, or interpreting playtest data to adjust game feel.
How do I install game-balancing?
Run npx skills add AbsolutelySkilled/AbsolutelySkilled --skill game-balancing in your terminal. The skill will be immediately available in your AI coding agent.
What AI agents support game-balancing?
This skill works with claude-code, gemini-cli, openai-codex, mcp. Install it once and use it across any supported AI coding agent.
Maintainers
Generated from AbsolutelySkilled
SKILL.md
Game Balancing
Game balancing is the discipline of tuning numbers, curves, and systems so that a game feels fair, engaging, and rewarding across its entire play arc. It spans economy design (ensuring resources flow without inflation or deflation), difficulty curves (matching challenge to player skill growth), progression systems (giving players meaningful choices and a sense of advancement), and playtesting (using real player data to validate or invalidate design assumptions). A well-balanced game keeps players in flow state - challenged but never frustrated, rewarded but never bored.
When to use this skill
Trigger this skill when the user:
- Needs to design or tune an in-game economy (currencies, sinks, faucets, exchange rates)
- Wants to create or adjust a difficulty curve for levels, enemies, or encounters
- Is building a progression system (XP, skill trees, unlocks, prestige loops)
- Needs to design loot tables, drop rates, or reward schedules
- Wants to analyze playtest data to find balance problems
- Is tuning player power curves against content difficulty
- Needs to model inflation, deflation, or resource equilibrium over time
- Wants to design or evaluate a monetization-adjacent economy (free-to-play, gacha rates)
Do NOT trigger this skill for:
- General game programming or engine-specific questions (use engine-specific skills)
- Narrative design, level layout, or art direction unrelated to balance numbers
Key principles
Every faucet needs a sink - For any resource entering the economy, there must be a corresponding drain. Without sinks, inflation is inevitable. Map every source of currency/items to at least one consumption mechanism. Audit the ratio regularly.
Balance for the median, gate for the tail - Tune core difficulty for the 50th-percentile player. Use optional challenges (hard modes, bonus bosses, ranked ladders) to serve the top 10% and accessibility options to serve the bottom 10%. Never let outlier players distort the core experience.
Progression must feel earned, not given - The value of a reward is proportional to the perceived effort required. If players get powerful items too easily, nothing feels special. If progress is too slow, players churn. Target a "just right" cadence where each session ends with a meaningful gain.
Playtest data beats intuition - Designer instinct is a starting point, not a conclusion. Every balance hypothesis must be validated against real player behavior. Track completion rates, time-to-complete, resource stockpiles, and churn points. Let the data tell you where the pain is.
Small changes, measured impact - Never change more than one system at a time. Adjust parameters by 10-20% increments, measure, then adjust again. Large sweeping changes make it impossible to attribute cause and effect.
Core concepts
The Economy Loop
A game economy is a closed (or semi-closed) system of faucets (sources of resources), stocks (player inventories/wallets), and sinks (consumption points). Healthy economies maintain equilibrium where the average player's stock grows slowly over time without runaway inflation. Model this as a flow diagram before implementing any numbers.
Difficulty Curves
Difficulty is the relationship between player power and content challenge over time. The most common models are: linear (steady increase), logarithmic (steep early, flattening later - good for onboarding), exponential (gentle start, steep endgame - good for hardcore), and sawtooth (periodic spikes followed by relief - good for tension pacing). Choose based on your target audience and genre.
Progression Systems
Progression gives players a sense of growth. The key entities are: XP/level
curves (how much effort per level), unlock gates (what content opens when),
power curves (how stats scale with level), and prestige/reset loops (trading
progress for permanent bonuses). The XP curve formula xp_for_level(n) = base * n^exponent is the foundation - exponent values between 1.5 and 2.5 are typical.
Playtesting Metrics
The core metrics for balance validation are: completion rate (% of players finishing a level/quest), time-to-complete (median session/level duration), resource velocity (earn rate vs spend rate over time), churn points (where players quit), and Gini coefficient (wealth distribution inequality among players in multiplayer economies).
Common tasks
Design an economy with sinks and faucets
Map every resource flow in the game. For each currency or item type, list all sources (quest rewards, drops, purchases, crafting) and all drains (shops, upgrades, consumables, repair costs, taxes). Calculate the net flow per hour of play.
Framework - Economy audit table:
| Resource | Faucets (per hour) | Sinks (per hour) | Net flow | Health |
|---|---|---|---|---|
| Gold | Quests: 500, Drops: 200, Sales: 100 | Shop: 400, Repairs: 150, Tax: 50 | +200/hr | Mild inflation |
| Gems (premium) | Daily login: 5, Achievements: 2 | Gacha: 10, Cosmetics: 5 | -8/hr | Deflationary - needs more faucets |
Target net flow should be slightly positive (players feel progress) but controlled by periodic large sinks (major upgrades, prestige resets).
Gotcha: Multiplayer economies need a global sink (auction house tax, item degradation) or veteran players will hoard and crash the market.
Build an XP/level curve
Define the effort required per level using an exponential formula. The two key parameters are the base XP and the scaling exponent.
Formula: xp_required(level) = base_xp * level ^ exponent
| Exponent | Feel | Best for |
|---|---|---|
| 1.0 | Linear - same effort every level | Short games, tutorials |
| 1.5 | Moderate curve - accessible | RPGs, casual progression |
| 2.0 | Quadratic - standard MMO feel | MMOs, long-lifecycle games |
| 2.5 | Steep - hardcore | Prestige systems, endgame grinds |
Example (base=100, exponent=1.8):
| Level | XP required | Cumulative XP | Hours at 200 XP/hr |
|---|---|---|---|
| 1 | 100 | 100 | 0.5 |
| 5 | 1,552 | 4,237 | 7.8 |
| 10 | 6,310 | 22,540 | 31.5 |
| 20 | 25,119 | 130,891 | 112.7 |
Gotcha: Always validate the curve at level 1, midpoint, and cap. If the last 10% of levels take more than 40% of total playtime, most players will never see endgame content.
Design a difficulty curve
Choose a curve shape, then map player power and enemy/content difficulty as two separate curves. The gap between them is the "challenge delta."
Sawtooth pattern (recommended for most games):
- Each world/chapter starts slightly below player power (breathing room)
- Ramps up to match player power by mid-chapter
- Boss/climax exceeds player power by 10-20% (challenge spike)
- Next chapter resets to below (reward feeling from new area)
Checklist for difficulty tuning:
- Can a median player complete the tutorial in under 5 minutes?
- Is the first death/failure no earlier than 10-15 minutes in?
- Does each major section have at least one "relief" moment?
- Is the final boss beatable without grinding (with skill)?
- Are optional hard challenges clearly marked as optional?
Design loot tables and drop rates
Use weighted random selection with rarity tiers. Standard rarity distribution:
| Tier | Drop weight | Typical % | Power relative to Common |
|---|---|---|---|
| Common | 60 | 60% | 1.0x |
| Uncommon | 25 | 25% | 1.3x |
| Rare | 10 | 10% | 1.7x |
| Epic | 4 | 4% | 2.2x |
| Legendary | 1 | 1% | 3.0x |
Pity system: Guarantee a rare-or-better drop every N pulls to prevent frustration streaks. Typical pity thresholds: 10 pulls for Rare, 50 for Epic, 90 for Legendary.
Gotcha: Without a pity system, ~37% of players will go 100 pulls without a 1% drop. That feels terrible. Always implement pity mechanics.
Analyze playtest data for balance issues
When reviewing playtest results, look for these red flags:
Completion rate signals:
- Below 70% completion on a required level = too hard, tune down
- Above 95% completion with zero deaths = too easy, tune up
- Sharp drop-off at a specific point = difficulty spike or unclear objective
Economy signals:
- Average player stockpile growing faster than content releases = inflation
- Players unable to afford core upgrades at the expected level = too stingy
- Top 10% of players holding 80%+ of wealth = need progressive sinks
Session length signals:
- Sessions under 5 minutes = poor hook, first 3 minutes need work
- Sessions over 3 hours with no break points = add natural stopping points
- Consistent 20-40 minute sessions = healthy engagement
Tune a monetization-adjacent economy
For free-to-play games, balance the free and premium economies separately:
Rules for ethical F2P balancing:
- Free players must be able to complete all core content (time, not money, is the gate)
- Premium currency should buy convenience or cosmetics, not power (pay-to-skip, not pay-to-win)
- Free currency earn rate should be ~60-70% of the "comfortable" spend rate
- Premium items should never be more than 2x as efficient as free alternatives
- Daily login rewards should give meaningful premium currency (5-10% of a small purchase)
Anti-patterns / common mistakes
| Mistake | Why it's wrong | What to do instead |
|---|---|---|
| Tuning by feel without data | Designer bias leads to difficulty that matches YOUR skill, not the median player's | Instrument everything, playtest with target audience, use completion rate data |
| Adding faucets without sinks | Economy inflates, currency becomes meaningless, late-game balance collapses | For every new reward source, add a corresponding consumption mechanism |
| Linear XP curves | Every level feels the same, no sense of acceleration or accomplishment | Use exponential curves (1.5-2.5 exponent) so early levels are fast and later ones feel earned |
| Nerfing popular strategies | Players feel punished for finding optimal play; generates resentment | Buff underused alternatives instead - bring the floor up, don't lower the ceiling |
| Changing multiple systems at once | Impossible to know which change caused which effect | Change one variable at a time, measure for at least one full play-cycle, then adjust the next |
| No pity system on random drops | ~37% of players hit frustration streaks on 1% drops within 100 attempts | Implement guaranteed minimum drops after N failed attempts |
| Flat difficulty throughout | Players either get bored (too easy) or frustrated (too hard) with no variation | Use sawtooth curves with tension peaks and relief valleys |
Gotchas
Balancing the median player silently destroys your hardest content - If you tune difficulty for the 50th percentile, the top 10% of players will find late content trivial within a week of release. Segment playtesting explicitly - run sessions with expert players separately from casual ones, and tune different content tiers to different targets.
Pity systems need a persistent counter, not a session counter - If the pity counter resets on app restart or session end, players who hit the pity threshold just before quitting restart from zero next session. The pity counter must persist to permanent storage and survive all session boundaries.
XP curve validation is useless without a realistic earn rate - The formula looks right on paper, but if you model
200 XP/hrand real players average80 XP/hr, the curve is 2.5x harder than designed. Always validate the curve against measured in-game earn rates from playtests, not theoretical maximums.Buffing alternatives that nobody uses doesn't fix the problem - If one strategy is dominant because it synergizes with a core mechanic, buffing weak alternatives doesn't break the dominance - it just makes the game slightly more powerful overall. First identify WHY the dominant strategy is dominant (usually a core mechanic interaction), then address the root cause.
Free-to-play "ethical" balance breaks if premium items stack - Premium items that are individually 2x free alternatives become 8x when players stack three of them. Always model stacking scenarios during balance review, not just individual item comparisons.
References
For detailed content on specific sub-domains, read the relevant file
from the references/ folder:
references/economy-design.md- Deep dive on sink/faucet modeling, inflation prevention, and multiplayer market dynamicsreferences/progression-formulas.md- XP curve formulas, power scaling math, prestige loop design, and worked numerical examplesreferences/playtesting-guide.md- How to run playtests, what metrics to track, statistical significance for small samples, and interpreting results
Only load a references file if the current task requires it - they are long and will consume context.
References
economy-design.md
Economy Design - Deep Dive
Sink/Faucet Modeling
Step 1: Map the flow
Create a directed graph of every resource in the game:
[Quest Rewards] ---> [Player Gold] ---> [NPC Shop]
[Monster Drops] ---> [Player Gold] ---> [Crafting Costs]
[Daily Login] ---> [Player Gold] ---> [Repair Bills]
[Trading] <--> [Player Gold] <--> [Auction House Tax]Every arrow INTO the player stock is a faucet. Every arrow OUT is a sink. Bidirectional arrows (trading) create secondary flows that need their own sinks.
Step 2: Quantify hourly rates
For each faucet and sink, estimate the per-hour flow for three player archetypes:
| Archetype | Play style | Gold/hr earned | Gold/hr spent |
|---|---|---|---|
| Casual (bottom 25%) | Quests only, slow pace | 300 | 200 |
| Median (middle 50%) | Mixed quests + farming | 700 | 500 |
| Hardcore (top 25%) | Optimized farming routes | 1,500 | 800 |
Red flag: If hardcore earners accumulate 3x+ faster than they spend, you need progressive sinks (higher repair costs at higher levels, luxury cosmetics, prestige resets that cost currency).
Step 3: Model over time
Simulate 100 hours of play for each archetype. Plot cumulative stock over time. A healthy economy shows:
- Casual: slow but steady growth, can afford core items by midgame
- Median: comfortable growth, occasional saving for big purchases
- Hardcore: fast growth but with meaningful endgame sinks that prevent hoarding
Inflation prevention
Bounded currencies: Cap how much a player can hold (e.g., 999,999 gold). This is a blunt instrument but prevents extreme outliers.
Decay mechanics: Resources lose value over time (food spoils, gear degrades). Adds realism but players may find it punishing. Use sparingly.
Progressive taxation: Auction house fees scale with transaction value. A 5% fee on small trades, 15% on large trades. This drains more from wealthy players.
Money sinks disguised as content: Cosmetic housing, mount breeding, guild upgrades - these are optional sinks that players choose to engage with. Most effective because they feel rewarding, not punitive.
Multiplayer Market Dynamics
Player-driven economies
When players can trade freely, you lose direct control over pricing. Instead, you control:
- Supply - Drop rates determine how many items enter the economy
- Demand - Crafting recipes and gear requirements determine consumption
- Transaction costs - Auction house fees remove currency from circulation
- Item lifetime - Durability, binding-on-equip, and seasonal resets control item supply over time
Common multiplayer economy problems
Bot farming: Automated players generate resources 24/7, causing massive inflation. Mitigation: daily earn caps, CAPTCHA-like mechanics for farming activities, diminishing returns on repeated content.
Market manipulation: Wealthy players buy out all stock of an item to corner the market. Mitigation: price ceilings on essential items, NPC vendors as price anchors, limiting stack purchases.
New player gap: Veterans have millions; new players have nothing. The economy prices items at veteran levels, making early game unplayable. Mitigation: level- bracketed markets, starter-bound items, catch-up mechanics that give new players accelerated earning.
Dual currency systems
Most successful F2P games use two currencies:
| Currency | Earn method | Spend on | Flow rate |
|---|---|---|---|
| Soft (gold, coins) | Gameplay | Core items, upgrades | High volume, steady |
| Hard (gems, crystals) | Real money + small free drip | Cosmetics, convenience | Low volume, precious |
Critical rule: Never let hard currency buy power that soft currency cannot eventually also buy. The conversion should be time, not exclusivity.
Exchange rate management
If players can convert between soft and hard currency:
- Fixed rate (developer-set): Simple but may not reflect actual value
- Market rate (player-driven): Flexible but volatile
- Hybrid (developer floor/ceiling, market between): Best of both worlds
Set the floor at 80% of your target rate and the ceiling at 120%. This prevents extreme manipulation while allowing organic price discovery.
Economy Health Metrics
Track these weekly for live games:
| Metric | Healthy range | Action if outside |
|---|---|---|
| Average gold per player | Grows 2-5% per week | Below: increase faucets. Above: add sinks |
| Gini coefficient | 0.3-0.5 | Above 0.6: wealth too concentrated, add progressive sinks |
| Auction house velocity | 10-30% of items listed sell per day | Below 10%: prices too high. Above 30%: prices too low |
| Currency per hour played | Stable +/- 10% | Increasing: inflation. Decreasing: add content rewards |
| Sink participation rate | 60%+ of players use major sinks | Below 40%: sinks not attractive enough, redesign |
playtesting-guide.md
Playtesting Guide - Deep Dive
How to Run a Balance Playtest
Playtest types
| Type | Sample size | Duration | Best for |
|---|---|---|---|
| Internal (team) | 3-5 | 30-60 min | Early feel checks, obvious breaks |
| Focused (recruited) | 8-15 | 1-2 hours | Specific mechanic validation |
| Open beta | 100-1000+ | Days-weeks | Statistical validation, economy stress test |
| A/B test (live) | 50%/50% split | 1-2 weeks | Comparing two balance configurations |
Pre-playtest checklist
- Define the specific balance question being tested (e.g., "Is the level 10 boss too hard?")
- Instrument all relevant metrics (see metrics section below)
- Prepare a control group if doing A/B testing
- Write down your prediction before the test (prevents confirmation bias)
- Set success/failure criteria in advance (e.g., "Pass if 65-80% of testers complete it")
- Recruit testers matching your target audience skill level
- Prepare a post-session questionnaire (max 5 questions)
During the playtest
Observe without interfering. Do not coach, hint, or explain. If a tester is confused, that IS the data point. Note:
- Where they pause or hesitate
- Where they express frustration (verbal, facial, body language)
- Where they express delight or surprise
- Any strategies they discover that you didn't intend
- How long each section takes
Post-session questions (template)
- "What was the hardest part?" (open-ended, no prompting)
- "Did you ever feel stuck? Where?" (identifies difficulty spikes)
- "Did anything feel too easy or pointless?" (identifies trivial content)
- "How did you feel about the rewards you received?" (economy feedback)
- "Would you keep playing? Why or why not?" (retention signal)
What Metrics to Track
Core balance metrics
Instrument these from day one:
Per-level/encounter:
- completion_rate: % of players who finish
- attempt_count: average attempts before completion
- time_to_complete: median seconds
- death_count: average deaths per attempt
- health_remaining: % HP left on completion (for combat)
- items_used: consumables burned per attemptPer-session:
- session_length: minutes played
- content_progressed: levels/quests completed
- resources_earned: currency and items gained
- resources_spent: currency and items consumed
- net_resource_change: earned minus spentPer-player (longitudinal):
- total_playtime: cumulative hours
- current_level: progression status
- total_currency: economic stockpile
- churn_point: last content completed before quitting
- return_rate: % chance of playing again within 7 daysDerived metrics
Difficulty index = 1 - completion_rate. Values above 0.4 indicate a
problem for required content. Optional content can go up to 0.7.
Economy velocity = resources_spent / resources_earned. Healthy range is
0.6-0.85. Below 0.5 means players are hoarding. Above 0.9 means they feel poor.
Engagement slope = session_length[this_week] / session_length[last_week].
Below 0.8 means engagement is dropping fast. Above 1.0 means the game is
gaining momentum.
Power-to-content ratio = player_power_level / recommended_content_level.
At 1.0, content is matched. Below 0.9, player is undergeared. Above 1.2, content
is trivially easy.
Statistical Significance for Small Samples
Game playtests often have small sample sizes. Use these guidelines:
Minimum sample sizes for confidence
| What you're measuring | Minimum testers | Why |
|---|---|---|
| "Is this level completable?" | 5-8 | Binary outcome, need to see at least 1 failure |
| "Is this boss too hard?" | 10-15 | Need enough attempts to estimate true completion rate |
| "Which economy config is better?" | 20+ per group | Comparing two distributions |
| "Is this drop rate felt as fair?" | 30+ | Perception is noisy, need larger sample |
When you can NOT draw conclusions
- Fewer than 5 testers and all succeeded: You cannot claim the content is balanced. You can only say "we found no obvious breaks."
- One tester struggled but others didn't: This is signal, not proof. Note it and watch for the pattern in future tests.
- Testers are all from the dev team: Internal testers are 2-5x more skilled than the median player.
Quick significance check
For completion rate tests with small samples, use this rule of thumb:
If N testers attempt a level and K complete it:
- K/N > 0.8 and N >= 8: Probably fine for required content
- K/N between 0.5-0.8 and N >= 10: Borderline, likely needs tuning
- K/N < 0.5 and N >= 5: Almost certainly too hard
For more rigorous analysis, use a binomial confidence interval. With 10 testers and 7 completions, the 95% confidence interval for true completion rate is approximately 35-93%. This is why small samples are tricky - you need more data to narrow the range.
Interpreting Results
The balance interpretation framework
For each metric that's outside healthy range, ask:
Is this a skill problem or a design problem?
- Skill: Players don't know what to do (add tutorials, hints)
- Design: Players know what to do but can't (tune numbers)
Is this affecting the median or the tails?
- Median affected: Core balance issue, must fix
- Only tails affected: Add difficulty options, don't change core
Is the fix additive or subtractive?
- Prefer additive (buff the weak path, add a new tool for players)
- Avoid subtractive (nerfing feels bad, removing options feels worse)
Common playtest findings and responses
| Finding | Likely cause | Recommended response |
|---|---|---|
| 90%+ completion, zero deaths | Content is trivially easy | Increase enemy HP by 20% or reduce player damage by 15% |
| Below 50% completion | Content is too hard OR unclear | Check if failures are from deaths (too hard) or confusion (unclear) |
| High completion but low satisfaction | Content is tedious, not challenging | Reduce time/repetition, increase stakes and variety |
| Economy stockpile growing 3x faster than expected | Faucets too generous or sinks unappealing | Reduce lowest-effort faucet by 20% AND add an attractive new sink |
| Players all choosing one build/strategy | One path is clearly dominant | Buff alternatives by 10-15%, do NOT nerf the popular path first |
| Session lengths declining week over week | Content stagnation or frustration accumulation | Check churn points - where are players quitting? |
The balance change process
- Identify the problem metric
- Hypothesize the cause (one specific thing)
- Propose a single parameter change (10-20% adjustment)
- Predict the expected metric change before implementing
- Implement the change
- Playtest again with same methodology
- Compare actual vs predicted result
- If prediction was wrong, re-hypothesize (don't just try a bigger change)
Repeat until the metric is within healthy range. Never skip step 4 - predicting forces you to understand the system, not just react to symptoms.
progression-formulas.md
Progression Formulas - Deep Dive
XP Curve Formulas
Standard exponential curve
xp_required(level) = base_xp * level ^ exponentParameters:
base_xp: XP for level 1. Determines the pace of early game. Typical: 50-200.exponent: Controls curve steepness. Typical range: 1.5-2.5.
Cumulative XP (total XP from level 1 to N):
total_xp(N) = sum(base_xp * i^exponent for i in 1..N)For quick estimation: total_xp(N) ~= base_xp * N^(exponent+1) / (exponent+1)
Worked example: 50-level RPG
Parameters: base_xp=100, exponent=1.8, earn_rate=200 XP/hr at midgame
| Level | XP required | Cumulative | Hours to reach | Session count (30min) |
|---|---|---|---|---|
| 1 | 100 | 100 | 0.5 | 1 |
| 5 | 1,552 | 4,237 | 3.5 | 7 |
| 10 | 6,310 | 22,540 | 14 | 28 |
| 20 | 25,119 | 130,891 | 55 | 110 |
| 30 | 60,753 | 394,200 | 130 | 260 |
| 40 | 115,478 | 885,700 | 245 | 490 |
| 50 | 191,310 | 1,680,000 | 400 | 800 |
Analysis: Level 50 takes ~400 hours. For a hardcore MMO, this is reasonable (~6 months at 2hr/day). For a casual game, this is too long - reduce exponent to 1.5 or add catch-up mechanics.
Alternative curves
Fibonacci-style: Each level requires the sum of the previous two levels' XP. Creates a naturally accelerating curve that feels organic.
xp(1) = base
xp(2) = base
xp(n) = xp(n-1) + xp(n-2)Stepped: XP requirements jump at tier boundaries (every 10 levels) but are flat within a tier. Good for games with clear "chapter" boundaries.
xp(level) = tier_base[floor(level/10)] * (1 + (level % 10) * 0.1)Logarithmic (inverted): Early levels are hard, later levels are easier. Rare but useful for "mastery" systems where early learning is the bottleneck.
xp(level) = base * log(level + 1) / log(2)Power Scaling
Stat growth formulas
Player stats (HP, attack, defense) should grow in a way that maintains the challenge delta against enemies. Common approaches:
Linear growth (simple):
stat(level) = base_stat + (growth_per_level * level)Easy to balance but feels flat at high levels.
Compound growth (percentage-based):
stat(level) = base_stat * (1 + growth_rate) ^ levelGrowth_rate of 0.03-0.08 (3-8% per level) is typical. Creates exponential curves that feel rewarding but require exponential enemy scaling to match.
Diminishing returns (soft cap):
stat(level) = max_stat * (1 - e^(-growth_rate * level))Approaches a maximum asymptotically. Good for stats that should cap out (crit chance, cooldown reduction) to prevent game-breaking values.
Enemy scaling strategies
Fixed scaling: Each enemy has set stats. Players outlevel them and feel powerful. Good for linear games with no backtracking.
Level-matched scaling: Enemies scale to player level. Maintains challenge but can feel like the player never progresses. Use sparingly - only for specific "challenge" zones.
Bracket scaling: Enemies have a level range (e.g., goblin: level 3-7). Within that range, they scale. Outside it, they're fixed. Best of both worlds.
Recommended formula for bracket scaling:
enemy_stat(player_level) = base_stat * clamp(player_level / enemy_center_level, 0.7, 1.3)This keeps enemies within 70-130% of their intended difficulty relative to the player's level.
Prestige / Reset Loop Design
When to add prestige
Add a prestige/rebirth/new-game-plus system when:
- The main progression has a natural endpoint (max level reached)
- You want to extend game lifetime without adding new content
- Players enjoy optimizing and min-maxing
Prestige reward scaling
Each prestige cycle should offer a permanent bonus that makes the next cycle faster. Typical structure:
| Prestige level | Bonus | Total multiplier | Time to complete cycle |
|---|---|---|---|
| 0 (first play) | None | 1.0x | 40 hours |
| 1 | +25% XP gain | 1.25x | 32 hours |
| 2 | +25% XP gain | 1.56x | 25 hours |
| 3 | +25% XP gain | 1.95x | 20 hours |
| 5 | +25% XP gain | 3.05x | 13 hours |
| 10 | +25% XP gain | 9.31x | 4.3 hours |
Critical rule: The time savings should be meaningful but never trivial. If prestige 10 takes less than 10% of the original time, you've made it too fast and players will feel the loop is pointless.
Target: Each prestige should reduce cycle time by 15-25%. Diminishing returns should kick in around prestige 5-7 to prevent infinite acceleration.
Prestige cost design
What the player sacrifices on prestige:
- Full reset (harsh): Lose all levels, items, currency. Only keep prestige bonuses. High stakes, high reward feeling.
- Partial reset (moderate): Keep key unlocks (recipes, achievements) but lose levels and consumables. Most common choice.
- Soft reset (gentle): Keep almost everything, gain a small permanent bonus. Low stakes, good for casual audiences.
Skill Tree Balancing
Node costing
Each node in a skill tree should cost points proportional to its power:
node_cost = base_cost * power_tier_multiplier * depth_multiplierWhere:
power_tier_multiplier: 1.0 (minor), 1.5 (moderate), 2.5 (major), 4.0 (capstone)depth_multiplier: 1.0 + (0.2 * distance_from_root)
Path balance validation
No single path through a skill tree should be more than 15% stronger than alternatives at equivalent point investment. Test by:
- Calculate total DPS/effectiveness for each complete path
- Normalize to points spent
- If any path exceeds the mean by >15%, reduce its strongest node or buff competing paths
Respec economics
Always allow respecs. The cost should be:
- Free for the first 3 respecs (experimentation phase)
- Scaling cost afterward:
respec_cost = base * 2^(respec_count - 3) - Hard cap the cost at a value achievable in 1-2 hours of play
- Optional: free respec on major patches that change balance
Frequently Asked Questions
What is game-balancing?
Use this skill when working with game balancing - economy design, difficulty curves, progression systems, reward schedules, playtesting analysis, or tuning game parameters. Triggers on any game design task involving resource sinks and faucets, XP curves, loot tables, difficulty scaling, player retention mechanics, or interpreting playtest data to adjust game feel.
How do I install game-balancing?
Run npx skills add AbsolutelySkilled/AbsolutelySkilled --skill game-balancing in your terminal. The skill will be immediately available in your AI coding agent.
What AI agents support game-balancing?
game-balancing works with claude-code, gemini-cli, openai-codex, mcp. Install it once and use it across any supported AI coding agent.