docs(docs): generator architecture workshop — 5 rounds, 14 D-records
Complete workshop output for ticket #562. Establishes the procedural generator pipeline architecture for the 300-world model: two-phase generation (DistrictSkeleton + ChunkData), three-layer model (generator/simulation/delta), spatial hierarchy, MobileChunk spec, guarantee tier system, heritage grammar overlay, and damage overlay. Participants: Gestalt, Tyre, Miri, Araminta, Nigel, Ozzie. Rounds 1-4 (design) + Round 5 (review/corrections). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,308 @@
|
||||
# Generator Architecture Workshop — Round 1: Nigel (Replayability & Procedural Generation)
|
||||
|
||||
**Date:** 2026-02-27
|
||||
**Role:** Replayability Advocate
|
||||
**Task:** What variation and replayability guarantees must the generator provide? What makes two generated districts feel different?
|
||||
|
||||
---
|
||||
|
||||
## Framing: Why This Is the Most Important Design Question in the Whole Project
|
||||
|
||||
Before I get into mechanics, I need to say something bluntly: **the generator is the project's long-term survival mechanism.** The hand-authored v0.1 Transit District is brilliant — it will produce exactly the experience we designed. But that's one playthrough. Maybe two if you swap characters. The 300-world model isn't about 300 unique hand-crafted stories. It's about a generator that produces *600 different stories from 300 different seeds*, with the player discovering that their playthrough of System X bears almost no resemblance to their friend's playthrough of the same system.
|
||||
|
||||
That's the promise. Here's what the generator architecture needs to guarantee to keep it.
|
||||
|
||||
---
|
||||
|
||||
## Section 1: Non-Negotiable Replayability Guarantees
|
||||
|
||||
The generator must provide hard guarantees at three layers. If any of these fail, we're building a content machine that burns through players in a single sitting.
|
||||
|
||||
### Guarantee 1: Structural Non-Repeatability Per Seed
|
||||
|
||||
Every game start must produce a configuration that is *informationally unique*. Two playthroughs on different seeds must differ in:
|
||||
|
||||
- **Who is entangled** with the conspiracy — the 20% entanglement assignment (D-029) must be drawn from a pool large enough that the same NPC is rarely the investigation target across seeds
|
||||
- **Where the evidence is** — manifest discrepancies, corridor access tokens, physical evidence placement must vary in location, not just skin
|
||||
- **Which Tier 1 modules are active** — the pool-draw at game start (D-023) means different conspiracies are running in different seeds. Same district, different crime.
|
||||
- **Which triangles are in what configuration** — the *shape* of the social network (who knows whom, who suspects whom) must vary, not just the NPC portraits
|
||||
|
||||
This is structural randomness. It's decided at game start and baked into the seed state (Q-030). The player's knowledge from playthrough 1 becomes actively misleading in playthrough 2 — because they'll chase the same suspect types and find different people.
|
||||
|
||||
### Guarantee 2: Character-as-Fundamentally-Different-Game
|
||||
|
||||
The smuggler and detective playing in the same generated world must describe *incompatible experiences* of the same district. They're not seeing different parts of the same map. They're constructing entirely different narratives from the same substrate.
|
||||
|
||||
This guarantee is mostly architectural (information boundaries, separate monologue pools per D-032, separate access tier dynamics) but the generator has a role: it must produce districts where **both character lenses yield distinct, valid gameplay**. A generated district that only makes sense from one character perspective breaks the core promise of D-027.
|
||||
|
||||
Concretely: every generated district must contain at minimum one social site that reads as *mundane infrastructure* to the smuggler (their workplace camouflage) and as *institutional checkpoint* to the detective (access-tier gating). Same space. Different game.
|
||||
|
||||
### Guarantee 3: Knowledge Rot Across Playthroughs
|
||||
|
||||
Player knowledge from playthrough 1 must not trivialize playthrough 2. This is the "no metagaming" guarantee. The generator achieves this by varying per seed:
|
||||
|
||||
- **NPC tolerance thresholds** (D-064) — the social calculus is different every run. The walk-away rule you learned last time doesn't apply.
|
||||
- **Entanglement pattern** (D-029) — the 20% rate varies per seed. In some runs, the bartender is clean. In others, they're the second link in the chain.
|
||||
- **Evidence placement** — you can't remember where the manifest is. It moves.
|
||||
- **Triangle configuration** — which investigative path (A, B, or C per D-093) leads somewhere productive depends on which NPCs happen to be in which relationships this run.
|
||||
|
||||
The generator must surface these as *seeded structural choices* — captured in the seed-state.yaml (Q-030) so they're reproducible, but varied enough that two seeds produce genuinely different strategic terrain.
|
||||
|
||||
---
|
||||
|
||||
## Section 2: Variation Axes at Each Pipeline Stage
|
||||
|
||||
Here's where I want to be precise. Every pipeline stage has levers. Some vary the *structure* of the world (high impact, discovered late). Some vary the *surface* of the world (moderate impact, immediately visible). Both matter. Let's name them.
|
||||
|
||||
### Stage 1: Geography
|
||||
|
||||
**Fixed across runs of the same world type:** Planet class, station type, orbital position, climate band (these define the setting type — Transit Hub, Outpost, Capital).
|
||||
|
||||
**Variable per seed:**
|
||||
- **Site topology** — where the district sits on the planet/station surface. Coastal vs. inland. High-orbital vs. close-in. These shape infrastructure routing and therefore access topology.
|
||||
- **Historical event seed** — how old is this settlement? What happened here? A district that survived a civil conflict 50 years ago has repurposed buildings, blocked corridors, uneven maintenance. This is "geology for social spaces."
|
||||
|
||||
**Impact on player:** Shapes the *feeling* of the district before a single NPC spawns.
|
||||
|
||||
### Stage 2: Infrastructure
|
||||
|
||||
**Fixed:** The basic transport logic (gates connect to horizon station, tram connects districts — D-095). The access topology *model* (D-025 functional clusters require connected space with sightlines).
|
||||
|
||||
**Variable per seed:**
|
||||
- **Transport node placement** — where The Loop platform drops players shapes which entry path is natural vs. requires intent. This creates different ambient NPC traffic flows per run.
|
||||
- **Utility routing** — maintenance corridor networks are seeded from infrastructure placement. Same building types, different back-routes. The smuggler's map of "safe passages" varies per run.
|
||||
- **Faction infrastructure presence** — Commission checkpoint density varies by faction weight at the district level. Heavy Commission presence = more formal access barriers. Low presence = more informal, permeable spaces.
|
||||
|
||||
**Impact on player:** Movement grammar changes. The routes you find in one run aren't the safe routes in the next.
|
||||
|
||||
### Stage 3: Amenities and Services (Faction/Economic Layer)
|
||||
|
||||
This is where the *personality* of the district gets determined. I want to emphasize: this stage has the highest variety payoff per authored ingredient.
|
||||
|
||||
**Variable per seed:**
|
||||
- **Faction control weight** — which factions are strong in this district this run? Expressed as power gradient across the six social sites. A Commission-heavy Transit District feels oppressive and procedurally ordered. An independently-weighted district feels informal, chaotic, full of unofficial arrangements.
|
||||
- **Economic tier** — prosperous districts have different building quality, different NPC behavior, different contraband (premium lattice components vs. bulk diverted medical grade). The investigation *texture* changes.
|
||||
- **Historical economic events** — strikes, booms, collapses. A district recovering from an economic shock has half-finished buildings, converted spaces, NPCs with disrupted routines.
|
||||
- **Cultural ingredient composition** (Q-032's 6-category menu) — Heritage Roots + Settlement Motivation + Economic Function + Philosophical Alignment + Corporate/Faction Presence + Drift Stage. These feed into the district's flavor palette. Same zoning type, completely different cultural *atmosphere*.
|
||||
|
||||
**Impact on player:** The investigation surface changes. Different NPCs have different leverage points. Different faction alignments create different institutional blind spots to exploit.
|
||||
|
||||
### Stage 4: Zoning
|
||||
|
||||
**Fixed:** The *type* of zone (residential, commercial, industrial, institutional) defines the template pool to draw from. This is the invariant skeleton.
|
||||
|
||||
**Variable per seed:**
|
||||
- **Zone density** — how many blocks of each type per district? A predominantly industrial district with only one social venue feels different from a mixed-use district with competing social centers.
|
||||
- **Zone boundary placement** — where industrial meets residential creates friction zones (D-051: "settling is placement"). Generator seeds the friction topology.
|
||||
- **Multi-block reservation selection** — which civic structure templates are drawn for this district? A district that rolled "active Commission oversight station" plays very differently from one that rolled "decommissioned processing facility."
|
||||
|
||||
**Impact on player:** The strategic landscape — where to go, what access is blocked by what authority — varies per seed.
|
||||
|
||||
### Stage 5: Block Generation
|
||||
|
||||
This is the sub-chunk quarter system's home. I'll expand this in Section 3.
|
||||
|
||||
**Variable per seed:**
|
||||
- Quarter merge pattern per block (which chunks combine into one building)
|
||||
- Building footprint variety within zoning type
|
||||
- Flavor structure assignment in unclaimed quarters
|
||||
|
||||
**Impact on player:** Physical movement, chokepoints, sightlines. The detective's surveillance positions and the smuggler's shadow routes are never identical across runs.
|
||||
|
||||
### Stage 6: Chunk Fill
|
||||
|
||||
**Variable per seed:**
|
||||
- **Social site template selection from pool** — given the zoning type and district skeleton, which specific templates are instantiated? Pool is larger than draws, so each run draws a subset.
|
||||
- **NPC generation** — 10-axis rolls (D-024) produce different personality configurations within the same role. Same "dock worker" role, different tolerance threshold, different secret, different relationship network.
|
||||
- **Triangle configuration** — which NPCs end up in which triangle positions? The three-NPC conflict topology is seeded, not scripted.
|
||||
- **Entanglement assignment** — which of the generated NPCs are in the 20% entangled group?
|
||||
|
||||
**Impact on player:** The people are different. The social dynamics are different. The investigation is structurally similar (find the manifest discrepancy, follow the social chain) but the *cast* produces different stories.
|
||||
|
||||
---
|
||||
|
||||
## Section 3: The Sub-Chunk Quarter System as Replayability Engine
|
||||
|
||||
This is where I get genuinely excited, because the sub-chunk quarter system is doing *exactly the right thing* without requiring the generator to hand-craft every building.
|
||||
|
||||
### How Quarters Work for Variety
|
||||
|
||||
A block = 2×2 chunks. A chunk = 32×32 visual tiles. Each chunk divides into 4 quarters (16×16 visual each). The quarter merge rules from the workshop brief produce:
|
||||
- **2×2 merge** → full-chunk building (a substantial structure filling the whole chunk)
|
||||
- **1×2 merge** → half-chunk building (corridor-adjacent, compact spaces)
|
||||
- **L-shape** → asymmetric footprint that suggests organic growth / retrofitted structure
|
||||
- **Separate quarters** → small structures with space between them (gardens, stalls, shacks)
|
||||
|
||||
The *replayability payoff*: the same block zoning type can produce five or more distinct physical configurations from the same template pool. A commercial block could be one large market hall (2×2 merge), two competing shops (1×2 merges), or four small stalls with a shared courtyard (separate quarters).
|
||||
|
||||
### What Changes Per Run at the Quarter Level
|
||||
|
||||
The quarter merge decision is seeded from:
|
||||
1. The block's economic tier (wealthy = larger, consolidated footprints; struggling = fragmented, improvised)
|
||||
2. The cultural ingredient composition (certain cultural inputs favor dense/compact; others favor distributed/informal)
|
||||
3. The historical event seed (a bombed district that rebuilt has irregular merge patterns — one full building next to a gap-filled plot)
|
||||
4. Random seed noise within the above constraints (same inputs can produce multiple valid configurations)
|
||||
|
||||
This means: **two players in the same district type, same economic tier, but different seeds will navigate different physical spaces.** The chokepoints move. The sightlines change. The surveillance dead zones are different.
|
||||
|
||||
### The Perceived Variety Effect
|
||||
|
||||
From the player's perspective, they never see "this is a 2×2 chunk merge." They see a loading bay that feels like it was retrofitted from something bigger. Or a row of small workshops with a narrow alley between them. The quarter system produces *architectural intention* — the sense that someone built this for a reason — without requiring hand-authoring every building.
|
||||
|
||||
And crucially: **this variety is consistent within a single playthrough but differs across playthroughs.** The player can learn this run's layout. But they can't memorize a reusable solution because the next run's geometry is different.
|
||||
|
||||
---
|
||||
|
||||
## Section 4: Flavor Structure Assignment to Unclaimed Quarters
|
||||
|
||||
This is where the district gets its texture. When a quarter doesn't merge into a larger building and isn't claimed by a social site template, it becomes *unclaimed space*. This space must feel inhabited, not empty.
|
||||
|
||||
### What Goes in Unclaimed Quarters
|
||||
|
||||
Unclaimed quarters get assigned from a **district flavor palette** — a weighted list of small structures appropriate to the cultural and economic context. I'd propose these palette categories:
|
||||
|
||||
**Informal Economy Indicators:**
|
||||
- Market stalls (active trade, high foot traffic)
|
||||
- Vendor carts (semi-permanent, clusters near transit nodes)
|
||||
- Informal repair shops (tools, spare parts — signals self-reliance)
|
||||
|
||||
**Settlement Indicators:**
|
||||
- Container gardens (food independence, community care)
|
||||
- Improvised seating clusters (social gathering, no institutional oversight)
|
||||
- Personal shrines / memorial spaces (community attachment, time depth)
|
||||
|
||||
**Economic Stress Indicators:**
|
||||
- Shacks / temporary shelters (population overflow, institutional failure)
|
||||
- Abandoned equipment (former economic use, now repurposed or left)
|
||||
- Unauthorized storage (gray-market goods movement)
|
||||
|
||||
**Faction Presence Indicators:**
|
||||
- Commission kiosks / checkpoint remnants (even if unmanned — implies surveillance norm)
|
||||
- Union hall notice boards (organized labor presence)
|
||||
- Corporate branded infrastructure (Syndic, independent operators)
|
||||
|
||||
### Assignment Logic
|
||||
|
||||
Palette composition is driven by cultural ingredients (Q-032) and economic tier:
|
||||
- **Economic tier** determines the ratio of formal/informal and stressed/stable indicators
|
||||
- **Cultural Heritage Roots** determine which specific types appear (some cultures have garden traditions, others don't)
|
||||
- **Faction Presence ingredient** determines which faction-affiliated structures appear
|
||||
- **Drift Stage** (how long since foundation) determines how much improvised vs. planned infrastructure exists
|
||||
|
||||
The key design rule: **unclaimed quarters must always feel *inhabited*, not empty.** A vacant lot is not flavor. A vacant lot with a rusted cargo manifest posted to a pole, someone's coat hanging on a conduit, and a drainage channel someone diverted with a bent plate — that's a space with history. The generator must assign flavor at enough density that every quarter reads as a decision someone made.
|
||||
|
||||
---
|
||||
|
||||
## Section 5: What Makes Two Districts of the Same Zoning Feel Different
|
||||
|
||||
Two Transit Hub districts with the same zoning type should feel like entirely different worlds. Here's the full variety stack:
|
||||
|
||||
### Layer 1: Cultural Personality
|
||||
The cultural ingredients menu (Q-032) is the highest-leverage differentiator. Same "industrial transit hub" zoning, but:
|
||||
- **Heritage Roots A + Philosophical Alignment B** → dense, communal, visible labor culture. Corridors have murals. Shared meal spaces.
|
||||
- **Heritage Roots C + Corporate Presence D** → efficient, branded, transactional. Clean corridors. Everything labeled. Privacy expectations low.
|
||||
|
||||
These produce different NPC naming conventions, different ambient dialogue flavor, different informal behavior patterns. The *feel* of the district is completely different before you've seen a single building footprint.
|
||||
|
||||
### Layer 2: Faction Power Gradient
|
||||
Same zoning, different faction control:
|
||||
- **Commission-heavy** → surveillance cameras visible, security NPCs on patrol routes, formal checkpoint infrastructure at zone transitions
|
||||
- **Syndic-heavy** → corporate logos on infrastructure, trade efficiency in customs processing, information flow controlled by corporate NPC hierarchy
|
||||
- **Weakly controlled** → informal arrangements visible, gray-market activity in open spaces, NPCs with more freelance social relationships
|
||||
|
||||
### Layer 3: Economic Tier
|
||||
- **Prosperous** → larger consolidated buildings (2×2 quarter merges), maintained infrastructure, NPCs with stable routines and higher tolerance thresholds
|
||||
- **Struggling** → fragmented footprints (separate quarters), improvised flavor structures, NPCs with disrupted routines and higher social volatility
|
||||
|
||||
### Layer 4: Historical Event Seed
|
||||
The district's backstory leaves physical traces:
|
||||
- A labor dispute 20 years ago → union hall still present, specific NPCs with long-memory grievances, certain maintenance corridors blocked from an old barricade never fully cleared
|
||||
- A corporate merger 10 years ago → two different architectural styles visible (the original and the acquisition), NPCs from both eras with residual loyalty conflicts
|
||||
|
||||
### Layer 5: Quarter Merge Patterns
|
||||
Same block count, different geometry. The routes the player develops are different. The surveillance chokepoints are different. The safe approach to any given social site varies.
|
||||
|
||||
### Layer 6: Entanglement Pattern
|
||||
Most importantly: *who's in on it is different.* The district's surface can look similar, but the hidden configuration — who knows what, who suspects whom, where the evidence ended up — is the layer the player actually investigates. Two districts with identical exteriors can produce completely different investigative experiences because the entanglement seed is different.
|
||||
|
||||
---
|
||||
|
||||
## Section 6: Preventing Sameyness After 10+ Playthroughs
|
||||
|
||||
The "sameyness problem" is the deepest design challenge. Here's my analysis of what causes it and how each mechanism fights it.
|
||||
|
||||
### Root Cause 1: The Player Has Solved the Puzzle
|
||||
|
||||
If investigation always follows the same sequence — find X, talk to Y, check Z — then playthrough 2 is just playthrough 1 faster. The generator defeats this with:
|
||||
- **Variable evidence placement** — the manifest discrepancy isn't always in the Terminal. The generator places it based on which NPC is entangled with the ring this run.
|
||||
- **Variable investigation paths** — Paths A, B, and C (D-093) are all viable, but which one is *actually open* this run depends on the NPC relationships generated. You can't pre-plan your investigation path.
|
||||
- **Variable NPC knowledge** — which NPC knows what, and when they'll share it, depends on the trust/knowledge graph generated for this run. Your interrogation sequence from last run won't work.
|
||||
|
||||
### Root Cause 2: The Player Knows the Map
|
||||
|
||||
Physical memory of the layout transfers across playthroughs. The sub-chunk quarter system partially defeats this by changing geometry, but it's not enough on its own. The generator must also:
|
||||
- **Vary chokepoint placement** — by varying quarter merge patterns, the location of natural surveillance positions changes per run
|
||||
- **Vary zone boundary placement** — where informal meets formal access creates different barrier topologies
|
||||
- **Vary faction infrastructure** — Commission checkpoints appear in different locations per faction weight seed
|
||||
|
||||
The player should feel *oriented but not certain* on playthrough 2. The district type is familiar (Transit Hub). The specific layout is new.
|
||||
|
||||
### Root Cause 3: The Player Knows the NPCs
|
||||
|
||||
NPC *roles* stay recognizable (dock worker, customs officer, bar regular). But NPC *personalities* — the 10-axis configuration — vary per seed. The dock worker who was the social anchor last time is suspicious and cold this run. The customs officer who was hostile is a potential ally this run. The player recognizes the role. The person is different.
|
||||
|
||||
Combined with invisible locked dialogue (D-062), this means: the player can't replay their successful social script. They have to actually read the new NPCs.
|
||||
|
||||
### Root Cause 4: The Player Knows the Meta-Strategy
|
||||
|
||||
"I know that 20% of NPCs are entangled, so I'll focus on the ones near the obvious crime site." The generator defeats this by:
|
||||
- **Variable entanglement rate** (D-029) — the 20% is an average, not a constant. This run it might be 15%. Or 27%. You can't calibrate.
|
||||
- **Entanglement in unexpected roles** — the generator shouldn't always entangle the obvious suspects. A well-designed generator seeds entanglement toward NPCs whose involvement creates narrative surprise, not pattern-matching.
|
||||
|
||||
### The Comparison Test
|
||||
|
||||
I want to name a specific test this generator must pass: **two players should be able to compare notes and find genuinely different investigation experiences from the same world type.**
|
||||
|
||||
Player A (Smuggler, Seed 42137): "The ring was running through the Gate Cluster customs officer — she was the commission's inside person, but she was also protecting her brother who worked freight. I had to decide whether to expose her or use her."
|
||||
|
||||
Player B (Detective, Seed 81204): "The ring used the maintenance corridor access system — someone had cloned the access tokens. I traced it through the locker room logs to a dock worker who was trying to fund his partner's medical lattice replacement."
|
||||
|
||||
Same district type. Same zoning. Different seeds. Different characters. **Completely different game.**
|
||||
|
||||
If two players can compare notes and their stories are mostly the same — just with different NPC names — the generator has failed.
|
||||
|
||||
---
|
||||
|
||||
## Section 7: What I Need from Other Workshop Participants
|
||||
|
||||
**From Gestalt:** What are the guaranteed gameplay structures every district must contain? (A surveillance chokepoint, a quiet zone, a social hub — confirm the list.) These constraints are my floor. The variation lives above this floor.
|
||||
|
||||
**From Tyre:** How does the seed propagate through the pipeline? Is it a single master seed that derives all sub-seeds deterministically, or does each stage have its own seed parameter? I need to know whether "same seed, different character selection" produces the same world with different lenses, or genuinely different worlds.
|
||||
|
||||
**From Miri:** How large is the cultural ingredients space? (Q-032 specifics.) The variety payoff of the cultural composition layer depends entirely on how many distinct ingredient combinations produce distinguishable district personalities. If there are only 8 valid combinations, we'll see repetition at scale. If there are hundreds, the generator stays fresh.
|
||||
|
||||
**From Araminta:** What visual vocabulary signals distinguish the six flavour categories I proposed? The flavor structure assignment system needs Araminta's palette to produce coherent spaces, not random tile mixtures.
|
||||
|
||||
---
|
||||
|
||||
## Summary: The Variation Axes I'm Proposing
|
||||
|
||||
| Axis | Pipeline Stage | Impact |
|
||||
|---|---|---|
|
||||
| World seed (master) | Game start | Derives all downstream variation |
|
||||
| Character selection | Game start | Fundamentally different information lens |
|
||||
| Tier 1 module pool draw | Game start | Which conspiracies are active |
|
||||
| Cultural ingredient composition | Geography + Economic | District personality and flavor |
|
||||
| Faction power gradient | Economic/Infrastructure | Access topology, NPC power dynamics |
|
||||
| Economic tier | Economic | Building scale, routine stability, social volatility |
|
||||
| Historical event seed | Geography | Physical traces, long-memory NPCs |
|
||||
| NPC 10-axis generation | Chunk fill | Who these people actually *are* |
|
||||
| Quarter merge pattern | Block generation | Physical layout, sightlines, routes |
|
||||
| Entanglement assignment | Chunk fill | Who's actually involved |
|
||||
| Triangle configuration | Chunk fill | Social investigation structure |
|
||||
| Evidence placement | Chunk fill | Where investigation starts |
|
||||
| NPC tolerance thresholds (per seed) | Chunk fill | Social calculus varies per run |
|
||||
|
||||
**Bottom line:** The generator doesn't produce 300 worlds. It produces 300 * (character options) * (cultural ingredient combinations) * (seed entropy) distinct game experiences. At 300 worlds, two playable characters, and a cultural space with even 20 distinct compositions, you're looking at 12,000 meaningfully distinct games before you factor in seed variation. That's the promise. The architecture must deliver it.
|
||||
|
||||
The replayability doesn't come from *more content*. It comes from systems that produce *different configurations of the same content*.
|
||||
Reference in New Issue
Block a user