Expand game engine, replay, tests, and documentation
This commit is contained in:
@@ -8,9 +8,18 @@ web browser and an authoritative server manages lobbies and game state.
|
||||
|
||||
- `StationMasterPrototypeRules.pdf` — the original prototype rules
|
||||
- `StationMaster-PrototypeTurnChart.pdf` — the 12-Stage turn chart
|
||||
- `Deck cards2.xlsx` — the complete card list (115-card deck, 104 track pieces, 12 start cards)
|
||||
- `Mainline Cards.pdf` — the ten Mainline card types with their speeds and entry points
|
||||
- `Trains3.pdf` — all 22 train cards with names, speed class, consist and operating rules
|
||||
- `tracks.png` — card art for track and industry cards
|
||||
|
||||
These stay as-is. Everything below is derived from them.
|
||||
|
||||
> **The last four arrived after the engine was built** and expand the game roughly threefold. See
|
||||
> [`rules/implications.md`](rules/implications.md): much of what is recorded below as decided was a
|
||||
> placeholder for exactly this material, and the balance measurements in Gap 12 were taken against a
|
||||
> ruleset that does not match the design.
|
||||
|
||||
## Rules
|
||||
|
||||
| Document | What it is |
|
||||
@@ -20,6 +29,7 @@ These stay as-is. Everything below is derived from them.
|
||||
| [`rules/card-reference.md`](rules/card-reference.md) | What is printed on every card, plus the economy summary. The spec an engine or a print-and-play layout consumes. |
|
||||
| [`rules/glossary.md`](rules/glossary.md) | Every defined term, alphabetized. |
|
||||
| [`rules/open-questions.md`](rules/open-questions.md) | All thirteen gaps, each with the options considered, the decision, and the rationale. |
|
||||
| [`rules/implications.md`](rules/implications.md) | **Read this first.** What the four recovered design files (`Deck cards2.xlsx`, `Mainline Cards.pdf`, `Trains3.pdf`, `tracks.png`) change — and which decisions they supersede. |
|
||||
|
||||
## Architecture
|
||||
|
||||
@@ -74,6 +84,11 @@ milestones worth knowing:
|
||||
implementation of the movement rules, and instant affordances without a round-trip. Node 22 runs
|
||||
TypeScript natively, so there is no build step during development.
|
||||
|
||||
> **The recovered design files are now transcribed and the nine open questions answered** — see
|
||||
> [`rules/implications.md`](rules/implications.md) §1b for exactly what is implemented. The deck is
|
||||
> 115 cards (93 in solitaire), Mainline cards have terrain and crossing times, and the balance
|
||||
> numbers below predate all of it.
|
||||
|
||||
**Steps 1–6 are done** — the rules engine (components 1–7), heuristic bots (17) and the balance
|
||||
harness (18), with 134 tests passing.
|
||||
|
||||
@@ -103,6 +118,11 @@ Next: step 7 begins the server (components 8, 9, 20).
|
||||
|
||||
Run the harness with `node src/sim/harness.ts [games] [length]`.
|
||||
|
||||
**Watch a game:** `node src/sim/replay.ts --seed 1234 [--length standard] [--out replay.html]`
|
||||
writes a self-contained HTML file — open it in any browser and step through the game. It shows the
|
||||
Division, the Office Area grid, every facility's boxes and `MEN|AT|WORK` track, plain-English
|
||||
narration of each event, and a **Blocked** panel explaining why nothing is moving.
|
||||
|
||||
Running alongside, and independent of all of it: **print-and-play components.** `card-reference.md`
|
||||
specifies every card face, so layout and art are the only remaining work before a table playtest —
|
||||
which answers the one question simulation cannot, whether it is fun.
|
||||
|
||||
Reference in New Issue
Block a user