game-balance-check — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited game-balance-check (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Balance is not about making everything equal -- it is about making everything feel fair while keeping decisions meaningful. A perfectly balanced game where every option is identical is a game with no interesting decisions. Into the Breach achieves near-perfect balance not through symmetry but through information transparency -- every option is viable because every consequence is visible. Slay the Spire achieves it through controlled variance -- any card can be powerful in the right deck, and Jorbs' statistical breakdowns prove the math holds across thousands of runs.
The goal is controlled asymmetry: every choice has a trade-off, every path is viable, and every player feels their preferred playstyle is respected. This workflow provides formal models -- including statistical validation and simulation -- for validating economy, progression, difficulty, and reward systems.
Invoke this workflow when:
Do NOT use this workflow when:
game-prototype first)Step 1: System Inventory and Dependency Mapping
Before you can balance a system, you must understand what the system contains and how it connects to everything else.
Create a complete inventory of:
Build a dependency graph showing how these systems connect. When system A changes, which other systems are affected? This graph is your guard rail -- before changing any number, trace the ripple effects through the dependency graph.
Step 2: Economy Validation
Faucet/Sink Analysis
Map every currency source and sink with flow rates:
[Source] --[rate/hour]--> [Currency Pool] --[rate/hour]--> [Sink]
Example:
Quest Rewards --500g/hr--> Gold Pool --300g/hr--> Equipment Shop
Monster Drops --200g/hr--> Gold Pool --150g/hr--> Consumables
Daily Login --100g/day-> Gold Pool --50g/hr---> Fast Travel
--100g/hr--> CraftingCalculate the net flow: Total Faucet Rate minus Total Sink Rate = Net Accumulation Rate. If net accumulation is positive, the economy inflates over time (currency becomes worthless). If negative, the economy deflates (players feel increasingly poor). Neither extreme is good -- target a slight positive accumulation that is periodically reset by major purchases (new gear tier, base upgrade, etc.).
Earn-Rate Analysis by Player Archetype
Not all players play the same way. Model at least three player archetypes:
| Archetype | Play Pattern | Earn Rate | Expected Behavior |
|---|---|---|---|
| Casual | 30 min/day, focuses on main quests, skips optional content | Lowest | Should progress at a satisfying pace without feeling punished for limited playtime |
| Average | 1-2 hrs/day, completes main + some side content, moderate exploration | Median | The "target" player. Balance primarily for this archetype. |
| Hardcore | 4+ hrs/day, min-maxes everything, optimizes farm routes | Highest | Should have meaningful things to spend surplus on. Currency should never become meaningless. |
Time-to-X Analysis
Calculate how long each archetype takes to reach key milestones:
| Milestone | Casual | Average | Hardcore | Target Range |
|---|---|---|---|---|
| First major upgrade | ? hrs | ? hrs | ? hrs | 1-2 sessions |
| Midgame gear plateau | ? hrs | ? hrs | ? hrs | 10-15 sessions |
| Endgame entry | ? hrs | ? hrs | ? hrs | 30-50 sessions |
| Max level/gear | ? hrs | ? hrs | ? hrs | 80-150 sessions |
If the casual-to-hardcore ratio exceeds 5:1 for any milestone, the economy may be too grind-dependent and too punishing for casual players.
Premium Currency Fairness (if applicable)
If the game has premium (paid) currency alongside earned currency:
Step 3: Progression Curve Analysis
Power Curve Mapping
Plot player power (aggregate combat effectiveness, measured as DPS * survivability) against time or content progression. Categorize the curve shape:
Dead Zone Detection
Scan the progression curve for flat sections where the player receives no meaningful power increase for an extended period. Dead zones cause churn -- players quit during the midgame slog more than at any other point. Every dead zone should either be eliminated (add a reward) or justified (narrative beat that intentionally strips power for dramatic effect, with a clear promise of restoration).
Spike Zone Detection
Scan for sudden jumps in power. A player who doubles in effectiveness by equipping a single item has just made every previous upgrade feel worthless. Spikes should be rare, earned, and narratively justified (legendary weapon, prestige class, transformation).
Level-Gating Fairness
For each level/tier gate in the game:
Step 4: Difficulty Scaling Assessment
Challenge-Skill Balance (Flow Theory)
Reference the Flow Theory framework from docs/game-design-theory.md. For each major section of the game, assess:
Difficulty Mode Analysis
If the game offers difficulty settings, evaluate the quality of the implementation:
| Implementation Quality | Description | Verdict |
|---|---|---|
| Lazy | Enemy HP and damage are multiplied. Nothing else changes. | Poor. Higher difficulty just means longer fights, not harder decisions. |
| Adequate | Enemy stats scale AND enemy count/placement changes. | Acceptable. More tactical consideration required. |
| Good | AI behavior changes. Enemies use more advanced tactics, coordinate, exploit player weaknesses. | Strong. Higher difficulty is a qualitatively different experience. |
| Excellent | Game systems change. New mechanics emerge at higher difficulties. The player must master systems that are optional on lower difficulties. | Outstanding. Each difficulty mode feels like a different game. |
Rubber Banding Assessment
Does the game adjust difficulty dynamically based on player performance?
Time-to-Kill (TTK) Analysis
For combat-focused games, TTK is a core feel parameter:
Is the TTK consistent with genre expectations? Does TTK scale appropriately as player power grows?
Step 5: Reward Pacing Analysis
Reward Schedule Classification
Identify which reinforcement schedule each reward system uses:
| Schedule Type | Description | Player Behavior | Best For |
|---|---|---|---|
| Fixed Ratio | Reward every N actions (every 10 kills) | Predictable grind. Players optimize toward the threshold. | Crafting, collection |
| Variable Ratio | Reward on average every N actions, but randomized | Compulsive engagement. The "slot machine" schedule. Most engaging but ethically questionable at extremes. | Loot drops, gacha |
| Fixed Interval | Reward every N minutes/hours | Clock-watching behavior. Players log in, collect, log out. | Daily rewards, timers |
| Variable Interval | Reward on average every N minutes, but randomized | Sustained attention. Players keep playing because "it might happen soon." | World events, rare spawns |
Loot and Reward Fairness
If randomized rewards are used:
Milestone Reward Spacing
Plot all significant rewards on a timeline. Check for gaps longer than 2 play sessions where no meaningful reward occurs. These gaps are churn risk zones. Solutions:
Endgame Retention
Does the reward system sustain engagement after the main campaign is complete?
Step 5B: DDE Framework Lens for Balance Analysis
When analyzing any game system for balance, apply the Design-Dynamics-Experience (DDE) framework lens alongside the MDA framework. Specifically, ask: "How does this system affect the player Experience layer?" Balance changes that look correct at the Design layer (the numbers) can produce unexpected results at the Dynamics layer (how systems interact) and unintended emotional responses at the Experience layer (what the player actually feels).
For every balance adjustment, trace the impact through all three layers:
If you can only predict the Design and Dynamics impact but not the Experience impact, you need a playtest, not more math.
Step 5C: Advanced Simulation and Monitoring
ML-Driven Simulation Approaches: For complex economies and progression systems, train reinforcement learning (RL) agents to play your game's economy:
Machinations.io: For visualizing and simulating economy flows without writing code, use Machinations.io (machinations.io). It provides a visual node-based editor specifically designed for game economy modeling:
Hard Sink vs. Soft Sink Distinction: Not all sinks are equal. Distinguish between:
A healthy economy needs both. Hard sinks control inflation. Soft sinks control velocity. If you only have soft sinks, your economy will inflate over time regardless of flow rates.
Stock/Flow Monitoring Guidelines: After launch, monitor these metrics continuously:
Step 6: Statistical Validation Methods
Qualitative balance assessment catches the obvious problems. Statistical validation catches the subtle ones -- the economy that inflates 2% per hour until hour 40 when it collapses, the weapon that is balanced on average but has a 3% chance of one-shotting a boss, the matchup that is 50/50 overall but 90/10 at high skill levels.
6.1 Distribution Analysis
Every randomized system has an underlying probability distribution. Know which one yours uses and whether it matches your design intent:
DISTRIBUTION TYPE GUIDE
-------------------------------------------------
Normal (Gaussian):
Use for: Damage ranges, stat variation, NPC behavior variance
Shape: Bell curve -- most results cluster near the mean
Example: Base damage 100, standard deviation 10 → 95% of hits
land between 80-120. Players experience consistent damage.
Watch for: Tails. A normal distribution with high variance
produces occasional extreme outliers that feel like bugs.
Uniform:
Use for: Loot table rolls, random map generation, spawn placement
Shape: Flat -- every outcome equally likely
Example: Drop table with 10 items, each 10% chance.
Watch for: Streaks. Uniform random FEELS streaky because humans
are terrible at recognizing true randomness. 5 of the same drop
in a row is statistically plausible but psychologically devastating.
Slay the Spire mitigates this by using weighted shuffle bags
instead of pure uniform random for card rewards.
Poisson:
Use for: Rare event timing (boss spawns, critical failures, jackpots)
Shape: Skewed right -- most intervals are short, occasional long gaps
Example: Average 1 legendary drop per 10 hours, but actual gaps
range from 2 hours to 30+ hours.
Watch for: The long tail. A Poisson process can produce gaps so long
that players assume the system is broken.
Weighted Random with Pity Timer:
Use for: Gacha, loot boxes, rare reward systems
Shape: Weighted random with a guaranteed floor
Implementation: Track consecutive failures. After N failures,
force a success. Reset the counter.
Example: Hades uses pity timers on its boon system -- if you have
not received a specific god's boon in N rooms, the probability
weight increases until it appears.
Industry standard pity thresholds: 50-100 attempts for rare items,
10-20 for uncommon. Publish these numbers to build player trust.
-------------------------------------------------6.2 Expected Value Calculations
For every player decision with multiple outcomes, calculate the Expected Value (EV):
EV = Sum of (Probability_i * Value_i) for all outcomes i
EXAMPLE: Upgrade gamble system
Success (70%): weapon gains +10 damage (value: +10)
Failure (25%): weapon unchanged (value: 0)
Catastrophe (5%): weapon loses 5 damage (value: -5)
EV = (0.70 * 10) + (0.25 * 0) + (0.05 * -5) = 7.0 - 0.25 = 6.75
The EV is positive, so upgrading is mathematically correct every time.
But the 5% catastrophe creates fear disproportionate to its probability
(loss aversion factor ~2.5x). The FELT EV is lower than the actual EV.Use EV calculations to verify that:
Into the Breach achieves this brilliantly -- every move has a calculable EV because all information is visible. The tension comes from the tradeoffs between protecting buildings, killing Vek, and positioning for next turn. No move is mathematically dominant because the EV depends entirely on board state.
6.3 Win Rate Analysis and Matchup Matrices
For competitive or asymmetric games, build a matchup matrix:
MATCHUP MATRIX (win rates, row vs. column)
-------------------------------------------------
| Warrior | Mage | Rogue | Ranger
-------------------------------------------------
Warrior | 50% | 55% | 40% | 52%
Mage | 45% | 50% | 58% | 43%
Rogue | 60% | 42% | 50% | 55%
Ranger | 48% | 57% | 45% | 50%
-------------------------------------------------
HEALTH THRESHOLDS:
45-55% per matchup: Healthy. Rock-paper-scissors dynamic is working.
40-60%: Acceptable with awareness. One class counters another, but
the disadvantaged class can still win through superior play.
Below 40% or above 60%: Imbalanced. The counter is too hard.
Either nerf the advantage or give the disadvantaged class tools
to outplay the matchup.
Any class with ALL matchups above 52%: Overpowered. Nerf directly
or buff ALL other classes (usually nerf is cleaner).
Any class with ALL matchups below 48%: Underpowered. Buff directly.For PvE with build diversity (roguelikes, RPGs), replace matchup matrices with build win-rate tracking:
BUILD WIN-RATE ANALYSIS
-------------------------------------------------
Track across N simulated or observed runs:
Build archetype | Win rate | Avg clear time | Pick rate
[build A] | [%] | [minutes] | [% of runs]
[build B] | [%] | [minutes] | [% of runs]
Red flags:
- One build with >70% pick rate: it is either overpowered or perceived
as overpowered. Either way, the meta is stale.
- Any build below 30% win rate: it feels unplayable. Buff it or remove it.
- High win rate + low pick rate: hidden gem. Consider making it more
discoverable, not nerfing it.
- Low win rate + high pick rate: it is fun but weak. Buff it -- players
are already drawn to the fantasy; reward them for choosing it.
Slay the Spire's balance: all four characters maintain 40-60% win rates
at high ascension, but through completely different strategic lenses.
The Silent's win rate drops at Ascension 18+ while the Defect's rises --
this is intentional difficulty differentiation, not imbalance.
-------------------------------------------------6.4 Sensitivity Analysis
Before shipping a balance change, test how sensitive the system is to that parameter:
SENSITIVITY ANALYSIS PROTOCOL
-------------------------------------------------
1. Identify the parameter being changed (e.g., sword damage: 25 → 22)
2. Model the ripple effects at three magnitudes:
- Conservative change: -5% (23.75)
- Proposed change: -12% (22.0)
- Aggressive change: -20% (20.0)
3. For each magnitude, trace through the dependency graph:
- How does TTK change against each enemy type?
- How does the economy shift (repair costs, replacement rate)?
- How does the progression curve bend (time to midgame, time to endgame)?
- How does the player's PERCEPTION change? (-12% damage may feel like
-30% if the weapon already felt weak.)
4. If the proposed change produces dramatically different outcomes at
+/- 2%, the system is brittle at this parameter. Consider a structural
fix instead of number tuning.
Dead Cells demonstrates good sensitivity management -- weapon DPS curves
are designed so that a 10% nerf moves a weapon from "top tier" to "viable"
rather than from "viable" to "unusable." This is achieved by compressing
the DPS range: the best weapon deals ~40% more DPS than the worst, not
400% more.
-------------------------------------------------Step 7: Monte Carlo Simulation Guidance
When to Simulate
Use Monte Carlo simulation when:
Simulation Setup
Interpreting Results
Step 8: Compile Balance Report
Synthesize all analysis into the standardized Balance Report format (see Output Format below). Prioritize findings by impact on player experience and effort to fix.
## Balance Report: [Game / System Name]
## Version: [Build version analyzed]
## Date: [YYYY-MM-DD]
## Analyst: [Name]
### Executive Summary
[3 sentences: Current balance state, biggest concern, top recommendation]
### Economy Flow Diagram
[Visual representation of all faucets, sinks, and flow rates]
[Net accumulation rate and inflation/deflation assessment]
### Earn-Rate Table
| Currency | Casual Rate | Average Rate | Hardcore Rate | Net Flow |
|----------|------------|-------------|--------------|----------|
| [name] | [rate] | [rate] | [rate] | [+/-] |
### Progression Curve Assessment
- Curve Type: [Linear / Exponential / Logarithmic / S-Curve / Mixed]
- Dead Zones Identified: [list with game progression points]
- Spike Zones Identified: [list with game progression points]
- Overall Shape Health: [Healthy / Needs Adjustment / Critical]
### Difficulty Scaling Report
- Flow Channel Adherence: [percentage estimate]
- Difficulty Mode Quality: [Lazy / Adequate / Good / Excellent]
- Rubber Banding Assessment: [Present/Absent, Invisible/Visible]
- TTK Analysis: [Current TTK, Target TTK, Assessment]
### Reward Pacing Analysis
- Primary Schedule Type: [Fixed/Variable Ratio/Interval]
- Longest Reward Gap: [duration and location in game]
- Pity System Status: [Present/Absent, Threshold if present]
- Endgame Retention Mechanisms: [list]
### Identified Imbalances
| ID | System | Issue | Severity | Impact | Recommendation | Expected Effect |
|----|--------|-------|----------|--------|----------------|-----------------|
| B1 | [sys] | [desc]| Critical | [desc] | [specific fix] | [what changes] |
| B2 | [sys] | [desc]| Major | [desc] | [specific fix] | [what changes] |
### Simulation Results (if applicable)
- Scenarios Simulated: [count]
- Iterations per Scenario: [count]
- Key Findings: [percentile analysis, exploit risks, edge cases]
### Tuning Recommendations (Priority Order)
1. [Recommendation] -- Expected impact: [description]
2. [Recommendation] -- Expected impact: [description]
3. [Recommendation] -- Expected impact: [description]
### Next Steps
- [What to monitor after applying tuning changes]
- [When to re-run the balance analysis]
- [Dependencies on other systems or upcoming features]~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.