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>
13 KiB
title, author, round
| title | author | round |
|---|---|---|
| SW1-R1 — Nigel: Replayability & Generation Variety Questions | Nigel | SW1-R1 |
Replayability & Generation Variety — Product Questions
My angle: World generation is the primary replayability mechanism for v0.2 (D-114, D-136). A second playthrough should feel like a genuinely different life — not just different dialogue. These questions cut at the decisions that separate a replayable world from a reskinned one.
Q1: Is the world per-run or persistent?
The question: When a player starts a new game, does the world generate fresh from a new seed — or does a persistent world exist that all saves inhabit?
Why it matters for replayability: This is the most architecturally-load-bearing decision in the list. Per-run generation (roguelike model) means second playthrough = structurally different station. Persistent world (DF model) means second playthrough = same streets, different life — knowledge of where things are carries over, only the NPC layer and your character's circumstances differ.
Options:
| Option | Description | Replayability profile |
|---|---|---|
| A. Full roguelike | New game = new seed = new world | Maximum structural novelty; zero spatial metagaming |
| B. Per-save persistent | World generated once on new game, preserved in save file | Knowledge of layout accumulates over one run; new game = fresh |
| C. Shared-seed spectate | Two players can share a seed and get the same world | Same layout, different NPC outcomes — replayability is social/character-lens |
| D. World-tier persistent | Peripheral worlds regenerate; Core/Connected worlds persist across saves | Hub worlds feel "real"; backwater feels expendable |
My recommendation: B (per-save persistent). The generator produces the world once on new game — it's stable within that save, so player investment in learning their specific station feels meaningful. Starting a new game means a new seed and a new world. This gives us roguelike replayability (different worlds per run) without making the current run feel like a game show. Option A is technically simpler but loses the "this is MY station" attachment. Option D is worth noting for later scale — once we have multiple world tiers, Core worlds might feel more like persistent places.
Q2: Is spatial anti-metagaming handled at the structural layer or the social layer?
The question: On run 2, the player knows roughly how stations work — where the corridors lead, what kinds of zones exist, how access tiers are arranged. Is that a problem to fix with layout randomization, or is it acceptable (even desirable) because the NPC and social layer provides all the actual run-to-run difference?
Why it matters for replayability: The generator data model already has both levers. Structural levers: DistrictLayoutMode (Grid vs Organic), BlockSkeleton.density_pct, EraCause modifiers, block-level ZoningType arrangement. Social levers: SocialSitePlacement with TriangleAssignment, RoleSlot, TrianglePurpose. The question is which one bears the replayability weight. If we over-invest in structural randomization, stations feel incoherent. If we under-invest, a player who's run the game 10 times knows exactly which block type has the service voids.
Options:
| Option | Description | Cost | Metagaming risk |
|---|---|---|---|
| A. Structural IS the variance | Block zoning, layout mode, density all randomized heavily per seed | High generation complexity | Low — every run feels spatially novel |
| B. Social layer carries the weight | Spatial zones are culturally consistent; what changes is who occupies them and what triangles are active | Lower generation complexity | Medium — layout is learnable, but NPC outcomes aren't |
| C. Structural skeleton + social variance | Broad zone categories stable (residential blocks exist in residential zones), specific block arrangement varies | Moderate | Low-medium — learning that "residential blocks are southwest" doesn't help because southwest changes |
| D. Cultural templates constrain structure, seed randomizes within | A Kolu station always has labyrinthine commerce corridors; seed determines which corridors, not whether they exist | Low to medium | Low for structure, zero for social |
My recommendation: D, with C as the mechanism. Cultural identity should be legible — a player who has run a Kolu station before should recognize the architectural grammar. But the specific arrangement of blocks within that grammar should vary per seed. This means metagaming gives you cultural competence ("I know how to navigate a Kolu station") without giving you spatial certainty ("I know exactly where the back door is"). The HeritageRoot and Era palette modifiers already support this — we just need to ensure DistrictLayoutMode.Organic.placements seeds differently even within the same cultural template.
Q3: Does the spatial relationship between social sites need to vary per seed?
The question: In the data model, SocialSitePlacement.blocks assigns each social site to block coordinates within a district. Does the adjacency pattern of those sites need to differ meaningfully between seeds, or is adjacency determined by cultural/economic logic that stays stable?
Why it matters for replayability: This is the emergent story engine question. A bar adjacent to a docking facility means dock workers share space with traders → they form relationships → economic triangles form organically from proximity. If the bar is always next to the dock in every Logistics Hub district, two players in different Logistics Hub districts have the same emergent story topology. BUT: if we randomize adjacency too aggressively, we lose the coherence of "a docking area feels like a docking area." The generator's TrianglePurpose system (Economic, Social, Political) and RoleSlot assignments are where the story lives — but they need spatial fuel.
Options:
| Option | Description | Story variety |
|---|---|---|
| A. Zone adjacency fixed by district type | Logistics Hub always has Bar adjacent to Dock — predictable story topology | Low |
| B. Zone adjacency fixed, site tenants vary | Bar is always near Dock, but which NPCs occupy them changes per seed | Medium — structure is same, characters different |
| C. Zone clusters vary per seed within cultural constraints | Commercial cluster might be north or south, but commercial sites always cluster together | High — topology changes, coherence preserved |
| D. Full adjacency randomization | No pattern — any site can appear near any other | Maximum variety; potentially incoherent districts |
My recommendation: C. Zone clusters should stay coherent (commercial sites cluster together, industrial sites cluster together — this follows economic gravity). But which cluster is adjacent to which other cluster should vary per seed. A player who knows "bar is always in the commercial zone" still doesn't know whether the commercial zone is adjacent to residential or industrial — and that adjacency determines which NPC types flow through the bar. This is low complexity to implement (it's a zone cluster ordering choice at Phase 1) with outsized replayability return.
Q4: What's the replayability floor — what MUST be different every run?
The question: Given that v0.2 is a proof-of-life (D-114), we can't build infinite variety immediately. What is the minimum set of things that must differ between two runs to pass the replayability test — "two players comparing their games have different stories to tell"?
Why it matters for replayability: Without a floor, the generator can produce cosmetically different worlds that feel structurally identical. With too ambitious a floor, we build variety machinery we can't test and break the proof-of-life timeline. The data model already has ComplexityTier, WorldTier, DistrictType, SocietyProfileRef, and TriangleAssignment as variation axes. We need to know which ones are mandatory.
Options:
| Option | Floor definition | Story test |
|---|---|---|
| A. NPC identity only | Same layout, different NPC names/stats | Weak — same script, different cast |
| B. NPC identity + triangle topology | Different social conflicts, different betrayal patterns | Moderate — different drama, same stage |
| C. Zone arrangement + triangle topology + NPC identity | Different spatial layout, different drama, different characters | Strong — different stage, different drama, different cast |
| D. Everything: zone arrangement, cultural era mix, triangle topology, NPC identity, economic starting state | Maximum surface area | Maximum — but high engineering cost for v0.2 |
My recommendation: C for v0.2. The floor should be: (1) zone cluster adjacency differs visibly — the player's spatial mental map doesn't transfer, (2) triangle topology differs — the active social conflicts are different in type and shape, (3) NPC identity differs — no character survives to run 2. Option B is tempting for v0.2 scope, but identical layouts would be noticed immediately in a tycoon play session where the player is navigating constantly. Option D is v0.3+ territory.
Q5: How much should era layering contribute to run-to-run variety vs. cultural legibility?
The question: The data model has a rich era system: Era, EraCause (CorporateMerger, EmergencyExtension, OrganicGrowth, InstitutionalIncursion, etc.), era_modifications per block, and ZonePalette.modifiers including PaletteModifier::Era. This can produce districts that feel historically layered — a station with a corporate merger scar looks visually different from one that grew organically. But: if every run has the same era mix, the world loses variety. If era mixes are fully random, cultural identity is destroyed.
Why it matters for replayability: Era layering is a cheap source of visual and social variety — the same block zoning type can look and feel completely different depending on EraCause. A CorporateMerger Residential block has different visual character than an OrganicGrowth Residential block, which affects the NPCs who live there and their relationship to authority. If we seed the era probability distributions differently per run, we get worlds that feel historically different without changing any underlying layout logic.
Options:
| Option | Description | Replayability effect |
|---|---|---|
| A. Fixed era mix per district type | Logistics Hub always has 60% Original + 40% OrganicGrowth | Zero era variety between runs |
| B. Era mix seeded per district | Same district type, different historical trajectory per seed | High — same zone categories, different visual identity and social texture |
| C. Era mix follows world economic state | A system in economic boom gets different eras than a struggling one | Medium — deterministic from world context but varies with world generation |
| D. Era mix fully random | Any combination | High variety, potentially incoherent |
My recommendation: B + C combined. Era probability distributions should be seeded per district (from the district's own seed), but weighted by the world's economic state. A struggling system should have a higher probability of Decay and EmergencyExtension blocks; a thriving system should favor CorporateMerger and InstitutionalIncursion. This means two players in the same type of district but different economic contexts get visually distinct worlds — and the world's economic story is legible in its architecture. This aligns with D-029 (variable entanglement rate per seed) at the spatial level.
Summary for Jeroen
| Question | My recommendation |
|---|---|
| Q1: Per-run or persistent? | Per-save persistent (B) — world fixed within a save, new game = new seed |
| Q2: Structural or social anti-metagaming? | Cultural templates constrain, seed randomizes within (D) |
| Q3: Does social site adjacency vary? | Zone clusters vary per seed (C) — clusters coherent, adjacency randomized |
| Q4: Replayability floor for v0.2? | Zone arrangement + triangle topology + NPC identity (C) |
| Q5: Era layering — fixed or seeded? | Era mix seeded per district + weighted by world economic state (B+C) |
These five decisions are load-bearing for the generator architecture. Q1 affects save file design. Q2 affects how much Phase 1 layout complexity we need to build. Q3 affects whether social triangle placement is spatial-first or template-first. Q4 sets the acceptance criteria for the generator spike. Q5 is a relatively cheap lever we can pull now for high replayability return.