# Skybound Survivor-Like Balance Curve Pass

**Date**: 2026-04-24  
**Project**: Skybound Protocol  
**Author**: Codex  
**Status**: Raw gameplay balance pass from user playtest feedback  

## 1. Playtest Feedback

The game shell looked close to Survivor.io / Vampire Survivors, but the actual gameplay did not feel like that genre.

Reported issues:

- gameplay did not deliver enough horde-survival pressure
- stage balance felt uneven
- TAC Level Up pacing felt unbalanced
- growth did not form a satisfying user-facing curve

## 2. Diagnosis

The previous balance leaned closer to a shmup / tactical shooter.

Main causes found in code:

- simultaneous enemy cap was too low for a horde-survival feel
- procedural spawn did not fully use the timeline `spawnIntervalMult`
- early EXP requirement was too high
- EXP growth multiplier was too steep
- stage difficulty scaled enemy/bullet stats too aggressively
- stage scripted events were compressed too early in the timeline
- TAC Level Up card offers were weighted but not structured, so the user could receive awkward choices
- starter skill offers could omit key horde-survival archetypes

## 3. Target Curve

New target:

- first meaningful upgrade should arrive quickly
- player should see more enemies on screen
- enemies should be individually weaker
- danger should come from density and positioning, not bullet stat spikes
- level-up choices should consistently support build formation
- stage progression should rise smoothly rather than jump sharply

## 4. Applied Balance Changes

### EXP and Level-Up

Changes:

- initial required EXP lowered from `100` to `45`
- normal enemy EXP increased from `5` to `7`
- elite EXP increased from `25` to `32`
- level-up EXP multiplier changed from steep `1.60 / 1.72 / 1.85` to smoother `1.24 / 1.30 / 1.36 / 1.42`

Expected result:

- early TAC Level Ups arrive faster
- the player can form a build before the first spike
- later progression still slows down without becoming a wall

### TAC Level Up Card Structure

The card generator now tries to offer:

- one owned skill upgrade
- one synergy / spike-counter / EVO-supporting option
- one flexible option

Expected result:

- fewer dead-choice screens
- higher chance of completing coherent builds
- less frustration from random-only card pools

### Starter Selection

Starter cards now come from three archetype buckets:

- primary damage
- area / crowd control
- utility / defense

Expected result:

- every run begins with a usable horde-survival foundation
- the first choice feels strategic without becoming punishing

### Enemy Density and Spawning

Changes:

- hard enemy cap increased from `30` to `90`
- timeline phase caps increased by stage and phase
- procedural spawn interval now uses `spawnIntervalMult`
- procedural spawns can arrive in small batches
- formation spawns now occur more often
- individual enemy HP and speed were reduced to support higher density
- elite chance is now a gradual probability instead of flipping too hard by difficulty

Expected result:

- more screen-filling horde pressure
- less empty movement time
- more satisfying weapon-clearing moments

### Stage Curve

Changes:

- stage duration curve changed from `120 + stage * 30s` to `150 + stage * 18s`
- stage difficulty scaling reduced from steep `+0.4 per stage` to smoother `+0.18 per stage`
- phase difficulty multipliers were lowered
- phase enemy caps were increased
- scripted wave events are distributed across the stage instead of firing too early

Expected result:

- stages feel less spiky and more readable
- difficulty rises through density and phase rhythm
- player has time to grow before major pressure events

### Enemy Bullet and Damage Pressure

Changes:

- enemy bullet speed curves were reduced
- damage curves were reduced
- bullet caps were reduced
- global enemy bullet speed multiplier reduced
- enemy projectile damage multipliers reduced

Expected result:

- gameplay moves away from bullet-hell punishment
- movement pressure still exists, but horde positioning becomes the main focus

### Weapon Rhythm

Several weapon cooldowns were shortened so early picks feel active sooner.

Nova Burst was also adjusted to trigger sooner and scale more clearly as an AoE crowd-control tool.

## 5. Changed Runtime Paths

Important changed paths:

- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/balance.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/CombatTimeline.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/config/weaponBehaviors.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/SpawnerSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/ProgressionSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/CombatSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/ModularWeaponSystem.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/systems/types.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/hooks/useGameEngine.ts`
- `/Volumes/Data/project/Antigravity/Skybound/src/features/game/store/useGameStore.ts`

## 6. Verification

Production build completed successfully with:

```bash
npm run build
```

The existing `/sprites/player.png` static path warning remains non-blocking.

## 7. Next Playtest Questions

Recommended next playtest checks:

- Does the first level-up happen within a satisfying time window?
- Does the screen feel populated without becoming unreadable?
- Do weapons feel like they clear hordes?
- Do stage spikes feel earned rather than sudden?
- Does TAC Level Up usually offer at least one desirable choice?
