milestone-road
@jeffy24

milestone-road

Spin through an original 3D life-event road, collecting cash and joy on every milestone.

About this tile

Milestone Road is an original spinner road game for two local players. Ruby and Navy move across a 36-stop milestone board, collect cash and joy from landing events, and race to the final home tile.

The app uses synced-store for the authoritative Poe state and a custom Three.js board renderer for the animated road, event tiles, pawns, and spinner. The rules are compact enough that a separate board-game engine would add indirection without improving synchronization or input geometry.

What you can do

  • Spin from the bottom bar: The frequent action stays in the thumb zone.
  • Read the event road: Payday, project, travel, repair, family, and promotion tiles change cash or joy.
  • Race to home: A player wins immediately by reaching milestone 36.
  • Practice the finish: The drill loads a deterministic final spin.
  • Share one instance: Synced-store keeps the same board state across clients.

Development

  • ./scripts/doctor.sh checks the local toolchain.
  • bun run type-check verifies TypeScript.
  • bun test runs synced-store and happy-dom UI tests.
  • bun run test:playwright builds and runs browser tests.
  • bun run screenshot:regen regenerates assets/screenshot.png.