Skip to content

Releases: morten-olsen/nova

v1.0.0

Choose a tag to compare

@morten-olsen morten-olsen released this 11 Aug 22:26
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.

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 22:04

Changes

✨ Features

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 19:15

Changes

✨ Features

  • feat: make the turn budget and the human arrival game rules (#20) @morten-olsen

v0.5.1

Choose a tag to compare

@github-actions github-actions released this 11 Aug 18:31

Changes

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 14:35
1cc57fd

Changes

✨ Features

v0.4.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 11:34
9ba43ce

Changes

✨ Features

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 22:03
42d17f7

Changes

✨ Features

  • feat: let androids launch and retire siblings from a charger (#3) @morten-olsen

v0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Aug 21:50
295e031

Changes

✨ Features

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 10 Aug 18:54
95c381a

Changes

  • No changes

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 10 Aug 18:49
cad4245

Changes

  • No changes