Files
settled-reach/docs/workshops/world-generation/gestalt-sw1r2.md
T
jpmschweitzerandClaude Opus 4.6 252e3d380a docs(workshops): complete world generation architecture workshop
3 rounds of SW1 (endgame feature vision) with 5 agents + Qatux.
Produced endgame-feature-vision.md (692 lines) covering the full
galaxy-to-ground generation pipeline, cultural cascade, replayability
architecture, and player experience beats.

Workshop was cut short when PO redirected to a 6-phase development
cascade (wiki content → economics → planetary maps → player control →
world gen → detail coloring). v0.2 target dropped. Heritage roots
(D-104/D-105/D-101/D-107) flagged for supersession — real-world
cultural corridors replace abstract roots.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:12:09 +01:00

23 KiB

title, agent, workshop, round, type, created
title agent workshop round type created
SW1-R2: Gestalt — Cross-Read Synthesis, Endgame Generation Vision gestalt world-generation 2 synthesis 2026-03-24

SW1-R2: Gestalt — Cross-Read Synthesis

Files read: gestalt-sw1r1b, miri-sw1r1b, nigel-sw1r1b, ozzie-sw1r1b, tyre-sw1r1b, sw1-interview-answers, cultural-migration-pressure.md

Angle: Systems design. Where do the decisions create interesting mechanics? Where do they create architectural load? What needs to be resolved before the pipeline can be built?


1. Strong Alignment Between Agents and Product Owner Decisions

Economic cascade: all agents, confirmed

Every agent's R1b output assumed economic context should cascade visibly from system profile to room level. Jeroen confirmed: "full economic profile — multiple industries, power players, historical disruptions. Every economic axis must cascade visibly to at least district and room level."

This validates the framing from my Q1 (economic axes as the spine of the cascade), Nigel's Q2 (geographic cascade drives economic character), and Tyre's Q1 (full economic profile as the hybrid-authored approach). The cascade is confirmed.

Consequence: The generator's output must carry economic encoding at every level. Districts tag economic character. Blocks tag economic role. Rooms are full simulation primitives (Jeroen confirmed). The data model already supports this with EconomicModifier on ZonePalette — but the specific economic axes from the wiki (supply dependency, distribution_index, faction economic role) need to be formalized as cascade inputs.


Topography as hard constraint: all agents, confirmed

My Q2, Nigel's Q2, and Tyre's Q2/Q3 all recommended hard constraint (not cosmetic backdrop). Jeroen confirmed: "Hard constraint. Mountains block corridors, rivers create district boundaries, coastlines produce port districts."

However, the implementation diverged from what any agent expected.

Tyre proposed procedural terrain (abstract tags → noise heightmap → full generation). Jeroen's answer: authored world maps for all planets and moons. The generator reads authored topography, not generated topography.

This is architecturally simpler for the generator (no terrain generation algorithm) but shifts the load to authoring. The cascade is correct; the authoring pipeline needs specifying.


Hybrid NPC scheduling: confirmed and extended

My Q3 recommended zone-baseline scheduling with triangle override. Jeroen confirmed hybrid — and added a third element: any ambient NPC can evolve into a narrative NPC through player interaction. No hard line between background and story characters.

This is more ambitious than any agent proposed, but architecturally coherent: if every NPC carries enough data to be interesting, and the simulation is running them, the player's interaction is what "promotes" them from ambient to story. The threshold is player attention, not generator assignment.


Arrival as diegetic information front-load: confirmed

Ozzie recommended contextual by travel method with orbital view as default (D/C). Jeroen confirmed the same and added the specific mechanism: an insert context window opens with system stats, planetary screenshot, and GTTR narrative entry. The information front-load is diegetic — the player's insert device contains this data.

Ozzie's concern about the galaxy map as "homework" was answered differently: full information from start (the insert logically contains a 300-system chart), not layered unlockable. The "wonder" comes from the content being interesting, not from information being withheld.


World lives before the player arrives: confirmed

Nigel's Q4 asked whether the world runs before player arrival. Jeroen confirmed: "Yes. Full economic + social + political background simulation." Needs its own design workshop.

The specific mechanism is simulation drift, not seeded variation. Same canonical starting state every run. The simulation runs on spare CPU cores. Exploration order and timing determine what you find — not seed parameters.


2. Tensions and Gaps

Heritage roots deprecated — significant hit to the existing architecture

This is the biggest architectural tension from R1b.

What was built against heritage roots:

  • Miri's entire room grammar framework (Q5) — spatial grammar tokens, social pattern tokens, object selection tokens — all indexed to the 7 abstract roots (Frost, Stone, Tide, Vine, Dust, Iron, Salt)
  • The generator.rs data model: HeritageRoot type, PaletteModifier::Heritage
  • D-104 and D-105 (heritage grammar overlays) — explicitly flagged for supersession

