Combat stats round 3 from arena round 2 margins
Round 2 (with the new EHP-margin logging): mirrors healthy and the round-1 side bias was noise; drones-vs-cruisers (10%) and mixed-vs-battlecruisers (14%) near parity; battleship over at +33% while dreadnought under at -37%; glass-vs-armored narrowed to 11% (watch); repair escort fair at 11%; two-to-one decisive; the 3x swarm now cracks the station set at 13%. Round-3 knobs: weapon_stabilizer range multiplier 1.5 -> 1.3 (range is the strongest stat under the orbit AI, and the stabilized battleship was the one loadout still overperforming), plus per-hull HP trims with the 15 HP/threat anchor demoted to a prior and per-hull HP documented as the empirical trim knob: battlecruiser 2700 -> 2500, battleship 7500 -> 7000, dreadnought/carrier 15500 -> 19000. Action items: mirror-bias and EHP-logging items resolved (the latter implemented upstream); new item to verify the arena end condition seen idling in round 1 with all ships dead. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DyCu8vwChKMbLJQ3xosYEN
This commit is contained in:
@@ -222,7 +222,7 @@ fill_color = "#FF4040"
|
||||
glyph = "Ws"
|
||||
|
||||
[module.weapon]
|
||||
multiplied_attack_range_m = 1.5
|
||||
multiplied_attack_range_m = 1.3
|
||||
multiplied_attack_rate_hz = 0.8
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
|
||||
@@ -179,7 +179,7 @@ materials = [{item = "battlecruiser_hull", amount = 1}]
|
||||
production_time_seconds = 5
|
||||
|
||||
[ship.health]
|
||||
hp = 2700
|
||||
hp = 2500
|
||||
|
||||
[ship.movement]
|
||||
speed_mps = 20
|
||||
@@ -222,7 +222,7 @@ materials = [{item = "battleship_hull", amount = 1}]
|
||||
production_time_seconds = 6
|
||||
|
||||
[ship.health]
|
||||
hp = 7500
|
||||
hp = 7000
|
||||
|
||||
[ship.movement]
|
||||
speed_mps = 15
|
||||
@@ -267,7 +267,7 @@ materials = [{item = "dreadnought_hull", amount = 1}]
|
||||
production_time_seconds = 8
|
||||
|
||||
[ship.health]
|
||||
hp = 15500
|
||||
hp = 19000
|
||||
|
||||
[ship.movement]
|
||||
speed_mps = 10
|
||||
@@ -308,7 +308,7 @@ materials = [{item = "carrier_hull", amount = 1}]
|
||||
production_time_seconds = 8
|
||||
|
||||
[ship.health]
|
||||
hp = 15500
|
||||
hp = 19000
|
||||
|
||||
[ship.movement]
|
||||
speed_mps = 10
|
||||
|
||||
@@ -455,8 +455,12 @@ verifies it empirically. Change the anchors first, re-derive stats second.
|
||||
survivability, range, no losses-to-attrition of own DPS) is worth
|
||||
paying for, so bigger guns get less raw DPS per threat.
|
||||
- **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.
|
||||
time) as the *prior*; per-hull HP is the empirical trim knob for
|
||||
arena results (guns are shared across many hulls, so gun changes move
|
||||
many matchups at once — hull HP moves exactly one). Current values
|
||||
after round-2 trims: drone 60, frigate 300, destroyer 550,
|
||||
cruiser 1500, battlecruiser 2500, battleship 7000,
|
||||
dreadnought/carrier 19000.
|
||||
- **Armor HP ≈ 31 per threat** — a strong premium over hull HP (15)
|
||||
because armor is pure HP with no capability, and fights snowball:
|
||||
killing enemies removes their DPS, while surviving merely delays —
|
||||
@@ -482,7 +486,10 @@ verifies it empirically. Change the anchors first, re-derive stats second.
|
||||
- **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.
|
||||
ones. Damage/rate kept at ×1.2; the stabilizer's range multiplier was
|
||||
cut ×1.5 → ×1.3 after round 2 — range is the strongest stat in the
|
||||
orbit-AI's hands (free approach fire), and the stabilized battleship
|
||||
was the one loadout still overperforming.
|
||||
- **Stations:** a fresh player station (3000 HP, 25 dmg × 1 Hz,
|
||||
range 120) holds one early parity wave unaided; the enemy station at
|
||||
level 0 matches it exactly and scales per push level
|
||||
@@ -507,6 +514,21 @@ DPS (17→14, 70→52 damage), armor 640→1000, repair 25→12, station range
|
||||
still win flawlessly in round 2, the range ladder (kiting) is the next
|
||||
suspect, ahead of further DPS cuts.
|
||||
|
||||
**Arena round 2 results (2026-07-04, with EHP-margin logging):** the
|
||||
mirror "bias" was noise — repeated runs split randomly, and winners
|
||||
finish at 5–7% EHP (near-mutual annihilation, healthy). Drones vs
|
||||
cruisers 10% and mixed vs battlecruisers 14% — near parity. The two
|
||||
capital fights diverged: battleship beat frigates at +33% while the
|
||||
dreadnought lost to destroyers at −37% — same guns, so the difference
|
||||
is the destroyers carrying the buffed armor plus the battleship's
|
||||
stabilizer putting all its guns at 75–150 m against 50 m opponents.
|
||||
Glass vs armored narrowed to 11% (watch; if it persists, armor
|
||||
1000→1200). Repair escort 11% — fair. Two-to-one decisive at 80%;
|
||||
station assault cracked by the 3× swarm at 13% (stations strong but
|
||||
breakable). Round-3 knob changes: stabilizer range ×1.5→×1.3, and
|
||||
per-hull HP trims — battlecruiser 2700→2500, battleship 7500→7000,
|
||||
dreadnought/carrier 15500→19000.
|
||||
|
||||
## Balancing targets (first pass, July 2026)
|
||||
|
||||
The six root numbers for the balancing pass. Every derived value (threat
|
||||
|
||||
@@ -373,15 +373,9 @@ in `requirements.md` and the git history). Still open:
|
||||
one matching deposit tile). Touches REQ-BLD-MINER ("every asteroid
|
||||
tile is equivalent" no longer holds), REQ-GW-ASTEROID-EXPAND /
|
||||
REQ-EXP-*, `world.toml`, and `visuals.toml`.
|
||||
6. **Investigate team-1 bias in balancing arenas.** In arena round 1
|
||||
(July 2026), team 1 won all three mirror matches with large margins
|
||||
(8/20, 3/6, 1/2 survivors). Re-run mirrors repeatedly; if team 1
|
||||
wins consistently, find and fix the asymmetry (spawn geometry, tick
|
||||
processing order, target-selection tie-breaking). Mirror matches
|
||||
must be statistically symmetric or every arena result carries a
|
||||
side-dependent error.
|
||||
7. **Log remaining HP in the balancing arena results.** Win/loss alone
|
||||
hides the margin ("1/1 battleship" can mean 95% or 5% HP left). Add
|
||||
the surviving entities' remaining HP fraction (or a per-team total
|
||||
EHP percentage) to the arena end state, so equal-threat matchups can
|
||||
be tuned toward near-draws quantitatively.
|
||||
6. **Verify the balancing arena end condition.** Arena round 1's
|
||||
station-assault log showed the arena "(running)" with every ship on
|
||||
both sides destroyed — per REQ-BAL-SIM-END the station-less team
|
||||
should have lost the moment its last ship died. Round 2 ended
|
||||
correctly, so it may only be a log-snapshot artifact; confirm, and
|
||||
fix the end condition if it can genuinely idle in that state.
|
||||
|
||||
Reference in New Issue
Block a user