Guide
Game enemy scaling systems explained
Harbor Ruins shipped as an open-world ARPG where every enemy had a fixed level baked into the spawn table. Veterans at level 40 walked through the starter marsh and deleted level-8 slimes in one swing — zero tension, zero loot excitement. New players who wandered two zones early hit level-14 brutes with 3× the HP their build could chew through; 62% of those players quit before the first bonfire. The fix was not “make everything scale to the player” (that kills world geography) but a hybrid: zone tiers that bracket recommended levels, soft level-delta scaling on HP and damage inside each tier, and reward suppression when you over-level content. Combat stayed readable, exploration stayed meaningful, and encounter designers kept knobs that connect to encounter design and player progression.
Enemy scaling is the system that maps player power to enemy stats across time and space. It sits below macro difficulty curves (how hard the whole game feels hour by hour) and above individual balance spreadsheets (whether one sword DPS is fair). This guide covers scaling models, which stats to scale, over- and under-leveling rules, multiplayer party scaling, the Harbor Ruins refactor, a technique decision table, common pitfalls, and a production checklist.
What enemy scaling actually controls
Scaling answers one question: when a player with power P fights an enemy designed for power E, what numbers appear on screen? Power is usually a composite of character level, gear score, talent points, and temporary buffs. Enemy power is level, archetype template, elite modifiers, and encounter budget.
Typical outputs of a scaling function:
- Combat stats — max HP, damage per hit, armor, resistances, attack speed.
- Behavior thresholds — when an AI enters enrage, how many adds it summons.
- Rewards — XP, currency, drop tables, crafting materials.
- Presentation — skull icons, recommended level UI, color coding on the minimap.
Not every stat should scale the same way. HP and damage usually follow the player’s primary curve so time-to-kill (TTK) stays in a band. Move speed and telegraph timing often stay fixed so readability does not break when numbers inflate.
Scaling models: fixed, dynamic, and hybrid
Fixed-level enemies (classic RPG)
Each spawn point stores a level. A level-5 wolf is always level 5. Pros: world feels geographically real; veterans feel powerful returning to old zones; designers tune authored encounters once. Cons: open worlds punish exploration order; endgame players farm trivial content for easy dailies unless rewards are gutted.
Full dynamic scaling (Skyrim-style)
Enemies scale to player level everywhere. Pros: any path is viable; no accidental brick walls. Cons: flat world identity (“why is the village rat as tough as the dragon?”); loot and XP pacing need parallel scaling or progression stalls; unique boss moments are harder to author.
Zone tiers and bracketed scaling (hybrid)
The world is divided into tiers (starter marsh = tier 1, ruins = tier 3). Inside a tier, enemies have a base level range. A level-delta modifier adjusts stats when player level differs from the zone’s recommended band:
delta = clamp(playerLevel - zoneRecommended, -5, +10)
hpMult = 1.0 + 0.08 * max(0, delta) // over-leveled player vs zone
dmgMult = 1.0 + 0.06 * max(0, -delta) // under-leveled player vs zone
Caps on delta prevent absurd curves. Tier boundaries can hard-cap
scaling so tier-1 never produces raid-boss HP.
Instance and mission scaling
Dungeons, raids, and matchmade missions scale to the party leader or to a bracket (level 20–24, 25–29). Gear score floors prevent under-geared smurfing. This is separate from overworld rules but should use the same stat formulas for consistency.
Adaptive and director-driven scaling
An AI director nudges spawn budgets when the player is on a death streak or cruising. That is pacing scaling, not stat inflation — keep it invisible and bounded so skilled players do not feel punished.
Which stats to scale (and which to leave alone)
| Stat | Scale? | Notes |
|---|---|---|
| Max HP | Usually yes | Primary TTK knob; elite multipliers stack on top. |
| Damage | Usually yes | Scale outgoing damage slower than HP to avoid one-shots. |
| Armor / mitigation | Sometimes | Avoid death-spiral where under-leveled players deal 0. |
| Move speed | Rarely | Fixed speed preserves chase distance and kiting skill. |
| Attack telegraph duration | No | Readable tells are a fairness contract; see attack telegraphing guides. |
| XP and loot | Yes, with suppression | Over-level farming must not beat endgame efficiency. |
| Status effect potency | Careful | CC duration often uses PvP caps independent of level. |
Document a stat scaling order: compute base template → apply zone tier → apply level delta → apply elite affix → apply difficulty setting → apply party multiplier. Same pipeline on client preview and server authority in multiplayer.
Over-leveling, under-leveling, and reward suppression
Over-leveling happens when P >> E. Options:
- Gray/green mob trivial combat — intentional power fantasy; suppress XP and drops below a threshold (e.g. 5+ levels below player).
- Soft HP floor — enemies stay killable in one hit but award nothing; avoids awkward 0-damage invulnerability.
- Scale-up when attacked — optional world-elite mode; risky if players feel tricked.
Under-leveling (P << E) needs clearer communication than harder numbers: skull markers, gate quests, or damage reduction on the player until a story flag unlocks the zone. Brutal surprise kills in open worlds generate refund requests, not engagement.
Reward suppression formula example: if playerLevel > enemyLevel + 5,
XP multiplier = max(0, 1 - 0.2 * (playerLevel - enemyLevel - 5)).
Show “diminished rewards” in the UI before players grind for an hour.
Co-op and party scaling
When party size increases, total player DPS rises roughly linearly but enemies often need super-linear HP to keep TTK stable. Common pattern:
partyHpMult = 1.0 + 0.65 * (partySize - 1)
partyDmgMult = 1.0 + 0.15 * (partySize - 1)
Use the highest or average player level in the zone depending on design goals: average prevents high-level friends from trivializing a lowbie’s story; highest prevents power-leveling exploits. Sync scaling on the host or dedicated server; never trust client-reported level for authoritative HP.
Down-state and revive systems add sustain; if you scale HP for co-op, verify wipe rates on bleed-out loops do not turn into 15-minute attrition fights.
Harbor Ruins open-world refactor
Problem: fixed-level spawns + seamless open world = either trivial backtracking or unfair forward exploration. Analytics showed 41% of deaths in the marsh were level-11 players versus level-14 elites; 78% of level-35+ sessions in tier-1 had zero combat interactions.
Changes shipped
- Five zone tiers with recommended levels 1–8, 9–16, 17–26, 27–38, 39–50 and hard visual palette shifts per tier.
- Level-delta scaling inside tier: +8% HP and +6% damage per level player is below recommended; capped at +40%.
- Over-level dampening: enemies 10+ levels below player deal 25% damage and die in at most 2 hits; XP drops to 0.
- Elite and boss exceptions: fixed minimum level; no dynamic scaling on signature mechanics (frost knight phase 2 always 6 s telegraph).
- Co-op: average party level for delta; +60% HP per extra player in tier-3+ only.
Results: tier-1 combat engagement for veterans rose from 22% to 61% (daily hunt objectives in old zones); early-zone rage-quits dropped 34%; average TTK in tier-appropriate content held within 8–14 s band across levels 10–45.
Technique decision table
| Approach | Best for | World feel | Design cost | Risk |
|---|---|---|---|---|
| Fixed spawn levels | Linear levels, Metroidvania, soulslikes | Strong geography | Low per zone | Open-world sequence breaks |
| Full dynamic scaling | Single-world RPG, endless co-op | Flat but fair | High (rewards must track) | Identity-less enemies |
| Zone tier + delta hybrid | Open-world ARPG, MMO zones | Regional identity + flexibility | Medium | Formula tuning across tiers |
| Instance bracket scaling | Matchmade dungeons, raids | N/A (instanced) | Medium | Bracket exploits, boosters |
| Director spawn scaling | Horde modes, roguelites | Session-based | Medium–high | Feels rigged if obvious |
Common pitfalls
- Scaling telegraph timing — faster enemies at high level shrink reaction windows; keep windups fixed.
- Double-scaling loot and stats — if enemies scale up and drops scale up, early zones become best gold/hour.
- Invisible suppression — players grind gray mobs then discover zero XP; warn in UI.
- Party level exploits — high-level friend enters zone, enemies scale up, lowbie cannot contribute.
- Boss uniqueness loss — scaling a signature boss to level 50 turns a set-piece into a sponge.
- PvP contamination — PvE scaling formulas applied to player avatars break arena TTK targets.
- Client-only scaling — multiplayer desync when host and joiner compute different HP.
- Ignoring healing inflation — if only enemy HP scales, sustain builds trivialize content.
Production checklist
- Define zone tiers (or chapters) with recommended level bands and hard caps.
- Publish a single stat pipeline: template → tier → delta → modifiers → difficulty.
- Simulate TTK at min, recommended, and max level per tier on paper before playtest.
- Implement reward suppression with clear UI for diminished XP and loot.
- Keep attack telegraph durations and hitbox timing fixed across levels.
- Document co-op multipliers; test 2-, 3-, and 4-player wipe rates on flagship encounters.
- Exempt signature bosses or cap their scaling; preserve authored encounter beats.
- Server-authoritative final HP in multiplayer; log scaling inputs for bug reports.
- Analytics: deaths by level delta, time in gray zones, party boost sessions.
- Regression-test after every progression patch that shifts player power curves.
Key takeaways
- Enemy scaling matches player power to encounter stats — it is not the same as macro difficulty curves or spawn pacing.
- Hybrid zone tiers plus level-delta modifiers preserve world geography while reducing open-world sequence breaks.
- Scale HP and damage; keep telegraphs, move speed, and readable patterns stable.
- Over-level content needs reward suppression, not just weaker enemies, or endgame economy breaks.
- Co-op scaling uses separate HP and damage multipliers; sync level inputs on the server.
Related reading
- Game difficulty curves explained — macro pacing, flow, and adaptive tuning over play time
- Game encounter design explained — threat budgets, arenas, and authored set-pieces inside scaled zones
- Game player progression systems explained — XP curves and power growth that scaling must track
- Game balancing explained — spreadsheets, TTK targets, and economy faucets tied to enemy power