Skip to content

Roadmap ​

Status: draft v0.1, 2026-11-09. Implementation has not started. No application code is written until Jonathan says so (AGENTS.md §9).


Ordering principle ​

Milestones are ordered by risk retired, not by feature value. Each one exists to answer a question that, answered badly, would invalidate work downstream. A milestone is done when its question is answered on a real device, not when its code compiles.

The two things most likely to kill this project are:

  1. The galaxy doesn't render acceptably on a mid-range phone. Everything visual depends on it.
  2. The check-in loop isn't fun. Three minutes on a phone has to feel worth opening. No amount of systems depth saves a boring check-in.

Both are tested as early as physically possible.


Phase 0 — Planning (current) ​

QuestionDo we agree on what this game is?
Done whenJonathan has read and reacted to the design docs; the open questions that block Phase 1 are closed
  • [x] GAME-DESIGN.md — spine
  • [x] TRAVEL.md — the two roads, routes, convoys
  • [x] SECURITY-AND-SOVEREIGNTY.md — the signature system
  • [x] ECONOMY.md, COMBAT.md
  • [x] GATHERING.md, SKILLS.md
  • [x] COLONIES.md, CORPS.md
  • [x] ARCHITECTURE.md, INFRA.md, ART.md
  • [x] docs/index.md — the published wiki home
  • [x] docs/research/client-stack.md, docs/research/blender-pipeline-proof.md — stack and art-pipeline evidence
  • [x] docs/decisions/0001–0005 — ADRs for the five load-bearing decisions
  • [x] docs/ROADMAP.md — this
  • [ ] Jonathan's pass over all of it
  • [ ] Balance simulator spec — the tax/security curves need a spreadsheet before anyone codes a constant
  • [ ] UI design system — colours, type, spacing, the information-encoding rules of ART.md §1

Phase 1 — Foundations ​

QuestionCan we ship to production in one command, repeatedly, without drama?
Done whenA trivial app is live on HTTPS at a real hostname, deployed by script, and a second deploy rolls it forward and back
  • Repo scaffold: shared core package, server, client, one toolchain
  • Deploy pipeline following the house convention on agnes (INFRA.md) — image tagged by git sha, loopback port, nginx vhost, certbot
  • Fix the hostname trap first: galaxy.pukogames.com currently resolves and serves the adbtd-admin vhost because nginx has no 443 default_server
  • Staging on the dev box
  • Postgres container, migration runner, backup job from day one (the existing boxes have five different backup schemes; pick one and write it down)

Boring, and it is the thing that makes every later milestone cheap.


Phase 2 — The galaxy exists ​

QuestionDoes a seeded Milky Way render beautifully at 60fps on a mid-range Android phone?
Done whenJonathan can open a URL on his phone, fly a camera through a region, and want to keep looking at it
  • The galaxy function: seed → spiral structure → systems → bodies → resources. Deterministic, identical on client and server, tested for exactly that
  • Client renders it: procedural starfield, nebulae, stars, planets, all from the seed
  • The system view and the region map
  • Measured frame times on real hardware, not a desktop browser

This is the highest-risk milestone and it is deliberately second. If the answer is no, we find out before any gameplay is built on top of it.


Phase 3 — One pilot ​

QuestionIs a three-minute check-in satisfying?
Done whenJonathan plays it on his phone for a week without being asked to
  • Passkey accounts, one character
  • A ship. Travel between systems with real travel time. Lane vs free burn
  • Scan, mine, cargo
  • The report feed — the first screen of the check-in loop
  • Imperial price band: sell something, earn credits, buy a repair

Everything in ARCHITECTURE.md §1.2 gets proven here: nothing ticks, state is derived, the loop works while the player is asleep.

If the answer to the question is no, we stop and redesign. This is the real go/no-go gate, not Phase 2.


Phase 4 — Operator ​

Drones launched from your ship and worked beside it, the first production queues, refining. Act II of the player arc. The spreadsheet game proper begins; this is where session depth has to appear without session length growing.


Phase 5 — The breathing frontier ​

Colonies on planets, gates and lanes as player infrastructure, road distance, influence and system control, the tax cycle, lapse flags, NPC pirate pressure.

The signature system of the game (SECURITY-AND-SOVEREIGNTY.md). It needs the balance simulator to exist first — the curves get tuned against a synthetic population before a single constant is hardcoded.


Phase 6 — Conflict ​

Deterministic combat resolution, doctrines, the client-side replay, losses set by the system's state, structure reinforcement windows. Tested properly, because it is both easy to break and silently wrong when broken (COMBAT.md §9).


Phase 7 — Society ​

Corporations, standings, regional markets, hauling contracts. The content that keeps an eternal universe alive is other players, so everything before this is scaffolding for this.


Phase 8 — Closed test ​

A small number of real players in one region. The first time the economy, the frontier and the politics meet an adversarial population — which is the only honest test any of this has.


Continuous workstreams ​

Running alongside, not sequenced:

  • Balance simulator — a headless harness that runs synthetic populations against the pure economy and combat functions. Must exist before Phase 5. It is also how we avoid shipping a number nobody can justify.
  • Design docs — kept current in the same change as the code. A doc that lies is worse than no doc.
  • Art — procedural shaders and the parametric ship pipeline evolve continuously from Phase 2 onward.
  • Performance budget — measured on real mid-range hardware at every phase, never assumed.

Changelog ​

  • 2026-11-09 — v0.1. Risk-ordered phases, with the rendering bet and the check-in-fun bet pulled to the front as explicit go/no-go gates.
  • 2026-11-09 — v0.2. Phase 0 checklist now lists the documents that exist — TRAVEL, GATHERING, SKILLS, COLONIES, CORPS, docs/index.md, blender-pipeline-proof.md — instead of implying they are still owed. Phase 4 drones are launched from the ship rather than given standing orders, and Phase 6 losses are set by the three states rather than scaled by a security band.

Galaxy design documentation. Nothing here is implemented yet.