Combat stats pass: anchor-derived stats and canonical arena suite
Derive all combat stats from documented anchors (content_design.md, 'Combat stat anchors'): weapon DPS ~0.6 per threat with a mild size discount traded for range (railgun m/l damage 17/70), hull HP at 15 per hull threat (drone 60 up to capitals 15500), armor at a 20/threat premium (armor_plates 640 HP), repair at ~2 HP/s per threat (25 HP per cycle), salvager range fixed to 60 m with cargo 20, and a monotone mobility ladder (the placeholder drone was the least agile ship). Stations anchored to 'a fresh station holds one early parity wave'; enemy level 0 matches the player station and scales per push. HQ 5000 HP. scrap_despawn_seconds 30 -> 120 so capital-sized scrap drops are collectable. Rewrite balancing.toml as the canonical 12-arena suite: class mirrors, equal-threat cross-tier matchups with counts from the verified threat values, a two-to-one decisiveness check, armored-vs-glass and repair-escort doctrine matchups, and station assault. The carrier arena is expected to lose until drone launching exists (hangar is dead threat) - documented, not stat-compensated. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
@@ -440,6 +440,48 @@ typical loadouts double as the `default_modules` for enemy waves):
|
||||
scrap-free recipe produces that item, mirroring the reprocessing-path
|
||||
rule (see progression_design.md action items).
|
||||
|
||||
### Combat stat anchors — first pass
|
||||
|
||||
All combat stats derive from a few anchors so that power-per-threat holds
|
||||
by construction; the arena suite in `bin/balancing/data/balancing.toml`
|
||||
verifies it empirically. Change the anchors first, re-derive stats second.
|
||||
|
||||
- **Weapon DPS ≈ 0.6 per threat of weapon contribution**, mildly
|
||||
diminishing with gun size, compensated by the range ladder:
|
||||
railgun_s 2 dmg × 2.0 Hz = 4.0 DPS at 6.5 threat (0.62), range 50;
|
||||
railgun_m 17 × 1.5 = 25.5 at 43.5 (0.59), range 70;
|
||||
railgun_l 70 × 0.8 = 56 at 102 (0.55), range 100.
|
||||
- **Hull HP = 15 per threat of hull contribution** (incl. ship base
|
||||
time): drone 60, frigate 300, destroyer 550, cruiser 1500,
|
||||
battlecruiser 2700, battleship 7500, dreadnought/carrier 15500.
|
||||
- **Armor HP = 20 per threat** — a premium over hull HP because armor is
|
||||
pure HP with no capability: armor_plates adds 640 HP at 32 threat.
|
||||
- **TTK check:** a mirror cruiser duel (51 DPS vs 2140 EHP) lasts ~42 s —
|
||||
inside the 30–60 s parity-fight band implied by the 25-ship fleet
|
||||
target. Capital mirrors run longer (~90 s), deliberately.
|
||||
- **Repair ≈ 2 HP/s per threat:** repair_tool heals 25 HP × 1 Hz at 13
|
||||
threat. Salvager: collection range 60 (was a nonsensical 500, beyond
|
||||
any sensor), cargo 20, 0.5 collections/s. `scrap_despawn_seconds`
|
||||
raised 30 → 120: a capital kill drops hundreds of scrap collected one
|
||||
per cycle, so 30 s despawned nearly everything.
|
||||
- **Mobility ladder is monotone in size** — small = fast and nimble
|
||||
(drone 45 m/s, 60 accel) down to capitals (10 m/s, 8 accel); the old
|
||||
placeholder had the drone as the least agile ship. Sensor ranges keep
|
||||
the existing 150→350 ladder; all weapon ranges stay below sensor
|
||||
ranges.
|
||||
- **Weapon modifiers are capital economy:** ×1.2 damage at 22.5 threat
|
||||
beats adding a gun once a ship carries more than ~68 threat of weapons
|
||||
— so modifiers pay off on gun-heavy big hulls and are a waste on small
|
||||
ones. Kept at ×1.2/×1.2/(×1.5 range, ×0.8 rate) deliberately.
|
||||
- **Stations:** a fresh player station (3000 HP, 25 dmg × 1 Hz,
|
||||
range 200) holds one early parity wave unaided; the enemy station at
|
||||
level 0 matches it exactly and scales per push level
|
||||
(+1500 HP, +12 dmg, +0.1 Hz per level). HQ 5000 HP.
|
||||
- **Known imbalance, accepted:** the carrier loses its equal-threat
|
||||
arena until the drone-launching capability exists — the hangar is 224
|
||||
threat of dead weight. Do not compensate with stats; fix by
|
||||
implementing drones.
|
||||
|
||||
## Balancing targets (first pass, July 2026)
|
||||
|
||||
The six root numbers for the balancing pass. Every derived value (threat
|
||||
|
||||
Reference in New Issue
Block a user