Development Roadmap

Last updated: 15 March 2026

Phase 0 Research and Prototyping Mar 2022 – Feb 2024

Phase 0

Research, engine prototypes, game engine trials, planning and iteration

Details

Early prototyping began in Godot and Unity, exploring a roguelike direction before pivoting to a colony management sim. Research into Prison Architect, RimWorld, Factorio, and OpenTTD shaped the core design philosophy.

The decision to build a headless CLI simulation in C++ came from a focus on determinism and reproducibility. OpenTTD's approach to separating simulation from rendering inspired the architecture: a pure tick-based engine with SDL3 bolted on as a visual layer.

Dev Plan 1 Core Simulation Mar 2024 – May 2025

Phase 1

Tick System, RNG, Logging

Details

Built the deterministic tick clock, a seeded RNG wrapper for reproducibility, and structured logging. These three components form the foundation every other system depends on.

Phase 2

World Grid, Rooms, Tiles

Details

Introduced the 2D tile grid with wall, floor, door, and space tile types. Rooms are named areas validated for contiguity and enclosure. ASCII-based layout parsing allows scenario definition from text files.

Phase 3

Power and Atmosphere Systems

Details

Reactor-based power generation with priority-ordered distribution and deficit tracking. Atmosphere simulation handles pressure and oxygen per room, leak simulation, and equalization between connected rooms.

Phase 4

Crew System and Death

Details

Crew entities with oxygen reserves, suffocation tracking, and death handling. The first system where the simulation can permanently lose an agent, creating the foundation for emergent failure narratives.

Phase 5a

Jobs and Fatigue

Details

Role-based job system with room access permissions. Fatigue accumulates during work and recovers during rest, with unconsciousness at high levels forcing crew out of action.

Phase 5b

Morale System

Details

Morale decays over time and recovers during rest. Low morale triggers work refusal thresholds, creating a feedback loop where overworked crew become less productive.

Phase 5c

Personality Traits

Details

Traits like Hardy, Fragile, Ambitious, and Lazy modify fatigue rates and morale thresholds. Each crew member becomes slightly different, adding variety to how the station responds under pressure.

Phase 6

Scheduling and Task Priorities

Details

Cycle-based work schedules with enforcement. Tasks have priority levels and are assigned based on crew eligibility, job matching, and schedule windows.

Phase 7

Task Refusal and Work Blocking

Details

Crew can now refuse work when overworked, demoralised, or outside their schedule window. Work blocking reasons are tracked and logged, making it visible why tasks stall.

Phase 8

Incidents and Escalation

Details

Hull breaches and power surges with two-stage triggers: a precondition builds, and neglect causes escalation. Incidents generate repair tasks automatically, creating cascading pressure on the crew.

Phase 9

Food System and Starvation

Details

Canteen-based food production with crew consumption and hunger tracking. Starvation reduces work speed and eventually kills, adding another resource pressure that competes with everything else.

Phase 10

Save/Load and Determinism Lock

Details

JSON-based state serialization with deterministic resume from any save point. Property-based tests verify that parallel runs with the same seed produce identical results and that save/load round-trips are exact.

Phase 11

Minimal Visualisation (SDL3)

Details

First visual layer using SDL3 for rendering the grid, rooms, crew, and overlays. The simulation remains fully headless; the visual app is a separate executable that reads simulation state.

Phase 12

Basic UI and MVP Polish

Details

Crew and task information panels, event log, pause and speed controls, debug overlay, and predefined scenarios. The simulation became comfortable to observe and demonstrate externally.

Went full-time - May 2025

Dev Plan 2 Economy, Trade, Construction May 2025 – Jan 2026

Phase 13

Station Economy and Money

Details

Money as a time-based resource with role-based wages, debt cycle tracking, and escalating morale penalties. Crew quit after prolonged debt. Repair tasks are blocked when the station can't afford them, creating a spiral where poverty breeds neglect.

Phase 14

Docking Bay and Ships

Details

Ships arrive, dock, unload, and depart based on bay operational status. Bay capacity limits and power/atmosphere dependencies mean infrastructure failures can choke the station's connection to the outside world.

Phase 15

Policy-Driven Trade and Storage

Details

Standing orders trigger ship spawns, imports and exports execute automatically based on player-configured policy. Storage tracks resources per docking bay with capacity limits. A trade policy editor lets the player tune the station's economic behaviour.

Phase 16

Visitors as Agents

Details

Visitors arrive on ships, consume oxygen and food, and can die with economic and morale consequences. A visitor death triggers fines and faction displeasure, making docking bay safety a real concern.

Phase 17

Construction and Tile Editing

Details

Players can place walls, floors, and doors during play with cost-gated placement and undo support. Includes a blank start mode for building from scratch and ASCII layout export for sharing station designs.

Phase 18

Room Designation and Objects

Details

Rooms can be designated during play with type-specific requirements. Objects like reactors, scrubbers, and cookers must be placed for rooms to become operational, gating functionality behind construction effort.

Phase 19

Logistics and Hauling

Details

Three sub-phases delivered room-scoped storage, manual crew hauling with deterministic duration, and automatic restocking with a reservation system. Resources now physically move through the station, introducing time pressure and backlog as failure vectors.

Phase 20

Room Management

Details

Always-on colored room borders, invalid room tinting, a room overlay mode for at-a-glance station layout, and room type reassignment without needing to delete and recreate. Purely visual and UX improvements to make room state readable at a glance.

Phase 20b

RoomId Refactor

Details

Replaced string-based room names with typed RoomId identifiers throughout the codebase. A structural refactor to improve correctness and make invalid room references unrepresentable at the type level.

Dev Plan 3 v0.1 Release Jan 2026 – Present

Phase 21

Scenario Pack Refresh

Details

Making scenarios the primary way v0.1 explains itself. Each scenario will demonstrate a clear system interaction within the first few minutes and produce a readable log narrative. New showcase scenarios cover the economy, trade, and logistics systems.

Phase 22

Observability and Log Pass

Phase 23

Balance and Pacing Pass

Phase 24

Visual Polish Pass

Phase 25

Determinism and Regression Lock