Systems Index: Iron & Timber — The Muster
Status: Draft
Created: 2026-09-12
Last Updated: 2026-09-14 (design review: concept revised, 5 blockers resolved)
Source Concept: design/gdd/game-concept.md
Overview
Iron & Timber is a real-time strategy colony builder whose central mechanical claim is that "the economy IS the militia" — every unit of military capability traces back to a production decision, with no separate recruitment system. Mechanically, this means three normally-independent subsystems (economy, settler simulation, and combat) must share state tightly: the same settler who works a job also becomes a defender, the same smith output that becomes a tool could have become a weapon, and the same stockpile that feeds the population also arms it.
The systems below decompose into four families: Foundation (time, camera, resources — nothing game-specific yet), Economy (production chains, recipes, the dual-purpose output split, the armory), Settler Simulation (job assignment, pathfinding, role switching — the architecture research's central concern), and Threat (raiders, telegraphed danger, the muster itself, and combat resolution). The MVP's single hypothesis — does the displaced-cost muster feel weighty? — requires nearly all of these families to exist in at least a minimal form, which is why the MVP tier is large (18 systems) relative to the concept doc's short "Required for MVP" list (5 items). Short feature lists always imply more supporting systems once dependencies are made explicit; this is normal, not scope creep.
Systems Enumeration
| # | System Name | Category | Priority | Status | Design Doc | Depends On |
|---|---|---|---|---|---|---|
| 1 | Camera & Input (inferred) | Core | MVP | Designed — pending review | camera-input.md | — |
| 2 | Calendar/Time System (inferred) | Core | MVP | Not Started | — | — |
| 3 | Resource/Stockpile System (inferred) | Economy | MVP | Not Started | — | — |
| 4 | Pathfinding & Movement (inferred) | Core | MVP | Not Started | — | Camera & Input |
| 5 | Building Placement & Construction (inferred) | Core | MVP | Not Started | — | Camera & Input, Resource/Stockpile System |
| 6 | Settler Job Assignment (inferred) | Gameplay | MVP | Not Started | — | Pathfinding & Movement, Resource/Stockpile System |
| 7 | Recipe/Crafting System (inferred) | Economy | MVP | Not Started | — | Resource/Stockpile System, Building Placement & Construction |
| 8 | Production Chains | Economy | MVP | Not Started | — | Recipe/Crafting System, Settler Job Assignment, Resource/Stockpile System |
| 9 | Dual-Purpose Output System | Economy | MVP | Not Started | — | Recipe/Crafting System, Production Chains |
| 10 | Armory / Gear Storage (inferred) | Economy | MVP | Not Started | — | Dual-Purpose Output System, Resource/Stockpile System |
| 10b | Gear Types — Spears & Mail (inferred) | Economy | MVP | Not Started | — | Dual-Purpose Output System. Added 2026-09-15: playtest proved one military sink closes the loop when population drops. Spears arm (capped by carriers); mail protects. Solver spike (MAIL-SPIKE.md) confirms mail removes the dead zone — 42% → 2.5% — but no tested config avoids a dominant purchase order. Mail's cap must NOT depend on the spear cap. Next levers: make mail situational (raid types), or give it a different lead time. Price is the last lever, not the first. |
| 11 | Settler Role State Machine (inferred) | Gameplay | MVP | Not Started | — | Settler Job Assignment, Armory / Gear Storage |
| 12 | Enemy/Raider AI (inferred) | Gameplay | MVP | Not Started | — | Pathfinding & Movement, Calendar/Time System |
| 13 | Telegraphed Threat System | Gameplay | MVP | Not Started | — | Calendar/Time System, Enemy/Raider AI |
| 14 | The Muster | Gameplay | MVP | Not Started | — | Settler Role State Machine, Armory / Gear Storage, Telegraphed Threat System, Settler Job Assignment (new — mustering halts production) |
| 15 | Alarm/Notification System (inferred) | UI | MVP | Not Started | — | The Muster, Telegraphed Threat System |
| 16 | Combat Resolution (inferred) | Gameplay | MVP | Not Started | — | The Muster, Enemy/Raider AI |
| 17 | Threat Forecasting UI (inferred) | UI | MVP | Not Started | — | Telegraphed Threat System, Calendar/Time System, Camera & Input (threat is directional; the indicator must stay correct under arbitrary camera yaw — added 2026-09-14) |
| 18 | Armory/HUD Readout (inferred) | UI | MVP | Not Started | — | Armory / Gear Storage, Dual-Purpose Output System |
| 19 | Settler Needs — Food (inferred) | Gameplay | Vertical Slice | Not Started | — | Production Chains, Calendar/Time System |
| 20 | Seasonal Cycle | Meta | Vertical Slice | Not Started | — | Calendar/Time System, Production Chains, Telegraphed Threat System |
| 21 | Save/Load (inferred) | Persistence | Alpha | Not Started | — | All stateful systems above |
| 22 | Failure State / Run End (inferred) | Core | MVP | Not Started | — | Settler Role State Machine, Combat Resolution |
Categories
| Category | Description | Typical Systems |
|---|---|---|
| Core | Foundation systems everything depends on | Camera & input, time, movement/pathfinding, building placement |
| Gameplay | The systems that make the game fun | Job assignment, settler roles, muster, combat, raider AI, threat telegraphing |
| Economy | Resource creation and consumption | Stockpile, recipes, production chains, dual-purpose output, armory |
| UI | Player-facing information displays | Alarm/notification, threat forecast, armory readout |
| Persistence | Save state and continuity | Save/load |
| Meta | Systems outside the core game loop | Seasonal cycle (tuning/content layer over Calendar) |
Priority Tiers
| Tier | Definition | Target Milestone | Design Urgency |
|---|---|---|---|
| MVP | Required to test the core hypothesis: does the displaced-cost muster feel weighty? | First playable prototype (3–5 weeks, aspirational) | Design FIRST |
| Vertical Slice | Required for the full four-season rhythm and food pressure the concept doc describes as core fantasy | Vertical slice / demo | Design SECOND |
| Alpha | Convenience and continuity systems not needed to validate the hypothesis | Alpha milestone | Design as needed |
Dependency Map
Foundation Layer (no dependencies)
- Camera & Input — a strategy game's most basic interaction layer (rotatable, zoomable three-quarter camera per the 2026-09-13 art revision); nothing else is playable without it
- Calendar/Time System — the clock everything else's timing reads from; a bottleneck system
- Resource/Stockpile System — the ledger every economic decision routes through; a bottleneck system
Core Layer (depends on foundation)
- Pathfinding & Movement — depends on: Camera & Input
- Building Placement & Construction — depends on: Camera & Input, Resource/Stockpile System
- Settler Job Assignment — depends on: Pathfinding & Movement, Resource/Stockpile System (a bottleneck system — see High-Risk Systems)
Feature Layer (depends on core)
- Recipe/Crafting System — depends on: Resource/Stockpile System, Building Placement & Construction
- Production Chains — depends on: Recipe/Crafting System, Settler Job Assignment, Resource/Stockpile System
- Dual-Purpose Output System — depends on: Recipe/Crafting System, Production Chains
- Armory / Gear Storage — depends on: Dual-Purpose Output System, Resource/Stockpile System
- Settler Role State Machine — depends on: Settler Job Assignment, Armory / Gear Storage
- Enemy/Raider AI — depends on: Pathfinding & Movement, Calendar/Time System
- Telegraphed Threat System — depends on: Calendar/Time System, Enemy/Raider AI
- Settler Needs — Food (Vertical Slice) — depends on: Production Chains, Calendar/Time System
- Save/Load (Alpha) — depends on: all stateful systems above
Presentation Layer (depends on features)
- The Muster — depends on: Settler Role State Machine, Armory / Gear Storage, Telegraphed Threat System
- Alarm/Notification System — depends on: The Muster, Telegraphed Threat System
- Combat Resolution — depends on: The Muster, Enemy/Raider AI
- Threat Forecasting UI — depends on: Telegraphed Threat System, Calendar/Time System, Camera & Input (threat is directional; the indicator must stay correct under arbitrary camera yaw — added 2026-09-14)
- Armory/HUD Readout — depends on: Armory / Gear Storage, Dual-Purpose Output System
Polish Layer (depends on everything)
- Seasonal Cycle (Vertical Slice) — depends on: Calendar/Time System, Production Chains, Telegraphed Threat System. Functionally a content/tuning layer over the Calendar (different rates, timing, and visuals per season) rather than a new mechanical system.
Recommended Design Order
| Order | System | Priority | Layer | Agent(s) | Est. Effort |
|---|---|---|---|---|---|
| 1 | Camera & Input | MVP | Foundation | game-designer | S |
| 2 | Calendar/Time System | MVP | Foundation | game-designer | S |
| 3 | Resource/Stockpile System | MVP | Foundation | game-designer, systems-designer | M |
| 4 | Pathfinding & Movement | MVP | Core | game-designer, unity-specialist | M |
| 5 | Building Placement & Construction | MVP | Core | game-designer | M |
| 6 | Settler Job Assignment | MVP | Core | systems-designer, unity-specialist | L |
| 7 | Recipe/Crafting System | MVP | Feature | systems-designer | M |
| 8 | Production Chains | MVP | Feature | systems-designer, economy-designer | L |
| 9 | Dual-Purpose Output System | MVP | Feature | systems-designer, game-designer | M |
| 10 | Armory / Gear Storage | MVP | Feature | systems-designer | S |
| 11 | Settler Role State Machine | MVP | Feature | systems-designer | M |
| 12 | Enemy/Raider AI | MVP | Feature | ai-programmer, game-designer | M |
| 13 | Telegraphed Threat System | MVP | Feature | game-designer, level-designer | M |
| 14 | The Muster | MVP | Presentation | game-designer, systems-designer | L |
| 15 | Alarm/Notification System | MVP | Presentation | ui-programmer, game-designer | S |
| 16 | Combat Resolution | MVP | Presentation | systems-designer, game-designer | M |
| 17 | Failure State / Run End | MVP | Presentation | game-designer, systems-designer | S |
| 18 | Threat Forecasting UI | MVP | Presentation | ux-designer | S |
| 19 | Armory/HUD Readout | MVP | Presentation | ux-designer | S |
| 20 | Settler Needs — Food | Vertical Slice | Feature | systems-designer, economy-designer | M |
| 21 | Seasonal Cycle | Vertical Slice | Polish | game-designer | M |
| 22 | Save/Load | Alpha | Polish | tools-programmer | M |
[Effort estimates: S = 1 session, M = 2-3 sessions, L = 4+ sessions. A "session" is one focused design conversation producing a complete GDD.]
Circular Dependencies
One cycle, broken by tick ordering *(corrected 2026-09-14 — this section previously claimed "none found", which stopped being true the moment Core Mechanic #6 made the muster halt production)*.
The cycle: Armoury stock gates who can muster → mustering removes settlers from jobs → fewer workers means less smith output → less smith output means less armoury stock. Closed loop.
How it is broken: production resolves each tick against **last tick's roster**. Read-before-write, staged as:
- Production Chains resolve using the previous tick's worker assignment
- Settler Role State Machine applies muster/stand-down changes
- Armoury stock updates from step 1's output
The contract GDD authors must share (added 2026-09-14 per TD-PHASE-GATE): a single phase enum, defined once in the settler-simulation ADR and consumed by all three systems rather than reimplemented in each — ResolveProduction → ApplyRoleChanges → UpdateArmoury → EvaluateMuster. Two things must be pinned there before GDD #14 (The Muster) is drafted: where each system's writes sit in that order, and how it reconciles with the raid-resolution evaluation order in the concept doc's Failure State section (compute losses → remove settlers → check floor → stand down). Those are two similar-looking orderings and an author will merge them wrong if they are not reconciled in one place.
This is an enforceable invariant, not an implementation detail — any engineer building these systems in a different order will hit a bug whose cause is not local to the file they are editing. It belongs in the ADR for settler simulation.
One tight cluster worth designing together, though not circular: The Muster, Settler Role State Machine, and Armory / Gear Storage all reference each other conceptually — a settler's available role depends on armory stock, which is read by the muster, which changes settler roles. Data flows one direction per tick (Armory → Muster → Settler Role), so there is no cycle, but these three GDDs will cross-reference each other constantly. Consider drafting them in the same session even though they're listed as three separate design-order steps.
High-Risk Systems
| System | Risk Type | Risk Description | Mitigation |
|---|---|---|---|
| The Muster | Design | Mechanic validated 2026-09-15 by independent playtest — forge lead time produces exactly the intended regret (6 settlers died with 8 spears in the forge). But the allocation goes dead once the spear cap falls with the population; verdict PIVOT (narrow). See independent playtest. (Was: largely addressed — v2 prototype played to PROCEED WITH CONDITIONS; the allocation stayed live across 24 turns and lead time is solver-verified as load-bearing. Open: independent tester, and the mechanic only holds in a narrow difficulty band. (Was: REINSTATED 2026-09-14.) This is the MVP's entire hypothesis. A paper prototype briefly returned PROCEED, but that verdict was withdrawn the same day: the ruleset admitted a dominant strategy (15 spears beat any raid, bankable two turns before the earliest one), so the allocation was computable rather than felt. The risk is untested, not retired. See report and pivot note. | Re-prototype with scaling raid strength and gear decay so no safe threshold exists. Threat must also be readable from turn 2–3. |
| Settler Job Assignment | Technical | Prior architecture research recommends a central job-board + claim/reservation pattern (RimWorld-derived) over naive per-agent scanning; unproven in this codebase until built. Bottleneck system — most of Economy and Gameplay depend on it. | Follow the research's recommended pattern exactly: one shared reservation service reused for hauling/building/crafting. Do not invent a per-system variant. |
| Combat Resolution | Design | Bellwright shipped nearly this premise and it collapsed — under-competent armed NPCs made players "become Rambo" and solo everything, killing the delegation premise. | Settler competence is already MVP acceptance criterion #6 in the concept doc. Design and test this explicitly, not as an afterthought to The Muster. |
| Dual-Purpose Output System | Design | Manor Lords' criticism: a resource-cost gate in front of a separate combat system still reads as "bolted on," not integrated. Addressed 2026-09-15 — v2 gave ploughs a real failure state (they feed a population that starves), and the playtest produced regret in both directions. The plough-as-trap risk is now exercised rather than assumed. (Was reinstated 2026-09-14 when the v1 payoff proved unfalsifiable.) | Give ploughs a real failure state (food → population) before retesting, so the tradeoff can fail in both directions. |
Progress Tracker
| Metric | Count |
|---|---|
| Total systems identified | 22 |
| Design docs started | 1 |
| Design docs reviewed | 0 |
| Design docs approved | 0 |
| MVP systems designed | 1/19 |
| Vertical Slice systems designed | 0/2 |
Next Steps
- [x] Review and approve this systems enumeration
- [ ] Design MVP-tier systems first (use
/design-system [system-name]) - [ ] Run
/design-reviewon each completed GDD - [ ] Run
/gate-check pre-productionwhen MVP systems are designed - [ ] Validate the highest-risk systems with
/vertical-slicebefore committing to Production - [ ] Camera & Input: run
/design-review design/gdd/camera-input.mdin a fresh session — the reviewing agent must be independent of the authoring context. - [x] Re-prototype the muster — v2 was built and independently playtested 2026-09-15. Verdict PIVOT (narrow): the muster mechanic itself is validated (forge lead time is load-bearing and produced traceable regret), but the surrounding economy has a dead zone. See
prototypes/muster-v2-concept/PLAYTEST-independent.md— that file is authoritative, notREPORT.md. - [ ] Resolve mail's purchase order before writing the muster GDD. Mail fixes the dead zone (42% → 2.5% dead turns) but every configuration tested so far has a 4.7–28pp gap between buy-spears-first and buy-mail-first. A second sink with an obviously correct order is a second sink, not a second decision. See
prototypes/muster-v2-concept/TUNING-ROUND-2.md. - [ ] Combat Resolution (#16) remains unprototyped and still carries the Bellwright competence risk.