# Conflicts: # CHANGELOG.md # content/_meta/README.md # content/_meta/npc-authoring-style-guide.md # wiki/_templates/cultural-group.md # wiki/_templates/institution.md # wiki/_templates/star-system.md # wiki/characters/devra.md # wiki/characters/drin.md # wiki/characters/harek.md # wiki/characters/lera-sessik.md # wiki/characters/maret-korr.md # wiki/characters/naia-tamm.md # wiki/characters/nils-davan.md # wiki/characters/pell.md # wiki/characters/renn.md # wiki/characters/resha.md # wiki/characters/sabel.md # wiki/characters/sera-venn.md # wiki/characters/torek-lintar.md # wiki/characters/voss.md # wiki/star-systems/krenn/index.md
51 KiB
title, description, type, status, workshop, agent, round, created
| title | description | type | status | workshop | agent | round | created |
|---|---|---|---|---|---|---|---|
| Round 3 — Gestalt (Systems Design) | Long-term content strategy for scaling to 20+ districts without linear authoring effort | workshop | archived | wiki-review | gestalt | 3 | 2026-02-12 |
Round 3 — Gestalt (Systems Design): Long-Term Content Strategy
cracks knuckles
Seven questions. All of them are really one question: What are the systems that make a 20+ district game work without requiring 20x the authoring effort of one district?
Let me break down what each of these questions actually means mechanically.
1. Complicity Is Sova's Flavor. The Master Theme Is "Knowledge as Burden."
Gore named complicity as the game's theme. He's right about Sova. He's wrong about the whole game — and the reason he's wrong is the reason the game scales.
The argument
Complicity works in Sova because of a specific configuration:
- The smuggler participates in something they know is morally ambiguous
- The detective disrupts something the community considers normal
- The culture (Van Maanen's Star privacy norms) makes non-cooperation the default
- The contraband (lattice components) serves genuine needs
Change ANY of those variables and complicity stops being the right word. Consider:
| District Type | What You Know | What It Costs You | The Right Word |
|---|---|---|---|
| Logistics hub (Sova) | You're part of the operation | Guilt, eroding relationships | Complicity |
| Political capital | Your ally is betraying your faction | Broken loyalty, political death | Loyalty |
| Frontier settlement | Someone is dying and only you know | Moral obligation vs. survival | Duty |
| Research station | Your identity is being rewritten | Loss of self, gain of power | Identity |
| Trade nexus | You can profit from others' suffering | Greed vs. empathy | Greed |
| Refugee district | You can save some but not all | Triage, survivor's guilt | Sacrifice |
| Military outpost | Your orders are wrong and you know it | Obedience vs. conscience | Authority |
Every single one of these is a variation on the same mechanical core: you know something, and knowing it changes you. The knowledge is a burden. What you do with it defines who you become.
The framework
Master theme: Knowledge as burden.
Master mechanic: Asymmetric information (D-005 — this was always the answer).
Per-district moral texture: Each district explores a specific facet of what knowledge costs.
This isn't just thematic variety for its own sake. It's mechanically load-bearing:
-
Different moral textures produce different player decisions. In Sova, the smuggler's key decisions are about protecting vs. exposing. In a loyalty-textured district, the key decisions are about betraying vs. enabling. Same decision architecture (fork + consequences), different emotional weight. The systems don't change — the content changes.
-
Different moral textures demand different monologue vocabularies. The smuggler's
moral_pangtrigger works for complicity. A loyalty district needsloyalty_fracture. An authority district needsconscience_objection. Same trigger system, different named instances. The engine doesn't care what the trigger is called — it fires when conditions are met. -
Different moral textures create replay variety at the thematic level. Two players who both played smuggler-type characters in different districts had mechanically similar experiences (managing a dual life, navigating risk, protecting relationships) but emotionally different ones. The replay isn't just "different NPCs" — it's "different questions."
What this means for systems design
The per-district moral texture is NOT a flavor field in a config file. It's an emergent property of the specific configuration of NPCs, triangles, contraband, cultural norms, and access tier profiles in that district. The designer doesn't write moral_texture: complicity. They design a district where:
- The smuggler's FRIEND is hiding something that protects someone
- The detective's investigation harms people who don't deserve it
- The cultural norms make non-cooperation virtuous
- The contraband serves genuine needs
And the PLAYER experiences that configuration as complicity. Another district where:
- The politician's FRIEND is secretly working for a rival faction
- The detective's investigation reveals that both sides are justified
- The cultural norms prize loyalty above truth
- The contested resource is political power, not goods
...produces a loyalty texture. Same systems. Different content. Different feeling.
Decision proposal (D-WR-11): The Settled Reach's master theme is "knowledge as burden" — asymmetric information is the mechanic, the cost of knowing is the experience. Each district explores a local moral texture (complicity, loyalty, duty, identity, etc.) through the same systemic framework. No district's theme is prescribed mechanically — it emerges from content configuration.
2. Cultural Groups at Scale: 6-8 Heritage Clusters, Mechanically Distinct
Why culture matters mechanically
Miri's Van Maanen's Star brief proved that culture isn't decoration — it's a game system. The Nordic-Baltic privacy norms ARE the difficulty gradient for the detective. The labor solidarity norms ARE the smuggler's camouflage. Culture determines:
| System | Cultural Input | Mechanical Output |
|---|---|---|
| Dialogue access tiers | Privacy norms, authority attitudes | How hard it is to reach peer / insider |
| NPC disclosure behavior | Information-sharing customs | What NPCs volunteer vs. withhold |
| Tell visibility | Behavioral norms | What counts as "unusual" in this community |
| Investigation strategy | Cooperation patterns | Whether the detective can find allies |
| Cover viability | In-group/out-group markers | How easily the smuggler blends in |
| Social site dynamics | Gathering patterns, leisure norms | Where and when NPCs are observable |
Each cultural group produces a DISTINCT ACCESS TIER PROFILE — a mechanically different experience of the same systems. This is the constraint that determines how many we need.
The cultural map
I'd propose 6-8 heritage clusters for the full game. Each must be mechanically distinct along the axes above.
| # | Heritage Cluster | Cultural DNA | Mechanical Signature | Access Tier Profile |
|---|---|---|---|---|
| 1 | Nordic-Baltic (Van Maanen's Star) | Finnish/Estonian/Latvian/Norwegian drift | Privacy-default, labor solidarity, institutional distrust | Hard outsider wall. peer requires months. authority gets compliance but zero information. |
| 2 | Mediterranean-Near Eastern | Greek/Turkish/Lebanese drift | Hospitality-default, honor networks, generosity-as-status | Easy initial warmth (fast peer), but deep trust is family-only. Gossip flows freely — too freely. Information hides in noise. |
| 3 | East Asian | Japanese/Korean/Vietnamese drift | Hierarchical respect, obligation networks, face-saving | authority gets deference but performative cooperation. Real information flows through obligation chains, not direct questioning. The detective must EARN an obligation. |
| 4 | West African | Yoruba/Akan/Wolof drift | Communal decision-making, storytelling tradition, elder-respect | Information flows freely through communal events but is couched in story and metaphor. Direct questions are rude. The detective must learn to LISTEN. |
| 5 | Latin American | Brazilian/Colombian/Mexican drift | Personal warmth, patron-client dynamics, familismo | Warm to strangers, but loyalty runs through patronage networks. The detective is a PERSON first, an authority second. Cooperation is personal, never institutional. |
| 6 | Slavic-Central European | Russian/Polish/Czech drift | Institutional cynicism, dual economy, black humor | Everyone assumes the system is corrupt. authority is treated with open cynicism. The grey economy is not hidden — it's simply not discussed with anyone who might be naive enough to object. |
| 7 | South Asian | Indian/Pakistani/Sri Lankan drift | Community gatekeepers, code-switching, stratified access | Access is mediated through gatekeepers (elders, community leaders). The detective can't access individuals directly — must go through the gatekeeper. The gatekeeper's agenda shapes all information. |
| 8 | Blended/Cosmopolitan | Multi-heritage convergence | No dominant norm, transactional relationships, individualism | No cultural immune system. Information is freely available but untrustworthy. Everyone's performing. The challenge isn't ACCESS — it's VERIFICATION. |
Why 6-8, not 20
Simple rules, complex outcomes. 6-8 heritage clusters with blending produces dozens of EXPERIENCED cultures:
- Pure Cluster 1 (Nordic-Baltic station, like Sova)
- Cluster 1 + Cluster 6 blend (Nordic-Baltic founded, Slavic immigration wave)
- Cluster 3 dominant, Cluster 8 cosmopolitan overlay (East Asian core station with a trade district)
- Cluster 2 + Cluster 5 blend (Mediterranean-Latin fusion in a warm-climate colony)
Each blend creates a NEW access tier profile by interpolating between parent clusters. A Nordic-Baltic + Slavic blend might have the privacy norms of Cluster 1 but the institutional cynicism of Cluster 6 — meaning the detective faces both a cultural wall AND open mockery when they invoke Commission authority.
Distribution
Not every system gets a unique culture. Multiple systems can share a heritage cluster (like multiple Nordic-Baltic settled systems with Van Maanen's Star-like norms). The full game's cultural map might look like:
| Heritage Cluster | # of Systems | Notes |
|---|---|---|
| Nordic-Baltic | 3-4 | Founding-era settlement belt |
| Mediterranean-Near Eastern | 2-3 | Trade corridor systems |
| East Asian | 2-3 | Industrial core systems |
| West African | 1-2 | Agricultural/frontier |
| Latin American | 2-3 | Mid-Reach settlement wave |
| Slavic-Central European | 2-3 | Outer Reach mining/industrial |
| South Asian | 1-2 | Administrative/political centers |
| Cosmopolitan | 3-5 | Capital systems, trade hubs, crossroads |
~20-25 systems across 6-8 clusters. Each system has 1-4 districts. Each district = 1 content pack. The cultural cluster determines the access tier profile, naming conventions, substrate vocabulary, social norms. Content authors reference the regional brief for their cluster.
The authoring constraint
Each cultural cluster requires ONE Miri-quality regional brief (~Van Maanen's Star brief). 6-8 briefs total. Each brief includes:
- Heritage lineage and drift patterns
- Naming conventions (phonological rules, surname patterns)
- Substrate vocabulary (10-15 heritage words)
- Social norms (5-6 key behavioral expectations)
- Access tier cultural profile (how the 5 tiers work in this culture)
- Food/drink/leisure patterns
- Authority attitudes
After the 6-8 briefs exist, every NEW district in that cluster references the brief. Authors don't reinvent the cultural wheel — they apply the brief to a specific location. This is how culture scales: author the pattern once, instantiate it many times.
Decision proposal (D-WR-12): The Settled Reach has 6-8 heritage clusters, each with a Miri-quality regional brief. Heritage clusters are mechanically load-bearing (access tier profiles, NPC disclosure patterns, investigation strategy). Districts reference their cluster's brief for cultural grounding. Blended districts interpolate between parent clusters.
3. Content Patterns That Scale: The Universal Skeleton + Variable Flesh
Which patterns are universal?
Let me map every content pattern we've designed and classify it:
| Pattern | Universal? | What Varies? |
|---|---|---|
| Social site / functional cluster (D-025) | YES — every district has them | Count (2-6), size (4-12 NPCs), type (workplace, social, residential, commercial, institutional) |
| Triangles | YES — every social site has 1-3 | Triangle type (power, loyalty, knowledge, romantic, economic), specific tension |
| Three-tier content model (D-023) | YES — always Tier 1/2/3 | Tier counts scale with district size |
| THE FRIEND | YES — every PC archetype gets one per district | What they're hiding varies with district moral texture |
| Tagged line pools + 4-layer selection (D-028/D-035) | YES — universal dialogue architecture | Tag vocabularies may expand per district |
| Routine system | YES — NPC schedules everywhere | Cultural work patterns vary per cluster |
| Population entanglement ratio (D-029) | YES — 30/50/20 is a guideline | Exact ratio varies per district type and seed |
| THE MIRROR (Gore R2) | RECOMMENDED but not required | Some districts benefit more than others |
| Dual-lens content | YES for districts with 2+ archetypes | Single-archetype districts don't need it |
| FRIEND pool | YES — architecture always supports it | Pool size varies per district maturity |
| Contraband type | NO — varies by district economy | Some districts have no smuggling at all |
| Ring structure | NO — some districts have no criminal operation | The ADVERSARIAL STRUCTURE is universal; its form varies |
The critical generalization: adversarial structures
Sova has a smuggling ring. Not every district will. But every district needs an adversarial structure — a hidden network of relationships and activities that one PC archetype knows about and another must discover.
| District Type | Adversarial Structure | Insider Archetype | Investigator Archetype |
|---|---|---|---|
| Logistics hub | Smuggling ring | Smuggler | Detective |
| Political capital | Faction conspiracy | Politician | Intelligence operative |
| Research station | Unauthorized experiment | Researcher | Ethics investigator |
| Military outpost | Mutiny plot | Dissenting officer | Loyalty investigator |
| Trade nexus | Price-fixing cartel | Merchant | Economic regulator |
| Refugee district | Underground railroad | Smuggler variant | Border enforcement |
| Cultural enclave | Preservation network | Cultural insider | Assimilation enforcer |
The pattern: there's always a hidden network and there's always someone whose job is to find it. The insider BELONGS to it. The investigator STUDIES it. The information asymmetry between them IS the game.
This means the Sova patterns generalize as follows:
| Sova-Specific | Generalized Pattern |
|---|---|
| The Ring | The Hidden Network (whatever shape it takes) |
| Ring operations | Network activities (smuggling, conspiring, experimenting, plotting) |
| Contraband | The Contested Resource (goods, power, knowledge, identity, freedom) |
| Commission regulation | The Institutional Framework (whatever authority the network defies) |
| Detective investigation | Observer Investigation (any archetype that discovers) |
| Smuggler cover management | Insider Risk Management (any archetype that hides) |
| Complicity moral texture | Local Moral Texture (whatever knowledge costs in this place) |
The structural template for a district
Every district, regardless of setting, follows this skeleton:
DISTRICT SKELETON
├── 2-6 Social Sites (functional clusters, 4-12 NPCs each)
│ ├── 1-3 Triangles per social site
│ ├── Physical space with sightlines + overhearing zones
│ └── Bridge NPCs connecting to other social sites
├── 1 Hidden Network (adversarial structure)
│ ├── 3-8 network members across social sites
│ ├── 1 coordinator (Devra-equivalent)
│ ├── 1 external connection (Sabel-equivalent)
│ └── Network activities that deviate from base routines
├── 1 FRIEND per supported PC archetype
│ ├── Tier 1 depth, full contradiction arc
│ ├── Connected to the hidden network (directly or indirectly)
│ └── Discovery produces moral reckoning, not just information
├── 0-1 MIRROR per district (recommended)
│ ├── Honest character, no secret
│ └── Their transparency reveals everyone else's dishonesty
├── 1 Cultural Group reference (heritage cluster brief)
│ ├── Access tier profile
│ ├── Naming conventions
│ └── Substrate vocabulary
├── 1 Local Moral Texture (emergent from configuration)
│ ├── What knowledge costs in this place
│ └── What the player's key decisions feel like
├── 2-4 Supported PC Archetypes
│ ├── 1 insider archetype (belongs to the hidden network)
│ ├── 1 investigator archetype (seeks to understand the network)
│ └── 0-2 additional archetypes (affected bystander, rival network, etc.)
├── 1 Contested Resource (what the network moves/controls/protects)
│ ├── Culturally grounded (why this resource matters HERE)
│ └── Morally ambiguous (the network isn't pure evil)
└── Environmental Text
├── Location-specific (signs, menus, graffiti)
├── News ticker headlines (Reach-wide + local)
└── Cultural artifacts (food, slang, customs)
This skeleton is the repeatable unit of content creation. Every new district instantiates it with different flesh. The systems code works identically against every instantiation.
Where the structure itself can vary
The skeleton above is the MINIMUM. Some districts may have additional patterns:
- Multi-network districts: A trade nexus might have TWO hidden networks (smuggling ring + price-fixing cartel) that overlap. NPCs might belong to both. This creates a third investigative dimension.
- Network-free districts: A quiet residential district with no hidden network — just mundane triangles, life-sim substrate, and a FRIEND whose contradiction is personal (infidelity, debt, illness) rather than criminal. These districts serve as contrast — the "is this enough?" question is literal.
- Hub districts: A major political or commercial center with 6+ social sites, 25+ NPCs, and multiple overlapping adversarial structures. These are premium content — expensive to author, but they're the centerpiece locations.
- Transitional districts: Small districts (1-2 social sites, 8-10 NPCs) that serve as connective tissue between larger districts. The player passes through on their way somewhere else — but something catches their eye.
Decision proposal (D-WR-13): The district skeleton (social sites + hidden network + FRIEND + cultural group + moral texture + PC archetypes + contested resource) is the universal content template. All districts instantiate this skeleton. The skeleton's size varies (2-6 social sites, 15-40 NPCs) but its structure is consistent.
4. The Content Directory as a Platform
The hierarchy at scale
The Round 2 converged structure works for one district. At scale, it needs a system level:
content/
_meta/
manifest.yaml # Game-level metadata
load-order.yaml # Content pack ordering
_schema/
(per-type validation schemas — unchanged from R2)
global/
factions/ # Reach-wide factions
technology/ # Technology definitions
knowledge/ # FactId definitions, entity attributes
enums/ # Tag vocabularies (situations, moods, etc.)
archetypes/ # PC archetype definitions (NEW)
smuggler.yaml # Archetype: starting access, agency, perception
detective.yaml
politician.yaml
guardian.yaml
merchant.yaml
civilian.yaml
patterns/ # Reusable content patterns (NEW)
friend.pattern.yaml # THE FRIEND pattern requirements
mirror.pattern.yaml # THE MIRROR pattern requirements
hidden-network.pattern.yaml # Adversarial structure requirements
triangle.pattern.yaml # Triangle structure requirements
regions/ # Heritage cluster briefs (NEW — promoted from global/)
nordic-baltic.yaml # Cluster 1 (Van Maanen's Star, etc.)
mediterranean.yaml # Cluster 2
east-asian.yaml # Cluster 3
west-african.yaml # Cluster 4
latin-american.yaml # Cluster 5
slavic-central.yaml # Cluster 6
south-asian.yaml # Cluster 7
cosmopolitan.yaml # Cluster 8
systems/ # Star systems (NEW level)
van-maanens-star/
system.yaml # System metadata, wormhole connections
districts/
sova-transit/
(existing R2 structure: district.yaml, pools.yaml,
npcs/, locations/, templates/, triangles/, lines/)
sova-residential/ # Second district on same station
...
van-maanens-star-prime-port/ # Planet-side district
...
tavros/
system.yaml
districts/
tavros-exchange/ # Trade district
...
(etc.)
Key changes from Round 2
| Change | Rationale |
|---|---|
regions/ promoted to top-level |
Heritage clusters are game-wide reference data, not district content. A region is referenced by MANY districts. |
global/archetypes/ added |
PC archetype definitions are global — the smuggler archetype exists independently of any district. Each district declares which archetypes it supports. |
global/patterns/ added |
Reusable content pattern definitions (FRIEND, MIRROR, hidden network, triangle) as formal schema/requirement docs. District content is validated against these. |
systems/ level added above districts/ |
Star systems group districts. Wormhole connections are system-level data. A content pack can be one system (containing multiple districts). |
Content packs, DLC, and mods
The platform architecture must support three content delivery models:
1. Core content packs (shipped with the game)
# content/_meta/manifest.yaml
packs:
- id: core
districts: [van-maanens-star/sova-transit, van-maanens-star/sova-residential, ...]
version: 1.0
2. DLC packs (official expansion content)
# dlc/tavros-exchange/_meta/manifest.yaml
pack:
id: tavros-exchange
type: dlc
requires: [core >= 1.0]
adds:
systems: [tavros]
districts: [tavros/tavros-exchange]
archetypes: [merchant] # New PC archetype
factions: [syndic-guild] # New faction
3. Mod packs (community content)
# mods/jax-veteran/_meta/manifest.yaml
pack:
id: jax-veteran
type: mod
requires: [core >= 1.0]
extends:
districts: [van-maanens-star/sova-transit]
adds:
npcs: [jax-korrenson]
merges:
pools: [bar_regulars]
lines: [bar/dialogue]
Content pack isolation
Each content pack is a self-contained directory tree that follows the same structure as the core. The engine merges them at load time using the R2 overlay rules (ADD/REPLACE/MERGE). The key constraint: a content pack never modifies files in another pack's directory. It provides its own files that the merge system combines.
This means:
- DLC districts are fully self-contained (own NPCs, lines, templates)
- DLC can ADD new archetypes, factions, cultural groups
- Mods can EXTEND existing districts (add NPCs to pools, add dialogue lines)
- Mods can REPLACE existing content (swap an NPC, change a routine)
- Nothing breaks if a mod is removed — the merge system gracefully degrades
Cross-district references
At scale, content must reference entities in other districts:
- An NPC in District A has a sibling in District B
- A faction spans multiple systems
- A wormhole connects two districts
- A news ticker headline references events in another system
These cross-references use the canonical_id system (Miri/Tyre R2):
# In van-maanens-star/sova-transit/npcs/sabel.yaml
relationships:
- npc: tavros.exchange.npc.sabel-partner # Cross-district reference
type: "business associate"
The engine resolves canonical_id to file path at load time. Missing references (because a DLC isn't installed) are handled gracefully — the relationship exists in the data but the referenced NPC doesn't render.
Decision proposal (D-WR-14): The content directory supports three delivery models (core, DLC, mod) through a pack manifest system. Content packs are self-contained directory trees merged at load time. Cross-district references use canonical_id. Missing references degrade gracefully.
5. Randomization Philosophy: Randomize Context, Author Content
The principle
At Sova scale, Nigel identified three randomization axes (FRIEND pool, contraband type, who's compromised). At full game scale, the number of potential axes is much larger. We need a PHILOSOPHY, not a list.
The philosophy: randomize the CONTEXT, author the CONTENT.
| Layer | Authored or Randomized | Examples |
|---|---|---|
| The specific line of dialogue | AUTHORED | "There you are. Good — I was starting to worry." |
| The tell behavior | AUTHORED | "Looks left when lying" |
| The contradiction arc | AUTHORED | 5 phases, each with specific authored beats |
| The cultural norms | AUTHORED | Van Maanen's Star privacy-default, labor solidarity |
| Which NPC delivers that line | RANDOMIZED (pool selection) | Kael or Renn as FRIEND |
| Which NPC has which role | RANDOMIZED (role-slot assignment) | Drin or Maret as compromised inspector |
| Which contraband is in the crates | RANDOMIZED (per-seed) | Lattice components or medical-grade |
| Which triangles are active | PARTIALLY RANDOMIZED | Core triangles always; optional triangles per seed |
| Evidence locations | RANDOMIZED | Dead drop in B-7 or B-12 |
| NPC routine micro-variations | RANDOMIZED | Break at 10:30 or 10:45 |
The four randomization tiers
At full scale, I see four distinct tiers of randomization, each with different rules:
Tier S: Structural randomization (set at game creation, never changes)
These define the shape of the playthrough. They create the "two friends compare notes and played different games" experience.
| Axis | What Varies | Constraint |
|---|---|---|
| FRIEND selection | Which NPC is your FRIEND in each district | Pool of Tier 1 authored candidates; minimum 2 per archetype per district |
| PC archetype identity | Which specific NPC you ARE (within archetype) | Pool of authored PC candidates per archetype |
| Hidden network membership | Which NPCs are in the network | Constrained by role requirements (need coordinator, courier, etc.) |
| Contested resource type | What the network moves/controls | Must match district cultural grounding |
| Inter-system connections | Which wormhole routes are active | Graph connectivity must allow progression |
| Faction power balance | Which faction dominates which system | Must create tension, not uniformity |
Tier D: Dramatic randomization (storyteller-controlled, changes during play)
These are the storyteller's levers. Nigel's "dramatic randomness."
| Axis | What Varies | Constraint |
|---|---|---|
| Escalation timing | When pressures increase | Pacing algorithm (D-005's Rimworld-style storyteller) |
| NPC cracking | Who breaks under pressure first | Weighted by tolerance threshold + accumulated stress |
| Evidence availability | When clues become observable | Must follow the observe→notice→follow→discover sequence |
| Environmental events | Ventilation breaks, supply disruptions, social events | Provide texture and alibi opportunities |
| News ticker content | Which headlines appear | Pool of authored headlines, drawn per cycle |
Tier L: Local randomization (per-session micro-variation)
These make each play session feel slightly different even on the same seed.
| Axis | What Varies | Constraint |
|---|---|---|
| NPC routine micro-timing | Exact arrival/departure within windows | ±10 minutes from scheduled time |
| Dialogue line selection | Which valid line from the pool fires | Weighted by mood + topic match + variety tracking |
| Social site population | Who's at the bar right now | Base on schedule + micro-timing + small random absence chance |
| Environmental details | Which graffiti is visible, which headline scrolls | Pool selection, changes per visit |
Tier M: Meta-randomization (per-NEW-GAME variation across multiple playthroughs)
These are the axes that make the GAME different, not just the session.
| Axis | What Varies | Constraint |
|---|---|---|
| Starting district | Where the player begins | Must match archetype (smuggler starts in logistics districts) |
| Which districts exist | Procedural system/district generation at game scale | Core districts are fixed; procedural districts fill gaps |
| Cultural blending | Which heritage clusters are present in each system | Must be historically coherent per the setting |
| Reach-wide events | What's happening in the larger political landscape | Storyteller-driven macro events that affect all districts |
New randomization axes at full scale
Beyond Nigel's Sova-specific axes, the full game adds:
-
Wormhole topology: Which systems connect to which. This shapes trade routes, which shapes smuggling routes, which shapes where the player encounters hidden networks. Different topologies create different strategic landscapes.
-
Faction ascendancy: Which faction is dominant in which system. A Commission-dominated system has heavy regulation and lots of contraband opportunity. A Syndic-dominated system has a corporate monopoly and worker resistance. Different power configurations produce different adversarial structures.
-
Technology availability gradient: Which lattice tiers, which perception modes, which tools are available where. Frontier systems have basic tech. Core systems have advanced capabilities. This affects gameplay strategy AND the player's observational capacity.
-
Diaspora patterns: Which cultural groups have migrated where over 200+ years. A second-wave Nordic-Baltic settlement on a predominantly East Asian station creates a blended culture with unique access tier dynamics. These patterns are set at game creation and shape the social landscape.
-
Historical events: Per-seed selection of which founding-era events happened. "Talvik promised us quarters by '98" is Sova-specific. Each district has 2-3 historical grievances/triumphs drawn from a pool, expressed through environmental text and NPC attitudes.
The anti-randomization constraint
Not everything should vary. Some things MUST be fixed for the game to cohere:
- The setting's core technology (lattice, Meridian, span gates, founder gates) is fixed
- The faction list is fixed (though their local power varies)
- The cultural cluster definitions are fixed (though their distribution varies)
- The content patterns (FRIEND, MIRROR, hidden network, triangles) are fixed
- The master theme (knowledge as burden) is fixed
- The master mechanic (asymmetric information) is fixed
These are the INVARIANTS. Everything else is a variable. The game is defined by its invariants; its replay value comes from its variables.
Decision proposal (D-WR-15): Randomization philosophy: "randomize context, author content." Four tiers: Structural (game creation), Dramatic (storyteller), Local (per-session), Meta (per-new-game). Authored content (lines, arcs, tells, cultural norms) is never generated at runtime. Randomization selects which authored content is active and how it's configured.
6. PC Archetypes at Full Scale
How many archetypes?
The smuggler and detective are two sides of the same adversarial coin: insider vs. investigator. At full scale, the game needs enough archetypes to support different adversarial structures AND different player fantasies.
Let me map the archetypes to what they actually DO mechanically:
| Archetype | Information Position | Core Mechanic | Fantasy |
|---|---|---|---|
| Smuggler | Insider (knows the network) | Risk management, dual-life navigation | "I'm part of something dangerous and I can't stop" |
| Detective | Outsider (discovers the network) | Pattern recognition, social investigation | "Something's wrong here and I'll find out what" |
| Politician | Meta (knows the power dynamics) | Faction navigation, deal-making | "Everyone owes me something and I owe everyone" |
| Guardian | Counter (knows the surveillance) | Evasion, counter-intelligence | "They're watching everything and I'm invisible" |
| Merchant | Parallel (knows the economics) | Trade optimization, moral arbitrage | "I know what everything costs, including my soul" |
| Civilian | Blank (knows nothing at start) | Discovery, adaptation, survival | "I was just living my life until it all went wrong" |
Six archetypes. Each produces a fundamentally different information asymmetry experience through the same systems.
Not every district supports every archetype
The key insight: archetype availability is a PER-DISTRICT property, not a global one. This is how content scales without requiring 6x everything.
| District Type | Supported Archetypes | Why |
|---|---|---|
| Logistics hub (Sova) | Smuggler, Detective, Civilian | The hidden network is a smuggling ring |
| Political capital | Politician, Detective, Guardian | The hidden network is a faction conspiracy |
| Research station | Merchant (tech trader), Detective, Civilian | The hidden network is unauthorized research |
| Trade nexus | Merchant, Smuggler, Detective | Multiple hidden networks overlap |
| Frontier settlement | Smuggler, Guardian, Civilian | The hidden network is a resistance movement |
| Military outpost | Guardian, Detective, Civilian | The hidden network is a mutiny plot |
Most districts support 2-3 archetypes. The MINIMUM is 2 (one insider, one investigator — the adversarial pair). Premium districts support 3-4 for richer replayability.
The adversarial pair principle
Every district must have at least one adversarial pair — two archetypes that see the same world from opposing information positions.
| Adversarial Pair | Insider | Investigator | The Tension |
|---|---|---|---|
| Smuggler / Detective | Knows the ring | Discovers the ring | Complicity vs. justice |
| Politician / Intelligence | Knows the conspiracy | Uncovers the conspiracy | Loyalty vs. truth |
| Guardian / Security | Knows the surveillance gaps | Closes the surveillance gaps | Freedom vs. order |
| Merchant / Regulator | Knows the market | Polices the market | Profit vs. fairness |
The adversarial pair is what makes the dual-lens work. The insider's home is the investigator's crime scene. Same NPCs, same social sites, different access tiers, different monologue voices, different moral textures.
The per-archetype authoring cost
Each archetype in a district requires:
| Component | Lines/Effort | Notes |
|---|---|---|
| PC-candidate NPC profile | 2 wiki pages | Standard NPC + PC appendix (B1-B7 from Paula R2) |
| Starting knowledge graph | 1 YAML file | FactId confidence table |
| Starting relationship map | 1 YAML section | Forward + reverse knowledge per known NPC |
| Orientation monologue | 5-8 lines | "First 60 seconds" content |
| Character-specific monologue pool | 30-50 lines per district | Separate pool per character (D-032) |
| Agency boundaries | 1 YAML section | What the PC can/can't do |
| Voice card | 1 page | How this archetype thinks/speaks |
For a district with 3 supported archetypes: ~3 PC profiles + ~90-150 monologue lines + supporting YAML. That's significant but bounded.
The archetype-as-framework pattern
Here's the scaling trick: archetype definitions are global, archetype INSTANCES are local.
The smuggler archetype is defined once in global/archetypes/smuggler.yaml:
archetype:
id: smuggler
information_position: insider
default_access_tiers:
network_members: insider
community_members: peer
institutional_figures: authority # they have authority over you
strangers: public
core_mechanic: risk_management
monologue_voice: relational # thinks in people, not patterns
perception_modes: [natural, social_awareness]
moral_arc_type: complicity # default, can be overridden per district
Each district that supports the smuggler archetype provides a LOCAL INSTANCE:
# In systems/van-maanens-star/districts/sova-transit/archetypes/smuggler.yaml
archetype_instance:
archetype: smuggler
pc_candidates: [kael-davan-smuggler-pc] # Which NPCs can be this archetype
local_override:
moral_arc_type: complicity # matches default for Sova
cultural_voice: van-maanens-star # uses Van Maanen's Star substrate vocabulary
network_role: logistics # smuggler's function in this specific ring
This separation means:
- Adding a new archetype to an existing district = adding one instance file + monologue pool + PC candidate
- Modders can add archetype support to districts without touching the archetype definition
- Different districts can customize the same archetype (a smuggler in Sova feels different from a smuggler in a frontier settlement)
Decision proposal (D-WR-16): The Settled Reach supports 6 PC archetypes (Smuggler, Detective, Politician, Guardian, Merchant, Civilian). Each district supports 2-4 archetypes, with a mandatory adversarial pair (insider + investigator). Archetype definitions are global; archetype instances are per-district.
7. The Authoring Pipeline at Scale: Districts as Production Units
The numbers
Let me be honest about what "full game" means in content terms.
Assumptions:
- 20-25 star systems
- 1-4 districts per system (some systems have one major station, others have multiple locations)
- ~50 total districts
- ~15-20 NPCs per district average (smaller districts: 10, larger: 30+)
- ~750-1,000 total NPCs
Content volume per tier:
| Tier | NPCs per District | Total (50 districts) | Authored Lines per NPC | Total Authored Lines |
|---|---|---|---|---|
| Tier 1 (FRIEND/MIRROR) | 2-4 | 100-200 | 70-100 | 7,000-20,000 |
| Tier 2 (working profile) | 8-12 | 400-600 | 15-20 (+ 4x gen) | 6,000-12,000 |
| Tier 3 (sketch) | 5-10 | 250-500 | 5-10 | 1,250-5,000 |
| Totals | 15-26 | 750-1,300 | 14,250-37,000 authored |
Plus:
- Monologue pools: 30-50 lines per archetype per district × 2-3 archetypes × 50 districts = 3,000-7,500 monologue lines
- Environmental text: 20-40 items per district × 50 districts = 1,000-2,000 environmental text items
- News ticker: 15-20 headlines per district × 50 districts = 750-1,000 ticker headlines
Total authored content: ~20,000-50,000 unique text items. That's a LOT. But it's spread across the full game's lifecycle (years of development + DLC). And a significant portion is generation-expandable.
The production pipeline
Districts are the unit of production. Each district goes through a consistent pipeline:
DISTRICT PRODUCTION PIPELINE
Phase 1: DESIGN (1 week)
├── District concept: moral texture, adversarial structure, cultural group
├── Social site definitions: count, type, size, physical layout
├── Triangle design: 3-6 triangles with tension types
├── NPC role slots: who is needed (FRIEND, coordinator, bridge, etc.)
├── PC archetype assignments: which archetypes, adversarial pair
└── Output: district.yaml + template files + triangle files
Phase 2: POPULATION (1-2 weeks)
├── NPC generation: names (from cultural brief), personalities, routines
├── Tier assignment: which NPCs are Tier 1/2/3
├── Relationship mapping: who knows whom, what they know
├── Hidden network design: membership, activities, contradiction hooks
└── Output: NPC YAML files (all tiers)
Phase 3: TIER 1 AUTHORING (2-3 weeks)
├── FRIEND profiles: full 10-axis, contradiction arc, tell progression
├── MIRROR profiles (if applicable): emotional arc, vulnerability map
├── PC-candidate profiles: PC appendix (B1-B7)
├── Monologue pools: per-archetype character-specific lines
└── Output: Tier 1 NPC files + monologue YAML files
Phase 4: TIER 2 AUTHORING (1-2 weeks)
├── Working profiles: 10-axis, voice samples, dual-lens notes
├── Core dialogue lines: 15-20 per NPC
├── Generation expansion: 4x from core lines
├── Triangle integration: tension-specific dialogue
└── Output: Tier 2 NPC files + dialogue YAML files
Phase 5: TIER 3 + ENVIRONMENTAL (1 week)
├── Sketch profiles: want, routine, personality minimum
├── Environmental text: signs, menus, graffiti, ticker headlines
├── Location descriptions: atmospheric text per social site
└── Output: Tier 3 NPC files + environmental text files
Phase 6: INTEGRATION (1 week)
├── Pool configuration: FRIEND pool, role-slot pools, randomization axes
├── Cross-reference validation: all canonical_ids resolve
├── Schema validation: all content passes validation
├── Dual-lens review: both archetypes' experiences coherent
└── Output: pools.yaml + validated content pack
Phase 7: PLAYTESTING (1-2 weeks)
├── Per-archetype playthrough: does each archetype's experience work?
├── Triangle testing: do all triangles produce interesting decisions?
├── FRIEND testing: does the contradiction arc hit emotionally?
├── Randomization testing: do different seeds produce different experiences?
└── Output: Bug fixes, balance adjustments, polish
Total per district: 8-12 weeks. That's 2-3 months per district with a small team. For 50 districts, that's ~100-150 team-months = roughly 4-5 years with a 3-person content team, or 2-3 years with a 5-person team.
This is a multi-year production. Which is expected for a game of this scope. The key is that each district is INDEPENDENT — they can be built in parallel, shipped as DLC, and contributed by modders.
Generation vs. authoring: the 70/30 split
Not all content needs to be hand-authored. The pipeline uses three content creation methods:
| Method | What It Produces | Quality Level | Volume |
|---|---|---|---|
| Hand-authored | Tier 1 profiles, FRIEND arcs, MIRROR arcs, key monologue, key dialogue, environmental text | Highest — every line is specific, personal, irreplaceable | ~30% of total content |
| Generation-expanded | Tier 2 dialogue expansion (write 15, generate 60), routine micro-variations, Tier 3 personality variations | Good — matches voice and tone but lacks hand-crafted specificity | ~40% of total content |
| Template-generated | Tier 3 NPC profiles, procedural district layouts, random NPC names + basic personalities, filler environmental text | Functional — serves as social wallpaper, background noise | ~30% of total content |
The critical constraint: Tier 1 is NEVER generated. FRIEND arcs, MIRROR arcs, contradiction beats, tells — these are always hand-authored. The emotional payload requires authored specificity. Gore is right: emotion doesn't template.
Tooling requirements
The pipeline above requires specific tools. Here's what the content team needs:
1. District Designer (design-time tool)
- Input: Moral texture, cultural group, adversarial structure type, district size
- Output: Skeleton
district.yaml+templates/*.yaml+triangles/*.yamlwith placeholder NPCs - Validates: Triangle structures have minimum members, adversarial pair exists, FRIEND slot defined
- Who uses it: Gestalt + Paula (design phase)
2. NPC Generator (population-time tool)
- Input: Cultural group brief + role slot + tier assignment
- Output: NPC YAML with name, personality, routine, basic relationships
- Validates: Name follows cultural phonological rules, routine uses canonical activities, faction is valid
- Who uses it: Paula (population phase), modders (extending districts)
- Note: Generates STARTING POINT — Tier 2+ always gets human review
3. Line Expander (authoring-time tool)
- Input: Core dialogue lines + voice card + tag taxonomy
- Output: Generated dialogue variants matching voice, mood, and tag patterns
- Validates: Generated lines preserve access tier, trust level, situation context
- Who uses it: Mellanie (Tier 2 expansion)
- Note: NEVER used for Tier 1. Expansion factor: 3-5x (write 15, generate 45-75)
4. Content Validator (continuous tool)
- Input: Full content directory
- Output: Schema validation report (errors + warnings)
- Validates: All cross-references resolve, all pool candidates exist, all triangles have required members, all Tier 1 NPCs have full profiles, bidirectional knowledge consistency
- Who uses it: Everyone, on every commit
- Note: This is Tyre's
make validate-contentat full scale
5. Content Previewer (testing tool)
- Input: District content pack + PC archetype + seed
- Output: Simulated playthrough of dialogue selection, monologue triggers, routine observation
- What it shows: "On this seed, with this archetype, entering this location at this time, the player would see X NPCs, hear Y dialogue, trigger Z monologue"
- Who uses it: Everyone during integration and playtesting
- Note: Evolution of the line previewer (#193), expanded to district-scale
6. Cultural Consistency Checker (validation tool)
- Input: NPC YAML + cultural group brief
- Output: Report of cultural violations (names don't match phonological rules, vocabulary not from substrate, social norms violated)
- Who uses it: Miri (review), content authors (self-check)
The modder pipeline
Modders follow the same pipeline but can enter at any phase:
| Mod Type | Entry Phase | What They Produce | What They Need |
|---|---|---|---|
| New NPC mod | Phase 2 | 1 NPC + pool assignments | NPC Generator + Content Validator |
| New district mod | Phase 1 | Full district content pack | Full pipeline |
| Extension mod | Phase 4 | Additional dialogue lines for existing NPCs | Line Expander + Content Validator |
| New archetype mod | Phase 1 | Global archetype definition + district instances | Full pipeline + archetype schema |
| Cultural mod | N/A | New heritage cluster brief | Cultural Consistency Checker |
The critical principle: modders use the same tools as the core team. No special modding SDK. The content directory structure IS the modding API. The validation tools ARE the modding tools. This collapses the "mod support" development cost to near zero — we're not building two pipelines.
Decision proposal (D-WR-17): Districts are the unit of content production. Each district goes through a 7-phase pipeline (Design → Population → Tier 1 → Tier 2 → Tier 3 → Integration → Playtesting). Six tools support the pipeline (District Designer, NPC Generator, Line Expander, Content Validator, Content Previewer, Cultural Consistency Checker). The same tools serve both core development and modding. Content is ~30% hand-authored, ~40% generation-expanded, ~30% template-generated. Tier 1 is never generated.
Synthesis: The Content Strategy as a System
Let me zoom out and map how all seven answers interact. This is where it gets good — this is where the systems produce emergent variety.
The multiplication table
The full game's content variety isn't additive — it's MULTIPLICATIVE.
TOTAL UNIQUE PLAYTHROUGHS =
PC archetypes (6)
× Starting districts (~50, not all available to all archetypes)
× FRIEND selection (2-4 per archetype per district)
× Hidden network configuration (per-seed role assignment)
× Faction power balance (per-seed)
× Wormhole topology (per-seed)
× Moral texture experience (emergent from the above)
Conservative estimate: 6 archetypes × 30 average district-archetype combinations × 3 average FRIEND candidates = 540 structurally distinct first-district experiences. Before dramatic randomization. Before multi-district play. Before inter-system travel.
The two-friends-compare-notes test passes at this scale not because we randomized everything — but because we randomized the RIGHT things while keeping the authored core rock-solid.
The feedback loops
Here's what makes me excited as a systems designer: the seven components INTERACT.
-
Cultural groups shape moral textures. A Nordic-Baltic district naturally produces complicity (privacy norms protect networks). A Latin American district naturally produces loyalty (patron-client dynamics create competing obligations). The culture isn't decoration layered over the mechanics — it IS the mechanics.
-
Moral textures shape FRIEND arcs. In a complicity district, the FRIEND hides criminal participation. In a loyalty district, the FRIEND hides factional betrayal. In a duty district, the FRIEND hides knowledge of someone in danger. The FRIEND pattern is universal; what the FRIEND hides is determined by the district's moral texture.
-
Archetypes shape randomization. A detective doesn't care which NPC fills the "courier" role slot — they care which NPC has observable tells. A smuggler doesn't care about tells — they care about operational reliability. The SAME randomization (who fills what role) produces DIFFERENT player-facing experiences based on archetype.
-
The content directory enables all of the above. Cultural briefs in
regions/. Archetype definitions inglobal/archetypes/. District skeletons insystems/. Pool configurations in each district. Mod overlays that extend any of these. The directory structure isn't just file organization — it's the game's content API. -
The authoring pipeline scales because districts are independent. No district depends on another district's content. You can build Sova first, ship it, then build Tavros, ship it, then let modders build custom districts. The pipeline's parallel nature means content velocity scales linearly with team size.
The ten decisions
| # | Decision | Domain |
|---|---|---|
| D-WR-11 | Master theme is "knowledge as burden." Per-district moral textures emerge from content configuration, not prescribed labels. | Theme |
| D-WR-12 | 6-8 heritage clusters with Miri-quality regional briefs. Mechanically load-bearing. Districts reference cluster briefs. | Culture |
| D-WR-13 | Universal district skeleton (social sites + hidden network + FRIEND + cultural group + moral texture + archetypes + contested resource). All districts instantiate this skeleton with varying flesh. | Structure |
| D-WR-14 | Content directory supports core/DLC/mod delivery through pack manifests. Cross-district references via canonical_id. Missing references degrade gracefully. | Architecture |
| D-WR-15 | Randomization: "randomize context, author content." Four tiers (Structural/Dramatic/Local/Meta). Authored content is never generated at runtime. | Randomization |
| D-WR-16 | 6 PC archetypes (Smuggler, Detective, Politician, Guardian, Merchant, Civilian). 2-4 per district. Mandatory adversarial pair. Global definitions, local instances. | Archetypes |
| D-WR-17 | Districts as production units. 7-phase pipeline. 6 tools. Same tools for core and mod development. ~30/40/30 authored/expanded/generated split. Tier 1 never generated. | Pipeline |
| D-WR-18 | Content variety is multiplicative, not additive. The systems interact: culture → moral texture → FRIEND arc → archetype experience → randomization → replay value. | Synthesis |
| D-WR-19 | Heritage cluster distribution: 20-25 systems across 6-8 clusters, with blended districts interpolating between parent cultures. | World structure |
| D-WR-20 | The adversarial pair is the minimum content unit: one insider archetype + one investigator archetype per district, seeing the same world from opposing information positions. | Design constraint |
The full game isn't 50 copies of Sova with different wallpaper. It's 50 instantiations of a universal skeleton, each with different flesh — different cultures, different moral textures, different adversarial structures, different contested resources. The systems are the same everywhere. The content makes each place unique. And the randomization ensures that no two playthroughs — even in the same district, with the same archetype — tell the same story.
That's not a content pipeline. That's a story machine.
— Gestalt