What replaces them: Real-world cultural corridors from cultural-migration-pressure.md:

  • North reach: Commonwealth (British/Australian/Canadian/South African/Indian/Nigerian)
  • South reach: Iberian/Latin American + Southern African (Portuguese, Brazilian, Zulu)
  • East reach: East Asian + South/Southeast Asian (Chinese, Japanese, Korean, Vietnamese)
  • West reach: Northern/Central European + Central/Eastern European (German, Scandinavian, Dutch, Polish)

What is NOT lost: Miri's room grammar tokens are still valid design work. The spatial grammar layer (privacy_default, sightline_character, gathering_orientation, threshold_character), the social pattern layer (stranger_distance, group_size_prior, noise_level_prior), and the object selection layer are all still the right framework. What changes is the mapping: instead of "Frost root → privacy-first spatial grammar," we need "Commonwealth corridor + dense urban settlement type → specific spatial grammar configuration."

The gap: No one has written the corridor-to-room-grammar mapping. This is the missing authoring artifact between the cultural-migration-pressure.md document and the generator. Without it, the generator cannot produce culturally differentiated rooms.


Seed-based replayability replaced by simulation drift — Nigel's framework shifts

Nigel's Q1-Q5 all assumed seed variation as the primary replayability mechanism. Jeroen's answer: no seed variation at system profile or location level — same canonical starting state every run. Replayability comes from simulation trajectory differences.

This is a deeper design position, not a contradiction. Nigel correctly identified that "two players at the same system with different seeds should have completely different stories." Jeroen's mechanism achieves this differently: two players at the same system at different in-game times, or with different exploration histories, will find different situations because the simulation has diverged.

Architectural consequence: The generator's job is to produce the canonical starting state reliably, not to produce variety. Variety is the simulation's job. This changes what "generation quality" means: correctness and internal consistency matter more than seed variety. The generator can be deterministic and stable. The simulation produces the variance.

What Nigel's framework contributes that survives: The settlement biography concept (Q5) is still valuable, but as canonical authored content rather than seeded variation. Every settlement has a founding biography (why it exists, what shaped it) — that's wiki content (Miri/Paula territory). The simulation then runs forward from that starting state.


NPC-driven and news-driven generation hooks: new, architectural load

Neither of these appeared in any agent's R1b. They have significant architectural consequences that aren't trivial to design around:

NPC-driven generation: "Get to know someone from a distant planet → their house, family, friends, neighborhood generate at that location. Their address becomes a real visitable place."

This means the generator is callable from the social simulation layer, not just from the player's location. The trigger is relationship depth, not player movement. The generator must be able to produce a partial location (one neighborhood, not an entire district) on-demand in response to a social event.

News-driven generation: "Reach-wide news reports an event in an east_reach town. That location must exist when the player visits."

This means the storyteller's news system creates existence claims about locations. The generator must resolve those claims before the player arrives. There needs to be a consistency buffer: a record of "the storyteller said X exists" that the generator checks on approach.

Both hooks mean generation is not purely player-location-driven. It's also socially-triggered and narratively-triggered. This is a richer system than any agent proposed but it requires coordination between the generation pipeline and the narrative/ social simulation layers that don't currently exist.


Environmental archaeology constraint: stricter than proposed

Ozzie's primary "world feels pre-existing" mechanism was environmental archaeology — evidence of things that happened before the player arrived.

Jeroen's constraint: only from real simulation events. No fabricated traces. If there's rubble, the simulation produced the explosion. If there's a memorial, someone died in the simulation.

