You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
feat: balance the ruleset against measured play
The game was mechanically complete and had never been tuned. This is a
first balance pass, driven by simulation against the real engine rather
than by argument: `packages/game/bench` plays seeded games with strategy
archetypes, and `docs/BALANCE.md` records what was measured, which
defaults came out of it, and which ideas were tried and thrown away.
The shape of the problem, measured: the cheapest building was the best
points on the board by a factor of three, so the optimal colony was a
field of depots nobody stored anything in. A colony module — the win
condition — needed 20 electronics against the 12.8 a map scattered, and
nothing in the game produced any. An android lived a thousand rounds, so
neither hazards nor attrition were decisions. Two players on a 16x16
board barely reached the same ground, and identical scripts finished
18-43% apart on map luck alone.
What changed, with the numbers in the balance notes:
- Industry is reachable and is now the strongest line of play. The
processor refines metal and water into electronics, the acid plant
turns cleaned-up acid into polymer, and polymer is no longer scattered
at all — so a colony module can only be built by a player who has
cleaned up part of the planet. The reference strategy lands an
extractor on round 33 and a processor on round 40, against never.
- The fleet is the multiplier and arrives immediately: a charger allows
two androids, so a sibling can launch on round 1 rather than round 39.
- Androids are consumables. Decay wears one out in about sixty-five
rounds, and `match.replaceLostAndroids` sends a replacement to a
player left with none — mortality without recovery is elimination, not
attrition.
- Sprawl no longer pays flat. Depots and chargers both diminish, because
capping only the depot moved the sprawl onto chargers.
- Hazards bite, the board is 12x12 (identical scripts now finish 3%
apart), rich ore is rare enough to be worth contesting, and raiding is
a contest: hostile salvage out-damages the new repair action, while
banked material in a depot is safe from other players entirely.
Nine defects surfaced along the way, all fixed and covered by tests. The
four that mattered were economy-breaking: salvage paid out a share of a
building's type cost rather than what was invested in it, so placing a
colony-module site with an empty hold and taking it apart minted 54 units
of material; a site's outstanding cost was totalled across all materials,
so 20 units of worthless water bought a 6-metal depot; `resources`
accepted negative amounts, so a deposit could mint a thousand metal into
cargo; and "complete" meant two different things, so a ruleset with
`ticks: 0` scored buildings nobody had paid for. Androids were also blind
on their first turn, and lazily created players started one tile apart.