--- title: "v0.1 GAP Analysis Workshop Brief" description: "Workshop brief defining four analysis tracks: concept proof, fun/wow factor, completeness gaps, and testability deep-dive" type: workshop status: archived workshop: v01-gap-analysis agent: "" round: 0 created: 2026-02-11 --- # v0.1 GAP Analysis Workshop Brief **Goal:** Stress-test the full v0.1 plan against concept proof, fun delivery, and completeness **Participants:** Jeroen (lead), full team as needed **Ticket scope:** 232 tickets across 7 initiatives **v0.1 target:** D-027 vertical slice — smuggler + detective, 30-min playable, fundamentally different playthroughs ## Workshop Tracks ### Track 1: Strength of Concept Proof The vertical slice must prove these claims about The Settled Reach: | Claim | How the v0.1 proves it | Which tickets deliver it | Risk | |-------|----------------------|------------------------|------| | **Asymmetric information is the core mechanic** | Smuggler and detective see the same world differently | #138-142 (info boundaries), #182-183 (divergent knowledge/relationships) | ? | | **Fog of perception creates tension** | Player doesn't know what they can't see | #110-113 (shadowcasting → fog rendering) | ? | | **NPCs feel alive without player attention** | Routines continue, relationships shift off-screen | #88 (daily routines), #93-99 (simulation tiers), #101 (routine execution) | ? | | **Observation is a mechanic, not a cutscene** | Player deduces from watching, overhearing, noticing | #115 (NPC vision), #124-128 (sound model), #119-122 (internal monologue) | ? | | **Same world, different story** | Two playthroughs are mechanically distinct, not just narratively | #179-183 (character builds), #196-199 (success criteria) | ? | | **Social triangles create emergent drama** | NPC relationships produce situations the designers didn't script | #106-109 (triangle generation), #175-176 (entanglement ratio) | ? | **Questions for the team:** - Does the ticket catalog actually deliver on each claim, or are there gaps? - Which claims are weakest in the current plan? - What's the minimum bar for each claim at v0.1? (We don't need perfection, but we need proof.) - Are there claims the game should be making that aren't listed here? ### Track 2: Fun & Wow Factor A concept proof that isn't fun to play is a failed concept proof. Evaluate the plan against player experience: **First 5 minutes:** - What does the player see when they start? (Ticket coverage?) - Is there an immediate hook — a reason to keep playing? - Does the UI communicate the asymmetric information concept without a tutorial? **The "aha" moment:** - When does the player first realize they're seeing a different world than the other character would? - When do they first catch an NPC doing something suspicious through observation? - When does the internal monologue first surprise them? - Are these moments in the ticket plan, or are we hoping they emerge? **The 30-minute arc:** - What's the shape of a play session? Is there rising tension, discovery, payoff? - The D-027 success criteria say "30-min daily life runway" — is daily life interesting enough to sustain 30 minutes without a scripted event? - Where does the storyteller kick in? (ticket #162 is low priority — is that right?) **Missing wow moments:** - Sound: Three-range model (#124-128) is specced — but is there a moment where the player hears something through a wall and has to decide whether to investigate? - Internal monologue: Is there a moment where the character's thoughts contradict what the player sees? - NPCs: Is there a moment where an NPC the player trusted turns out to be lying? **Questions for the team (especially Ozzie, Gestalt):** - What's the single most exciting thing that can happen in the first 30 minutes? - Are we front-loading the fun, or does the player need to grind through systems before experiencing the core loop? - Which tickets contribute to wow, and which are pure infrastructure? - Is there a "demo moment" — something we could show someone in 2 minutes to sell the concept? ### Track 3: Things We May Have Forgotten Systematic check for gaps in the 232-ticket plan: **Player agency:** - Player can move, look, listen — but what can they DO? - Is there an interaction system? (Talk to NPC, examine object, pick up item, use door) - Are action verbs captured in tickets? I see dialogue (#168-174) but not physical interaction - Where's the player's inventory/journal/notes system? **Game state:** - Save/load system — not captured anywhere? - Session management — how does a 30-min play session start and end? - Game over / failure states — what happens when things go wrong? **Feedback loops:** - How does the player know their actions had consequences? - How does the player know they missed something? - Is there a reputation/standing feedback mechanism beyond the NPC relationship system? **Content volume:** - 20-30 NPCs with 10-axis data models, daily routines, relationship triangles — is this achievable for v0.1? - Three social sites with full content packs — what's the actual writing volume for Mellanie? - Are placeholder/stub levels defined for systems that are specced but too deep for v0.1? **Technical gaps:** - Pathfinding — NPCs need to navigate the station district, but there's no pathfinding ticket - Collision — player and NPC movement needs collision detection - Z-levels — #114 is low priority, but does the station district have multiple levels? - Time system — Q-009 is open, but daily routines (#88) depend on it - Audio engine — sound propagation is specced (#124-128) but is there a basic audio playback system? - Asset pipeline — #133 covers placeholder art, but what format? What resolution? What's the sprite spec? **Process gaps:** - No definition of "done" for v0.1 beyond D-027's four success criteria - No playtest protocol — who tests, how, what feedback is captured? - No art direction decision (Q-003 still open) — affects every visual ticket ### Track 4: Testability Deep-Dive **Ticket #214 — Refinement discussion (critical, blocks #215-217)** ``` #34 [initiative] Testability Infrastructure (high) │ ├── #64 [epic] Testability Architecture Refinement (critical) │ ├── #214 [story] Refinement discussion - Multi-agent (critical) ← NEEDS WORKSHOP │ ├── #215 [story] Testing pattern documentation (high) — blocked by #214 │ ├── #216 [story] Tooling requirements spec (high) — blocked by #214 │ └── #217 [story] Production code constraints (high) — blocked by #214 │ ├── #61 [epic] Rust/bevy_ecs Test Infrastructure (high) │ ├── #200 [story] Test module organization (high) │ ├── #201 [story] Deterministic replay system (high) │ ├── #202 [story] ECS state inspection (high) │ ├── #203 [story] Behavior validation framework (medium) │ └── #204 [story] Performance benchmarks (medium) │ ├── #62 [epic] Godot Client Test Infrastructure (high) │ ├── #205 [story] GDScript test framework setup (high) │ ├── #206 [story] Scene testing utilities (high) │ ├── #207 [story] Input simulation (medium) │ ├── #208 [story] Rendering verification (medium) │ └── #209 [story] UI validation framework (medium) │ └── #63 [epic] Integration Test Framework (medium) ├── #210 [story] IPC protocol tests (high) ├── #211 [story] Sync verification tests (high) ├── #212 [story] Full playthrough automation (medium) └── #213 [story] Performance profiling (low) ``` **Core design constraint:** Test harness attaches externally as modules. Minimal production code pollution. **Key questions (Tyre, Hoshe, Troblum):** - Rust: External test crate vs `#[cfg(test)]` vs hybrid? - Godot: GUT vs gdUnit4? Can Claude Code run `godot --headless`? - Integration: Mock subprocess or real IPC for tests? - What test output format works best for agent consumption? - Where's the line between acceptable seam and test pollution? - Test runners as simple bash commands (like `db/connectors/sqlite-*`)? --- ## Full v0.1 Ticket Catalog All 232 tickets organized by initiative. Reference for all workshop tracks. ### Initiative: Engine Architecture — Godot + Rust IPC (#28, critical, D-020) | ID | Type | Title | Priority | |----|------|-------|----------| | **35** | epic | Rust Simulation Server Foundation | critical | | 65 | story | Project structure setup | critical | | 66 | story | ECS world initialization | critical | | 67 | story | Deterministic tick system | critical | | 68 | story | Basic entity components | critical | | 69 | story | Standalone CLI test harness | high | | 218 | task | Create simulation/ directory structure | critical | | 219 | task | Initialize Cargo workspace | critical | | 220 | task | Configure project metadata | critical | | 221 | task | Create main.rs entry point | critical | | 222 | task | Set up CI placeholder | low | | **36** | epic | Godot Client Foundation | critical | | 70 | story | Godot project initialization | critical | | 71 | story | Tilemap rendering system | critical | | 72 | story | Entity sprite system | critical | | 73 | story | Input capture system | critical | | 74 | story | Basic UI framework | high | | 223 | task | Create client/ directory structure | critical | | 224 | task | Initialize Godot 4 project | critical | | 225 | task | Create main scene hierarchy | critical | | 226 | task | Configure camera settings | critical | | 227 | task | Set up project settings | high | | **37** | epic | IPC Bridge & Protocol | critical | | 75 | story | Protocol message definitions | critical | | 76 | story | MessagePack serialization - Rust | critical | | 77 | story | MessagePack serialization - GDScript | critical | | 78 | story | LocalBridge implementation - Rust | critical | | 79 | story | LocalBridge implementation - GDScript | critical | | 80 | story | NetworkBridge stub | low | | 228 | task | Create protocol/ directory | critical | | 229 | task | Define ObserverSnapshot structure | critical | | 230 | task | Define PlayerInput structure | critical | | 231 | task | Define entity data structures | critical | | 232 | task | Create protocol versioning scheme | high | | **38** | epic | Client-Server Integration | critical | | 81 | story | End-to-end connection test | critical | | 82 | story | Tick loop synchronization | critical | | 83 | story | Moving character proof | critical | | 84 | story | Multiple entity sync | high | | 85 | story | Error handling & recovery | high | ### Initiative: Core Simulation — NPCs & Tiers (#29, critical, D-024/D-026) | ID | Type | Title | Priority | |----|------|-------|----------| | **39** | epic | NPC Data Model | critical | | 86 | story | Core NPC components | critical | | 87 | story | Relationship system | critical | | 88 | story | Daily routine system | critical | | 89 | story | Information inventory | high | | 90 | story | Personality & tell system | high | | 91 | story | Skill system & combat flag | medium | | 92 | story | NPC generation pipeline | high | | **40** | epic | Simulation Tier System | critical | | 93 | story | Tier marker components | critical | | 94 | story | Active tier simulation | critical | | 95 | story | Background tier state machines | high | | 96 | story | State serialization system | high | | 97 | story | Timestamp-based eviction | high | | 98 | story | Scope tag system | high | | 99 | story | Tier transition logic | high | | 100 | story | Ungenerated to instantiation | medium | | **41** | epic | NPC Behavior Systems | high | | 101 | story | Routine execution system | high | | 102 | story | Mood system | medium | | 103 | story | Relationship dynamics | medium | | 104 | story | Job performance simulation | low | | 105 | story | Tolerance threshold triggers | medium | | **42** | epic | Triangle Generation | high | | 106 | story | Triangle definition schema | high | | 107 | story | Intra-template triangle generation | high | | 108 | story | Cross-template triangle generation | medium | | 109 | story | Triangle validation | medium | ### Initiative: Rendering & Perception System (#30, critical, D-011/D-015/D-016/D-017/D-018/D-019) | ID | Type | Title | Priority | |----|------|-------|----------| | **43** | epic | Fog of Perception - Vision System | critical | | 110 | story | Shadowcasting algorithm - server | critical | | 111 | story | Vision cone implementation | critical | | 112 | story | Observer visibility query | critical | | 113 | story | Fog rendering - client | critical | | 114 | story | Multi-z-level LOS | low | | 115 | story | NPC vision system | high | | **44** | epic | Camera System | critical | | 116 | story | Camera lock to character | critical | | 117 | story | Smooth camera movement | high | | 118 | story | Camera rotation stub | low | | **45** | epic | Internal Monologue System | high | | 119 | story | Monologue event generation - server | high | | 120 | story | Monologue line pool system | high | | 121 | story | Character voice variation | medium | | 122 | story | Monologue display - client | high | | 123 | story | Unreliable narrator mechanics | low | | **46** | epic | Sound Propagation Model | high | | 124 | story | Sound event system - server | high | | 125 | story | Close-range stereo audio - client | high | | 126 | story | Medium-range visual indicators | medium | | 127 | story | Long-range insert notifications | low | | 128 | story | Sound propagation physics | low | | **47** | epic | Top-down Renderer | critical | | 129 | story | Tile rendering engine | critical | | 130 | story | Entity sprite management | critical | | 131 | story | Fog overlay rendering | critical | | 132 | story | Lighting system | medium | | 133 | story | Placeholder art pipeline | high | | **48** | epic | Perception Mode Framework | medium | | 134 | story | Observer query abstraction | medium | | 135 | story | Natural vision mode | high | | 136 | story | Perception mode selector - client | low | | 137 | story | Additional mode stubs | low | ### Initiative: Map & Navigation (#31, high, D-010/D-012/D-013/D-014) | ID | Type | Title | Priority | |----|------|-------|----------| | **49** | epic | Information Boundary System | critical | | 138 | story | Information tag schema | critical | | 139 | story | Component-level access control | critical | | 140 | story | Entity visibility filtering | critical | | 141 | story | Knowledge-based information gating | high | | 142 | story | NPC information boundaries | high | | **50** | epic | Chunk-based Map System | high | | 143 | story | Chunk data structure | high | | 144 | story | Chunk generation system | high | | 145 | story | Chunk loading/unloading | high | | 146 | story | Chunk serialization | medium | | 147 | story | Borderless expansion stub | low | | **51** | epic | Diegetic Insert/Minimap | high | | 148 | story | POI data model | high | | 149 | story | POI discovery system | high | | 150 | story | Character-specific POI filtering | medium | | 151 | story | Minimap rendering - client | high | | 152 | story | POI manipulation mechanics | low | | **52** | epic | Station District Map - v0.1 Revision | high | | 153 | story | Station district layout design | critical | | 154 | story | Functional cluster spatial specs | high | | 155 | story | Hand-crafted location authoring | high | | 156 | story | Procedural district filler | medium | | 157 | story | Gate corridor template | high | ### Initiative: Content Architecture (#32, high, D-023/D-025/D-028/D-029) | ID | Type | Title | Priority | |----|------|-------|----------| | **53** | epic | Three-Tier Content Pipeline | high | | 158 | story | Tier 1 drama module schema | medium | | 159 | story | Tier 2 template definition format | high | | 160 | story | Tier 3 procedural generator | medium | | 161 | story | Template instantiation engine | high | | 162 | story | Storyteller module activation | low | | **54** | epic | Social Site Template System | high | | 163 | story | Role definition schema | high | | 164 | story | Spatial requirement specification | high | | 165 | story | Single-ownership model | high | | 166 | story | Template-to-instance mapping | high | | 167 | story | Cross-template reference system | medium | | **55** | epic | Dialogue System Architecture | high | | 168 | story | Tagged line pool structure | high | | 169 | story | Layer 1: Access tier filtering | high | | 170 | story | Layer 2: Relationship history | high | | 171 | story | Layer 3: Trust-gated gossip | medium | | 172 | story | Layer 4: Unprompted disclosure | medium | | 173 | story | Trait modifier system | medium | | 174 | story | Dialogue UI - client | high | | **56** | epic | Population Management | medium | | 175 | story | Entanglement ratio configuration | medium | | 176 | story | NPC pool generation | medium | | 177 | story | Module attachment logic | low | | 178 | story | Seed-based variation | low | ### Initiative: Vertical Slice Content (#33, critical, D-027) | ID | Type | Title | Priority | |----|------|-------|----------| | **57** | epic | Playable Characters - Smuggler & Detective | critical | | 179 | story | Character definition schema | critical | | 180 | story | Smuggler character build | critical | | 181 | story | Detective character build | critical | | 182 | story | Divergent starting knowledge | high | | 183 | story | Divergent relationships | high | | **58** | epic | Station District Content | critical | | 184 | story | Workplace template - logistics hub | critical | | 185 | story | Social venue template - bar | critical | | 186 | story | Smuggling ring template | critical | | 187 | story | Shared NPC coordination | high | | 188 | story | Triangle instantiation | high | | **59** | epic | Vertical Slice Authoring | high | | 189 | story | Cultural generation guide - Miri | critical | | 190 | story | Workplace content pack - Mellanie | critical | | 191 | story | Bar content pack - Mellanie | critical | | 192 | story | Smuggling ring content pack - Mellanie | critical | | 193 | story | Line previewer CLI - Tyre | critical | | 194 | story | Generation pass expansion | high | | **60** | epic | Success Criteria Validation | high | | 195 | story | Test plan creation - Hoshe | high | | 196 | story | Criterion 1: 30-min daily life runway | high | | 197 | story | Criterion 2: Fundamentally different playthroughs | high | | 198 | story | Criterion 3: Emotional NPC attachment | high | | 199 | story | Criterion 4: Emergent observation mechanics | high | ### Initiative: Testability Infrastructure (#34, high) | ID | Type | Title | Priority | |----|------|-------|----------| | **64** | epic | Testability Architecture Refinement | critical | | 214 | story | Refinement discussion - Multi-agent | critical | | 215 | story | Testing pattern documentation | high | | 216 | story | Tooling requirements spec | high | | 217 | story | Production code constraints | high | | **61** | epic | Rust/bevy_ecs Test Infrastructure | high | | 200 | story | Test module organization | high | | 201 | story | Deterministic replay system | high | | 202 | story | ECS state inspection | high | | 203 | story | Behavior validation framework | medium | | 204 | story | Performance benchmarks | medium | | **62** | epic | Godot Client Test Infrastructure | high | | 205 | story | GDScript test framework setup | high | | 206 | story | Scene testing utilities | high | | 207 | story | Input simulation | medium | | 208 | story | Rendering verification | medium | | 209 | story | UI validation framework | medium | | **63** | epic | Integration Test Framework | medium | | 210 | story | IPC protocol tests | high | | 211 | story | Sync verification tests | high | | 212 | story | Full playthrough automation | medium | | 213 | story | Performance profiling | low | ### Legacy Seed Initiatives (D-001 through D-019) Auto-seeded from early decisions. Superseded by structured initiatives above. Retained for traceability. | ID | Title | Decision | |----|-------|----------| | 1 | Custom game, not a mod | D-001 | | 2 | The Settled Reach as first campaign | D-003 | | 3 | Single character first-person story generator | D-005 | | 4 | Prototype scenario — Institute/Armstrong City/Guardians | D-006 | | 5 | Five pillars of game design | D-007 | | 6 | Action pillar design principles | D-008 | | 7 | Multiplayer — design for it, build single-player first | D-009 | | 8 | Multiplayer-ready architectural baseline | D-010 | | 9 | Fog of perception non-negotiable | D-011 | | 10 | Chunk-based map architecture | D-012 | | 11 | Diegetic insert/POI navigation | D-013 | | 12 | v0.1 map specification | D-014 | | 13 | Camera locked to character | D-015 | | 14 | Internal monologue system | D-016 | | 15 | Perception modes as character build | D-017 | | 16 | Three-range sound model | D-018 | | 17 | Top-down with 3D cutscenes | D-019 | ### Open Questions (unparented stories) | ID | Title | Ref | Status | |----|-------|-----|--------| | 18 | Game engine selection | Q-001 | ready | | 19 | v0.1 prototype scope | Q-002 | backlog | | 20 | Art direction | Q-003 | backlog | | 21 | One campaign or separate eras | Q-004 | backlog | | 22 | Prototype scale | Q-005 | backlog | | 23 | Target platforms | Q-007 | backlog | | 24 | Licensing/distribution | Q-008 | backlog | | 25 | Time system | Q-009 | backlog | | 26 | Storyteller AI design | Q-010 | backlog | | 27 | Character selection roster | Q-011 | backlog | --- ## Dependency Map ``` Engine Foundation: #65 Project structure → #66 ECS world init → #67 Deterministic tick → #68 Basic entity components #35 Rust Server Foundation ──┐ #36 Godot Client Foundation ─┤→ #38 Client-Server Integration #37 IPC Bridge & Protocol ───┘ IPC Chain: #75 Protocol messages ──┬→ #76 MsgPack Rust → #78 LocalBridge Rust ──┐ └→ #77 MsgPack GDS → #79 LocalBridge GDS ──┤→ #81 E2E test → #82 Tick sync → #83 Moving char proof NPC Pipeline: #39 NPC Data Model ──┬→ #40 Simulation Tiers ├→ #41 NPC Behavior Systems ├→ #42 Triangle Generation └→ #54 Social Site Templates → #53 Three-Tier Pipeline Perception Chain: #110 Shadowcasting → #111 Vision cone → #112 Observer query → #113 Fog rendering #43 Fog of Perception → #47 Top-down Renderer NPC Components: #86 Core NPC components → #92 NPC generation pipeline #87 Relationship system → #101 Routine execution #89 Information inventory → #90 Personality & tell system Content Pipeline: #158 Tier 1 drama schema → #159 Tier 2 template format #55 Dialogue System → #59 Vertical Slice Authoring #189 Cultural guide (Miri) ──┬→ #190 Workplace pack (Mellanie) #193 Line previewer (Tyre) ──┤→ #191 Bar pack (Mellanie) └→ #192 Smuggling ring pack (Mellanie) Station District: #153 Layout design ────────┐ #185 Bar template ─────────┤ #186 Smuggling template ───┤→ #188 Triangle instantiation #187 Shared NPC coord ─────┘ Vertical Slice Validation: #57 Playable Characters ─┐ #58 Station Content ─────┤→ #60 Success Criteria Validation #59 Authoring ───────────┘ Testability: #214 Refinement discussion ──┬→ #215 Testing pattern docs ├→ #216 Tooling requirements └→ #217 Production code constraints ``` --- ## Workshop Outputs Expected 1. **Concept proof scorecard** — each claim rated for ticket coverage and risk 2. **Fun/wow gap list** — missing moments, front-loaded vs back-loaded experience concerns 3. **Missing ticket list** — new stories for forgotten systems (interaction, save/load, pathfinding, etc.) 4. **Priority adjustments** — tickets that should be promoted or demoted based on analysis 5. **Testability decisions** — Rust patterns, Godot framework, production code boundaries 6. **Open question resolutions** — which Q-items block v0.1 and need decisions now 7. **Updated dependency map** — new dependencies from discovered gaps