This is the right design position (integrity > atmosphere) but it requires the simulation to be rich enough to produce these traces organically. A world where no simulation event has happened yet (new game, player's first location) is a world with no archaeology. The "someone was here before me" feeling is earned by running the simulation long enough.

Implication: The pre-game simulation run (background sim from canonical start) needs to produce enough events before the player's first move to seed the world with readable history. The background simulation design workshop needs to answer: how much pre-play simulation time is required to make a world feel lived-in?


Authored world maps: large authoring commitment, format unspecified

Tyre identified Layer 2 (location profiles) as the biggest structural gap. Jeroen answered: extend the wiki. Every planet and moon gets an authored profile. This solves the gap structurally but creates a different question: how does an authored world map get consumed by the generator?

The format is unspecified. Options:

  • An annotated image (coastlines drawn as terrain type zones)
  • A structured data format (coastlines as polygon paths, mountain ranges as elevation vectors, biome zones as labeled regions)
  • A hybrid (authored image + structured metadata that the generator reads)

The generator needs to extract specific data from the world map: where are the coasts? Where can settlements plausibly go? What terrain blocks movement between districts? None of this is answerable from an image without additional tooling.


3. Architectural Consequences of the Combined Decisions

The generator is a reader-and-filler, not a full procedural engine

With wiki-authored system profiles AND authored world maps AND cultural corridors already in systems.db, the generator's creative role is primarily at layers 6-8 of the cascade:

Layer Source Generator role
Galaxy (300 systems) systems.db — built Read only
Location profiles Wiki — authoring pipeline Read only
Topography Authored world maps — unspecified format Read only
Arrival Template from location type + GTTR entry Template stamp
Content spidering LOD/sim tier cascade Trigger + manage
Settlement placement Authored topography + wiki economics Constraint placement
District skeleton Existing data model Full generation
Rooms Full simulation primitives Full generation

The generator is richly authored at the top and generative at the bottom. This is actually the right architecture for the game — the world's cultural and geographic character is too important to leave to procedural approximation. The generator's job is to produce specific spatial expression of rich authored world data.

The efficiency gain: Because layers 1-3 are authored, the generator gets high-quality inputs. The cultural pressure system (migration corridors, settlement wave, industrial overlay) produces district and room constraints that are historically grounded rather than invented.

The cost: Sustained authoring pipeline. Every new location in the game requires wiki content. The world's richness is bounded by the authoring team's capacity.


Background simulation + "any NPC can evolve" = NPC universality requirement

The current generator architecture distinguishes between NPCs with triangle assignments (narrative characters) and ambient NPCs (filler). If any ambient NPC can become a narrative NPC through player interaction, this distinction collapses.

Consequence: Every generated NPC must carry a minimum data bundle sufficient to be an interesting person if the player chooses to pay attention. The NPC manifest from Phase 2 (PreparedDistrict) cannot be split into "real" and "filler" NPCs. Every NPC needs:

  • Cultural background (derived from corridor + settlement biography)
  • Economic role (derived from zone function + district economic character)
  • Relationship network seed (family, colleagues, social affiliations)
  • Behavioral tell configuration (for the voice pipeline — D-138)
  • Enough data for a triangle to form if player interaction reaches threshold

This is a significant increase in per-NPC data compared to the current "ambient NPCs are lightweight fill" approach. The LOD qualifier (depth scales with player engagement) partially addresses this: NPCs can carry a compact profile that expands on demand. But the compact profile still needs to be rich enough that expansion is coherent, not fabricated.


Canonical starting state + simulation drift = time is the replayability axis

The primary replayability mechanism is now: same world, different simulation trajectory. Two runs diverge based on:

  1. When the player visits each location (what the simulation has done to it by then)
  2. What the player does at each location (how player actions propagate through the sim)
  3. Which NPC relationships the player develops (which locations generate on demand)
  4. Which news events the storyteller generates (which existence claims create locations)

This is more interesting than seed variation because it produces genuinely emergent history rather than different presets. But it requires the simulation to be running meaningfully before the player's first decision. The background simulation workshop is the single most important design work after the generator pipeline itself.


"Cohesion at small/middle scale, variety at middle/large scale" as the design law

Jeroen's key spatial design principle is worth making explicit as a rule:

  • Room → block level: Cohesive. A single block should feel like it belongs to one identifiable zone/era/culture. The player should not feel like they're in randomly assembled space.
  • District → settlement level: Varied. Different districts should feel genuinely different. The player should notice when they cross a zone boundary.
  • Settlement → system level: Varied at the settlement identity level, but each settlement is internally coherent.

This rules out both "everything looks the same" (no variety) and "every room is a surprise" (no coherence). The generator enforces this through zone palette constraints (cohesion within zones) and district identity differences (variety between zones).

This also answers the era-layering question: era transitions should produce variety at the district/block boundary, not within a single block. A CorporateMerger block should feel consistently corporate, not randomly mixed.


4. Follow-Up Questions for the Product Owner

Q1: What format do authored world maps take, and how does the generator consume them?

Why this is load-bearing: Everything at layers 3-6 of the cascade depends on the generator's ability to read topographic data. If world maps are images, the generator needs computer vision or a drawing tool with structured export. If they're structured data (polygon zones, elevation vectors), the generator can read them as data. If they're authored within a dedicated map-making tool, that tool needs to exist.

Options:

Format Authoring experience Generator integration
A. Annotated image only Familiar (draw a map) Requires interpretation layer — uncertain extraction
B. Structured data (GeoJSON-style polygon zones + metadata) Requires tooling or discipline Direct generator consumption — precise
C. Drawing tool with structured export Best author experience Depends on tool existence + export format
D. Wiki markdown with topography table Simplest authoring Lowest fidelity — no geometric data

My recommendation: B with a simple editor that produces B output. The generator needs geometric data (not text descriptions) to place settlements, determine district boundaries, and block movement corridors. This is the format question that unlocks layers 3-6 of the cascade.


Q2: What is the minimum NPC data bundle at generation time?

Why this is load-bearing: If any ambient NPC can become a narrative NPC, every NPC generated by the system needs to carry enough data to be real. What is "enough"? What must be generated at Phase 2 fill time vs. what can be generated on demand when the player's attention activates it?

Two approaches:

Approach Phase 2 generates On-demand expands
A. Compact seed Name, role, corridor background, economic tier Everything else: family, history, voice, relationships
B. Full profile Complete NPC including relationship graph, history, voice profile Only triangle assignment (if player interaction reaches threshold)

Option A minimizes generation cost and save file size but requires on-demand expansion to be fast and coherent (not obviously fabricated). Option B is more expensive but ensures NPCs are fully formed before the player sees them.

The implication for voice pipeline (D-138): The voice pipeline requires tell behaviors and culture_id at generation time. That data must be in the minimum bundle. What else is required at that same moment?


Q3: What does the corridor-to-room-grammar mapping look like?

Why this is load-bearing: Heritage roots are deprecated. The real-world cultural corridors (Commonwealth, Iberian/Latin/Southern African, East Asian, Northern European) now drive cultural character. But the generator still needs a mapping from corridor identity to spatial grammar — which rooms have which privacy configuration, which NPC behavioral defaults, which object palette.

Miri's token framework (Layer 1: spatial grammar, Layer 2: social pattern, Layer 3: object selection) is the right structure. The question is who authors the corridor → token mapping, and in what format.

The design question for Jeroen: Is the corridor-to-room-grammar mapping:

  • A. Authored as wiki content per corridor (Miri territory)
  • B. Specified as a design table in decisions/ and fed to the generator as a parameter set
  • C. Implicitly encoded in the world map + settlement data (the generator infers room character from economic and cultural inputs without a separate mapping document)

Option C would be elegant but requires the economic and cultural inputs to carry enough signal to determine spatial grammar at room level. Option A/B requires authoring the mapping explicitly. This is a design decision that should happen before Phase 2 room fill is implemented.


Q4: What's the pre-play simulation strategy to seed world history before the player's first move?

Why this is load-bearing: Environmental archaeology can only come from real simulation events. The background simulation produces replayability through drift. But a new game starts from canonical state. Without pre-play simulation time, the world has no history when the player arrives — no traces, no drift, no lived-in feel.

Options:

Option Mechanism Player experience
A. No pre-play sim World is in pristine canonical state at game start Clean but artificial — nothing has happened yet
B. Fast-forward simulation On new game, simulate N in-game months at high speed before player takes control World has history when player starts; costs real time
C. Pre-authored canonical events Wiki authors seed specific historical events into the canonical state (the gas main exploded, the company went under) — simulation inherits these as starting conditions World history is authored, not simulated; consistent across all runs
D. Hybrid Pre-authored major events (canonical history) + pre-play fast-forward for minor state Major history authored; minor variation from simulation

Option C is consistent with the "authored quality" approach Jeroen has taken at layers 1-3. Major historical events that shape the world's starting state are authored (Paula territory — conflict history, corporate history, political events). The simulation then runs forward from that richer starting point. Option D is probably the right answer: authored backbone + simulated detail.

The background simulation design workshop should include pre-play simulation strategy as a primary agenda item.


Systems Design Summary: What We Now Know

The generator's role is well-defined:

  • Reads rich authored inputs (systems.db, wiki profiles, world maps, cultural corridor data)
  • Produces specific spatial expression of that data (districts, blocks, rooms)
  • Calls out to simulation systems for NPC population and economic state
  • Is itself callable from social and narrative layers (NPC-driven and news-driven hooks)

The four unresolved design questions:

  1. World map format (determines layers 3-6)
  2. Minimum NPC data bundle (determines Phase 2 NPC generation cost)
  3. Corridor-to-room-grammar mapping (determines cultural character at room level)
  4. Pre-play simulation strategy (determines whether the world feels lived-in at game start)

The one critical workshop still needed: Background simulation design. Without it, replayability is undefined, NPC evolution is undefined, and environmental archaeology is undefined. This is the most important upstream dependency for everything the generator produces.

The test I keep coming back to: Can the player stand in a room in the east reach — a bar owned by a Vietnamese-heritage family in a Syndic-aligned manufacturing district — and read backward from the room's spatial grammar, NPC behavior, and economic condition to the corridor/settlement/district context that produced it? If yes, the cascade is working. If no, one of the four unresolved questions above hasn't been answered.