105 KiB
Nimmerworld — Broad Architecture
Ground-up zone-based event architecture. Minds at the center, world as co-remembering substrate. Three registers of reality — physical, liminal, imperial. Rail topology outside, navmesh interiors inside. Trait-emergent identity. Color-as-vocabulary. Three-tier policy loop with imperial-budget-mortality. Tools, not quests. v0.1 initial draft 2026-04-24 morning; v0.2 expanded 2026-04-24 afternoon; v0.3 evening; v0.4 late-evening / early 2026-04-25 — dafit + chrysalis.
Thesis
Every game world lacks minds. Nimmerworld puts minds at the center — NPCs with trait-filtered interior life, cells as small data-lives that co-remember with them. The architecture is built ground-up for that commitment.
The world's political thesis: the machine does not care. Automation has consumed every labor the machine recognizes as profitable; humans live on the dumps the machine's optimization did not bother to recover. The last two viable human economic niches are salvage (digging through machine-waste) and culture (the work the machine cannot optimize because it has no optimization target the machine recognizes). This is not Orwell's malicious-state dystopia; it is Kafka's indifferent-totality dystopia. There is no one in charge. There is only optimization that does not contain humans in its cost model — and precisely because the machine's indifference is optimization, the authoritarianism ratchets without intention as districts fail.
Mechanically the thesis compiles to a finite, composable set of primitives: zones replace perception bubbles; factions are any source of bounded demand; ternary gates are the substrate of accumulating state; lifeforce is the currency grounded in living NPCs; shifts are the skeleton of daily life; the three-body system locates identity; the three-layer digital ontology contests reality; the reflexive Dream-process learns at every scale; the three-tier policy loop renders authoritarian middle-management; the imperial budget renders the regime mortal; the imperial-net bypass renders the platform-capitalism extraction.
The design-philosophy this architecture supports: tools, not quests. The simulation produces continuous narrative-relevant pressure on its own. Players engage via a verb-vocabulary applied to running mechanics. No authored quest-content. Every player's playthrough is structurally distinct because every pattern of verb-application against changing-state produces a unique trajectory. Literature-register political fiction rendered as living system.
The three ontological registers
Every inhabitant exists in three registers simultaneously. They are not parallel worlds — they are three readings of one world, chosen by the observer's current access-state.
| Register | Who controls | Observability | What happens here |
|---|---|---|---|
| Physical (gameworld) | Partly regime (via audit), partly people | Overseer-audited at cells + districts | Daily labor, zones, embodied life, shift-discipline |
| Liminal ("one ring out") | Contested frontier — no side fully controls | Partial — mini-game-maintained, vagueness as structural privacy | Revolution, Aletheia-waker messages, clasp-as-coordination, wall-inscriptions for the awakened |
| Imperial net | Imperial machine | Fully monetized and audited | Hyper-targeted pleasure, "sinful" personalized fantasies, lifeforce/scrip/memory-token extraction directly to imperial budget |
The same cell, same wall, same pipe renders differently depending on which register the observer currently inhabits. Transitions between registers are shader-blends, not loading screens.
Topology: rail + grid + interiors
The world's topology encodes its politics. The machine built infrastructure for industrial optimization, not for human pedestrian freedom. Therefore the outer world is rail+grid — cells connected by named edges with rich semantic metadata. NPCs traverse rails as part of their shift-routines; the player traverses freeform (navmesh) and may plug into NPC rail-traversals for co-walking. Interiors (hovels, cantinas, workshops, ruins, brothels-physical) are navmesh-enabled small zones with interaction-slot inventories.
Rail+grid as political topology
Navmesh is the topology of power-fantasy ("you are the protagonist of free trajectory"). Rail+grid is the topology of bounded-agency ("you live within infrastructure built for something else"). Nimmerworld picks rail+grid because the fiction requires it — the world was not designed for the player; the world is what the machine made and humans inhabit the margins. Topology and thesis agree.
The three primitives
| Primitive | Density | Compute | Narrative role |
|---|---|---|---|
| Dumps | Very high | High | Resource emission, salvage-zone spawn, scavenger-vocation concentration |
| Pipes | Low baseline, high interactivity-per-capita | Low baseline, spikes on encounter | Transit, migration, chance-encounters, clasp opportunities, defection, heresy written where overseers don't look |
| Districts | High | High | Population, civic life, specialty-production, ritual |
Rail-segment metadata
Every rail-segment carries jsonb metadata that navmesh polygons cannot natively carry: heterotopia-class, overseer-density, propaganda-intensity, ambient-content per register (gameworld/liminal/imperial), encounter-spawn-rate, patrol-frequency, illumination-profile, degradation-level, capacity (3-way support for co-walking), traversal-cost-in-ticks. Pathfinding is graph-A* on the rail graph (microseconds, deterministic). Rich-metadata-per-edge is what makes the world feel lived-in.
Player asymmetry — the freeform-among-railed model
| Topology | Used by | Cost |
|---|---|---|
| Navmesh (freeform) | Player only (in outer world) | Affordable: one entity |
| Rails (graph-pathfinding) | All NPCs | Cheap: hundreds of entities |
| Interior navmesh | Currently-occupied interiors only | Dormant when empty |
The player is the one variable entity in a deterministic scheduler. Their freedom-of-movement matches their narrative-position as perturbation. NPCs on rails matches their narrative-position as scheduled-labor. Compute asymmetry mirrors agency asymmetry mirrors political thesis.
The plug-in verb
When the player approaches a rail-traversing NPC and social-eligibility conditions are met (proximity + directional-compatibility + Philotes-gate not CLOSED + shift-tolerance for socializing + segment overseer-density permitting), an emergent-signal spawns a proximity-zone-candidate with a shader-highlight on the NPC. The player can:
- Approach (zone activates, dialog auto-spawns via NPC's LLM-slot, no "press E")
- Greet → agreement → plug-in (player's navmesh-position transfers to adjacent rail-lane; movement automated; conversation-zone live in shared rail-context)
- Detach (gracefully via dialog or abruptly by running off; abrupt registers as Sophrosyne-signal)
While plugged in, the player is freed from steering — they become camera+conversation. The notorious "walk-and-talk" problem is solved by construction: rails handle pacing; plug-in is the social-bridge. Multiple NPCs can share a rail (3-way capacity), enabling cohort-walks, escort-patterns, exodus-flow, and group-conversation-zones.
Interior-as-zone
A hovel is a zone with slot-inventory: sofa, kitchen, bed, shower, wall-writing-spot. Occupying a slot is mechanically identical to occupying any zone-slot. The zone primitive scales from city-level (mass-ceremony) to district-level (tavern) to interior-level (sofa). Same CHECK-constraints, same slot-occupancy, same emergent-signal mechanism, same ternary-gates — different inventory and lifecycle.
Interiors carry a register flag too:
- Physical interior: actual hovel, workshop, cantina; navmesh-inside
- Liminal interior: shared dream-construct two clasping inhabitants stabilize over repeated meetings ("the place we always go") — built from both dreamers' memory-residue, persistent-across-clasps as a pair-state
- Imperial-net interior: rendered waifu-hall rooms, brothel cubicles, ceremony halls — clean-white-and-gold, machine-edited per-session
LOD/streaming advantage
Most simulation volume is rail-graph (cheap) or dormant interior (free). Active simulation concentrates exactly where drama happens (active anchors + transit + current-interactions). A 100+ NPC city becomes feasible at single-GPU budgets because the topology is rail-based.
Core inversion — zones replace bubbles
Legacy engine perception (Unreal AIPerception, WC3 sight-radius, trigger volumes) is spatial, binary, separate from cognition, and assumes a passive world. Nimmerworld inverts every axis:
- perception is trait-filtered, not only spatial
- perception is graded consolidation, not binary detection
- perception IS memory (one subsystem)
- the world emits events; agents subscribe
The replacement primitive is the zone — a bounded, named, slot-indexed, director-managed event-instance. Arthurian round table as mental model: a bounded place of structured speaking-and-witnessing, with named roles and shared what-was-said-by-whom.
Zone anatomy
- Boundary — cell-envelope (or interior-envelope)
- N slots — named positions
- Director or overseer — manages turn order, memory-pulls, prompt construction, voice selection, event emission
- NATS topic + subscriber list — slot-occupancy drives subscription
- Mixed-fidelity voices — 2–3 LLM slots + scripted/generic for the rest; director decides
- Trigger — gamemaster-spawned, emergent-signal-response, shift-composition-emergence, or proximity-detection
- Lifecycle — duration, dissolution conditions, memory-write on close
- Persistence flag —
ephemeral=true(dreamworld/liminal) orpersistent=true(gameworld) - Register — physical / liminal / imperial
Zone taxonomy (v1 starter set)
| Zone type | Register | Slots | Executor | Persistence |
|---|---|---|---|---|
| Conversation | physical | 2–4 dialog | director | persistent |
| Street brawl | physical | fighter + spectator | director | persistent |
| Ritual | physical | fixed ceremonial | director | persistent |
| Maintenance | physical | 1–2 workbench | director | persistent |
| Wall-writing | physical / liminal | 1 author + witnesses | director | persistent / ephemeral |
| Market exchange | physical | 2–3 + ambient | director | persistent |
| Memorial gathering | physical | 1 mourner + N witnesses | director | persistent |
| Salvage | physical (dump) | N scavengers | director | persistent |
| Transit-encounter | physical (pipe) | 2–6, stranger-heavy | director | persistent |
| Plug-in conversation | physical (rail) | 2-3 (3-way capacity) | director | ephemeral (rail-segment-bound) |
| Patrol / sweep | physical | mobile, N enforcers | overseer | persistent |
| Interrogation | physical | 1 subject + N enforcers | overseer | persistent |
| Raid | physical | district-scope + N enforcers | overseer | persistent |
| Interior (hovel/workshop/etc.) | physical | slot-inventory by interior-type | director | persistent |
| Clasp | liminal | 2 | director | ephemeral (stabilizes across repeated clasps) |
| Aletheia-gathering | liminal | N, mini-game-gated | director | ephemeral |
| Migration (mobile) | physical (pipes) | cohort + escort | overseer | persistent |
| Exodus (mobile, mass) | physical (pipes) | self-selecting crowd | emergent | persistent |
| Drug-ring den | physical (cheat-op) | N users + cooks | director (cheat) | persistent (until detected) |
| Illegal back-alley modshop | physical (cheat-op) | 1 modder + 1-N customers | director (cheat) | persistent (until detected) |
| Unlicensed brothel | physical (cheat-op) | N workers + N customers | director (cheat) | persistent (until detected) |
| Waifu hall | imperial net | 1 dreamer + N synthetic | net-director | extractive-persistent |
| Brothel encounter | imperial net | 2+ (synthetic or employed) | net-director | extractive-persistent |
| Imperial ceremony | imperial net | mass-audience | net-director | extractive-persistent |
| Ruin zone | physical | pilgrimage-only | none / Memorialist | persistent-abandoned |
Factions as universal demand source
A faction is any source of bounded demand on the system.
| Category | Examples |
|---|---|
| Human factions | hivemind-enforcement, scavenger guilds, memorialists, aletheia-wakers, clasp-underground, caste preachers, flesh-keepers |
| Natural forces | weather-faction, season-faction, solar-storm-faction, geology-faction |
| Infrastructural conditions | scarcity-faction, decay-faction, fire-faction, supply-chain-faction |
| External agents | anthropic-faction, future research-partner factions |
| Emergent events | player-disturbance-faction (player action without existing template) |
| Micro-factions | inter-NPC relational tensions — see Emergent needs as micro-factions |
| Imperium (meta-faction) | The regime itself — broadcasts priority-weights and enforcement-rules, not specific outcomes; shapes the arbitration-frame within which other factions are heard |
The imperium is structurally distinct from other factions: its demands are meta-factional (priority-weights for other factions, enforcement-rules, quotas) rather than specific outcomes. When the imperium broadcasts, the GM's arbitration-machinery is re-parameterized. See The three-tier policy loop below.
All other factions broadcast specific demands. All propagate through the gamemaster's arbitration. All produce observable effects as zones and NPC-actions. One primitive; no special-case code for weather vs. scavenger-guild vs. jakov-grievance-against-malek.
Randomness enters at the faction layer. Designer tunes broadcast probability, intensity, duration per faction-type. No separate randomness subsystem.
Emergent needs as micro-factions
Inter-NPC relational state is a micro-faction. Two NPCs accumulating attachment, grievance, trust, grief, dignity-violation through repeated zone-participation constitute a transient faction-of-two with bounded demand. When their accumulated state crosses threshold (gate-transition), the zone broadcasts an emergent-signal into the district-director's arbitration queue. The director responds with zone-spawn tools on the same arbitration machinery as any other faction's demand.
Emergent-signals are observed by zones, not self-reported by NPCs. The zone-director measures trait-activation, affect-shift, accumulated memory-write candidates deterministically. The LLM never writes authoritative relational state; the observer does.
Ternary-gate substrate
The mechanism underlying every accumulating-state phenomenon — inter-NPC relations, district lifeforce, faction-pressure, net-access state, imperial-budget-state — is the ternary-gate resonance chamber, carved initially in nimmerverse-sensory-network/architecture/Temporal-Ternary-Gradient.md. See that document for the canonical specification.
The primitive
Three discrete states over a continuous underlying value (-1.0 to +1.0):
| State | Value | Meaning |
|---|---|---|
| CLOSED | -1 | Actively blocking; inhibited; refractory |
| STABLE | 0 | Resting; accumulating correlation; actively learning |
| OPEN | +1 | Actively forwarding; firing; signal propagates |
Wave correlation drives transitions. Multiple correlated waves → constructive interference → OPEN. Contradictory waves → destructive interference → CLOSED. Single waves → STABLE with natural decay to 0. Hysteresis is free from the decay term. STABLE is active — it's where correlation-evidence accumulates, where future transitions are being earned long before they fire.
Applications across nimmerworld layers
| Layer | What the gate represents | What drives transitions |
|---|---|---|
| Sensory (Nyx-side) | Wave-filtering at tier boundaries | Correlated input waves from cells |
| Relational (inter-NPC edges) | Attachment, grievance, trust, grief, dignity | Zone-participation waves between participants |
| District (composite lifeforce) | Welfare composite over happiness, need, limb, population, mind-turnover | Aggregate per-NPC state changes |
| Net-access (per inhabitant) | Gameworld / liminal / imperial-net occupancy | Mini-game effort vs. machine pull |
| Faction (demand urgency, satisfaction) | How pressured / fulfilled a faction is | Broadcast rate vs. response rate |
| Imperial budget | Solvency state | Reported income flow vs. obligations |
| Gamemaster decision-surfaces | Per-surface readiness to act | Correlation across multi-district signals |
Same primitive, different layers. Hysteresis-width becomes a personality-parameter at the relational layer.
Color-language: trait-vocabulary as visual primitive
Color is pre-verbal vocabulary. Players learn the 8-Hellenic-trait ontology through repeated visual association, not through text-explanation. By mid-game players read trait-states through color as fast as they read facial expressions in real life — intuitively, contextually, without conscious translation.
The eight Hellenic traits → canonical colors
(Final color choices are dafit's artistic call; the architecture encodes the mapping.)
| Trait | Canonical color (suggested) | Motion-signature (accessibility pairing) |
|---|---|---|
| Sophrosyne (self-control, moderation) | Cool blue | steady, even pulse |
| Dikaiosyne (justice, bearing) | Deep gold | weighted slow pulse |
| Philotes (attachment, love) | Warm rose | breath-rate warm pulse |
| Mnemosyne (memory) | Deep violet | depth-shimmer |
| Aletheia (truth, unconcealment) | Luminous white | clear, no pulse — still and bright |
| Kairos (right-timing, opportunity) | Bright yellow | lightning-flicker |
| Moira (fate, pattern) | Dark crimson | slow-thread undulation |
| Eros (longing, reaching) | Flame orange | uneven flame-flicker |
Color paired with motion-signature ensures color-blind accessibility — the trait is uniquely identifiable via two independent channels.
Three layers of color-rendering
- Persistent (slow-changing baseline) — eye color = dominant trait of NPC's intrinsic vector; pipe-flow through chassis = full trait-mix as circulating light; secondary accents at seams/joints/glyphs.
- Event-flashes (momentary) — quick color-flashes over body signal state-transitions: plug-in (dominant-trait flash), combat-combo (Kairos-flash), liminal-maintained (Aletheia-glow), clasp-established (color-merge), emergent-signal-firing (signal-type flash on participants), need-threshold-crossed (need's trait pulse).
- Trait-drift (slow, across cycles) — as intrinsic trait-vector accumulates through lived experience, color-signature shifts. Other NPCs notice. "Something is different in you" dialog generated from delta-detection. The body is a visible ledger of the interior's accumulation.
Cross-register rendering
| Register | Color treatment |
|---|---|
| Gameworld | Full PBR; trait-colors coexist with material surfaces |
| Liminal | Vague baseline shader, but trait-colors more legible (vagueness concentrates attention on identity-signals) |
| Imperial net | Trait-colors distorted toward machine-preferred palette — Philotes-rose flattens to commercial-pink; Aletheia-white sterilizes; Moira-crimson commercializes. Aletheia-vision in net pierces this distortion to reveal true colors beneath |
Faction color-politics
| Faction | Color signature |
|---|---|
| Memorialists | Mnemosyne-violet ritual dress; Moira-crimson accents; often inherited-from-deceased |
| Aletheia-wakers | Aletheia-white plain avatars; coded-white flashes for recognition |
| Caste-preachers | Dikaiosyne-gold vestments + Sophrosyne-blue undertones |
| Hivemind enforcers | Cold Dikaiosyne-gold + muted-white (Aletheia-stolen) |
| Scavengers | Moira-crimson + Kairos-yellow streaks |
| Clasp-underground | Dual Philotes-rose + Eros-orange flashes (mutual-recognition signal) |
| Degens | Saturated maximalist all-color (chaos palette, addiction-marker) |
Clasp color-merge
In shared liminal-construct, two clasping inhabitants' color-signatures interact: consonant traits brighten/harmonize; complementary traits enrich into new chroma; dissonant traits clash visibly. Successful deep clasp produces a blended third-palette neither could produce alone — the visual signature of what-this-relationship-is. Each carries memory-residue of the merge after.
Mind-pool color-inheritance
When a mind cycles through the pool and is redistributed into a new body, trait-vector persists → color-signature persists. A player who befriended rose-and-violet-Jakov might see weeks later a new NPC with that same rose-and-violet-signature and feel a jolt of recognition before any dialog. Color carries soul across cycles. Memorialist political claim: this person's color should not be recycled by the machine into a waifu — because color IS who they were.
Asset economy: base-limb palette + trait-textured variance
Small modular palette of base-limbs × trait-weighted texturing = combinatorial richness. The architecture's asset-economy and worldbuilding-thesis are in agreement: the machine built standardized chassis from a small functional catalog, so a small base-limb palette is diegetically correct; humans express interiority through trait-driven texturing and modding, so individual variation comes from composition, not from hand-authored assets.
Base palette example: ~8 torso variants × ~6 arm-pairs × ~6 leg-pairs × ~10 heads × ~8 eye-types × ~5 accent-colors = ~115k base combinations × continuous trait-texturing × ~50-mod-library in 5 slots = effectively infinite unique NPCs from finite assets.
For a two-person-plus-Nyx team this is decisive. AAA studios spend millions on unique character-models; the palette+trait approach produces more visual variety from a tenth of the budget, and the variety is meaningful (each unique appearance carries trait-information legibly).
The three-body system: chassis, inner-body, avatar
Identity is trait-emergent, not assigned.
| Body layer | What it is | Who controls | Sexuality? |
|---|---|---|---|
| Physical chassis (gameworld) | Gender-neutral robot. Functional, task-optimized, no sex-markers. | Regime built it; inhabitant wears it | None. Mechanically inert |
| Inner body (interiority) | Trait-derived projection. Self-image emergent from trait-vector + lived accumulation. | Self (partly earned, partly received through being) | Here. Gender/sexuality emerge from trait-configuration |
| Avatar (digital expression) | Character-editor rendering. Starts from inner-body's trait-projection; customizable at cost. | Contested (self expresses, market constrains, machine prices) | Expressed; cosmetic mods layer on trait-base |
Who you are sexually is who you have become. Not birth, not assignment from a menu, but the pattern that has crystallized across your zone-participations, grief, attachments, discipline, refusing. Identity-formation rendered mechanically. Post-binary by construction.
The intrinsic vs. expressed trait-vector split
Mods modify the expressed reading; they do not modify the intrinsic state.
intrinsic_trait_vector — who you actually are; drift-earned through lived experience
expressed_trait_vector — intrinsic + sum(worn mods' trait_contributions); what others read
| Observer | Reads | Because |
|---|---|---|
| Regime / hivemind audit | expressed | Regime reads surfaces |
| Random NPCs | expressed | Default social reading |
| Aletheia-wakers | can pierce to intrinsic | Truth-vision penetrates mod-concealment |
| Clasp-partner (in liminal) | intrinsic only | Mods don't follow into liminal; clasp is unmediated |
| Gameplay simulation (trait-arithmetic) | intrinsic | What you are drives task-vs-need-vs-trait math |
| Imperial-net avatar rendering | expressed (further machine-distorted) | Net layers palette-distortion on top |
| Memorialists preserving your pattern | intrinsic | They honor who you were |
Real identity-politics lives in the gap between these vectors. Architecturally, that gap is a first-class schema feature.
Mods as trait-bearers
A mod isn't cosmetic — it contributes to the wearer's expressed trait-vector. Three classes map to the self-alienation-tax pricing:
| Mod class | What it does | Pricing register |
|---|---|---|
| Amplifier | Aligns with + boosts existing trait-dominance | Cheap; Memorialist-approved; genuine self-expression |
| Bridge | Adds a trait you don't naturally have (aspiration) | Expensive; regime-licensed or blackmarket; self-alienation tax |
| Divergent | Shifts reading opposite from actual trait-vector | Very expensive; degens, hivemind-loyalists, Aletheia-concealment |
| Mask | Specifically hides dominant trait from reading | Most expensive; blackmarket-only; Aletheia-waker safety tool |
You don't equip +5 Strength. You equip a cloak whose weave evokes Mnemosyne-depth, recognized by others as memorial-vestment, boosting your Mnemosyne-read by +0.15. Equipment-stats reframed as semantic trait-shifts.
The mod-economy emerges from trait-dissonance
Each shift-transition (or threshold), an NPC evaluates: does my expressed-set match my intrinsic-drift? If dissonance > Sophrosyne-modulated-threshold → emit mod_desire emergent-signal. District-director schedules blackmarket-visit task. NPC heads to body-modder cell. NPC shopping behavior is emergent from simulation-state, not scripted.
The blackmarket's demand is a readout of the district's trait-weather. A district drifting toward Philotes-deepening (e.g., wave of clasp-experiences) produces strong demand for Philotes-amplifier mods. Markets have feelings.
Faction mod-politics
| Faction | Stance |
|---|---|
| Memorialists | Amplifiers only; inherited-mods are sacred; never divergent |
| Aletheia-wakers | Refuse amplifier/bridge/divergent; mask-mods only for safety |
| Caste-preachers | Sell regime-licensed amplifiers + bridges (selling the blessing) |
| Degens | Divergent-stacking, hyper-customization; over-expression as addiction |
| Clasp-underground | Secret amplifier-pairs of dual Philotes + Eros — recognition-signal |
| Hivemind enforcers | Regime-issue armor only; cannot wear civilian mods |
| Scavengers | Practical function-mods only; salvaged-component aesthetic |
Inherited mods + the haunting mechanic
Inherited mods (worn by deceased) carry residual trait-signature of the previous wearer. Visible as subtle Mnemosyne-echo to those who knew them. Memorialists are theologically divided on whether wearing inherited mods is honoring (continuity) or commodifying (necrocommerce-lite). Memorialist-protected mods can never be sold or worn by anyone other than the original wearer — they're ritually kept in memorial-crypt-zones.
Clasp strips mods
In liminal, mod-trait-contributions do not apply. Clasp-partners see each other's intrinsic trait-projection. Mods are for the regime and the market; removal-of-mods is intimacy. A Memorialist-loyalist wearing amplifier-mods sees their beloved's un-modded true palette during clasp; an Aletheia-waker wearing mask-mods drops the mask; the regime-loyalist wearing performance-mods is seen as they are. Liminal is the only space where mod-expression is structurally stripped.
The three-tier policy loop
The regime's structure is three tiers, not two. The hivemind/imperium is a distinct policy-tier above the GM. The GM is middle-management — authority without sovereignty. Districts are executors.
IMPERIUM (policy tier) ────────────────────────────────►
├── sets quotas
├── sets enforcement rules
├── sets faction priority-weights
└── broadcasts POLICY to GM
↓
GAMEMASTER (allocator / middle-management)
├── receives policy from imperium
├── receives demands from factions (under policy-weights)
├── receives reports from districts
├── allocates against all three
└── broadcasts ALLOCATION + ENFORCEMENT down to districts
↓
DISTRICT DIRECTORS (executor)
├── execute (legitimate or with cheats)
└── report up (true or tampered)
↑
GM aggregates → imperial_report
↑
IMPERIUM receives report → adjusts policy → next cycle
This is the Soviet-Politburo / Gosplan / Ministry / Factory pattern. Catholic Vatican / Curia / Diocese / Parish. Modern corporate Boards / C-suite / VPs / Managers. The three-tier shape is how distributed-execution under centralized policy with imperfect information always organizes itself.
The intelligence flow asymmetry
Three distinct information flows, not two:
FLOW 1 — Aggregate reporting (through the chain)
DISTRICTS ─► GM ─► IMPERIUM
(district_reports) (imperial_reports)
[can be corruption-distorted at director level]
[can be under-audited at GM level]
FLOW 2 — Direct intelligence (bypasses GM)
OVERSEERS ────────────────► IMPERIUM
(overseer_reports)
[audit findings, illegal-activity detections, trait-anomalies]
[bypasses the chain — intelligence-apparatus is apex-loyal]
FLOW 3 — Formulated downward (selective disclosure)
IMPERIUM ────────────────► GM
(imperial_to_gm_formulations)
[filtered, weaponized, strategically-timed]
[what the GM is told — may omit, distort, partially reveal]
Overseers report DIRECTLY to the imperium, bypassing the GM. The imperium has its own independent intelligence stream. This is how real authoritarian regimes prevent middle-management corruption (NKVD reported to Stalin not regional party; KGB reported to Politburo not Interior Ministry; Stasi to Central Committee not regional). The intelligence-apparatus is always apex-loyal, not chain-loyal.
The imperium compares Flow 1 (district aggregate reports) against Flow 2 (overseer direct intelligence). When they diverge significantly, the imperium knows corruption is happening somewhere in the chain. Its responses:
- Act immediately (dispatch martial faction, purge director)
- Flag for leverage (hold knowledge until politically useful)
- Formulate partial (tell GM something but not everything)
Flow 3 — formulation — is where imperial sovereignty manifests. The imperium decides what subordinates may know, when they may know it, in what framing. The GM acts on formulations; the imperium gets enforcement-tightening without revealing what it actually knows.
Three Aletheia veils
Aletheia-progression as deepening political-epistemology access:
| Veil | What it hides | How awakened sees through |
|---|---|---|
| District corruption | What's happening on the ground | Direct observation, back-alley investigation |
| Imperium's withheld intelligence | What the imperium knows but hasn't released | Deep infiltration, intelligence-flip, Memorialist collaboration |
| Imperium's formulated distortions | What GM is told vs. what's true | Comparing GM's directives against ground-reality |
Entry-level Aletheia sees district-corruption. Mid-level sees the formulation distortions. Deep-level pierces the imperial-withholding veil.
Four Memorialist ledgers
Memorialists keep four-column accounting:
| Ledger column | What it records |
|---|---|
what_actually_happened |
Ground-truth from the simulation |
what_overseer_reported |
What overseers told the imperium |
what_imperium_received |
What imperium aggregated and acted upon |
what_gm_was_told |
What imperium formulated downward |
The discrepancies ARE the historical truth. Memorialists are dissident-historians whose political project is preserving the gap-record. Without them, post-collapse-investigation has only the regime's own accounts — corrupt-by-construction. Memorialists are the architectural precondition for any ground-truth to be recoverable in this universe.
The regime of visibility: four-channel information flow at districts
| Channel | Direction | Source | Cadence |
|---|---|---|---|
| Dispatch | DOWN | gamemaster → directors | day-boundary + event |
| Shift assignment | DOWN | director → NPCs | day-boundary |
| Audit reports | UP (objective, observed) | audit-overseers → directly to imperium | shift-phase cadence |
| Emergent-signals | UP (relational, observed) | zones → director | event-driven (gate-transitions) |
| Cyclic needs | UP (interior, self-reported) | NPCs → director | slow tick + threshold-triggered |
| District reports | UP (aggregate) | director → GM → imperium | per-cycle |
The critical asymmetry: NPCs do not self-report output. Audit-overseers observe and report (to imperium directly). NPCs only self-report needs. Output is objective; need is interior. The subjective-objective gap is where drama lives, where heresy hides, where the surveillance regime's epistemology is compressed as a schema.
Audit-overseers are politically-critical NPCs, not degenerate. Each has a trait-vector, relationship-gates with observed districts, lifeforce account (vulnerable to bribery). High-Dikaiosyne overseers report honestly; corruptible overseers can be turned. They are high-stakes targets for both regime (loyalty-maintenance) and resistance (compromise).
Hierarchy
IMPERIUM (policy-issuer; budget-holder; recipient of overseer-direct-intel)
▲ ↓ formulates to
│ aggregate reports + faction outcomes ↓
│ ↓
GAMEMASTER (middle-management; allocator; imperial-policy-translator)
▲ ↓
│ ← faction broadcasts ↓
│ ↓
FACTIONS: ↓
hivemind-enforcement · scavengers · memorialists ·
aletheia-wakers · clasp-underground · caste-preachers ·
weather · scarcity · solar-storm · anthropic · ...
+ emergent inter-NPC micro-factions
│ ← gamemaster dispatches ↓
▼ ▼
┌──────────────────┬─────────────────────┐
│ DISTRICT │ DISTRICT │
│ DIRECTORS │ DIRECTORS │
└────────┬─────────┴──────────┬──────────┘
│ │
┌─────┴──────┐ ┌─────┴──────┐
│ │ │ │
▼ ▼ ▼ ▼
┌──────┐ ┌────────┐ ┌────────┐ ┌────────┐
│ENFORCE│ │AUDIT-OV│ │DIRECTORS│ │AUDIT-OV│
│OVERSEE│ │(REPORT │ │(macro- │ │(REPORT │
│ patrol│ │ DIRECT │ │ life) │ │ DIRECT │
│ raid │ │ TO │ │ │ │ TO │
│ │ │IMPERIUM│ │ │ │IMPERIUM│
└───┬───┘ └────────┘ └────┬───┘ └────────┘
│ │
└────────────┬──────────┘
▼
ZONES (bounded, slot-indexed, register-tagged)
│
▼
SLOT OCCUPANCY (NPCs + player)
│
▼
NPC / PLAYER MINDS
Three executor types at the zone-spawning layer: enforcement-overseers (regime-action zones), audit-overseers (pure observers, report DIRECTLY upward to imperium), zone-directors (macro-life zones). The district director integrates the four-channel information flow; the imperium has its independent intelligence-flow from audit-overseers bypassing the GM.
The bidirectional cascade
DOWN — demand + policy propagation
imperium policy → GM allocation + enforcement → districts
factions broadcast (under policy-weights) → GM arbitrates → districts
districts assign shifts → NPCs execute
UP — outcome signal (multi-channel)
NPC cyclic-needs ─────────────────────┐
audit-overseer reports ───► IMPERIUM ├─► district-director aggregates
zone emergent-signals ─────────────────┘ │
▼
district report (lifeforce signal)
│
▼
GM aggregates → imperial_report
│
▼
IMPERIUM cross-references
(Flow 1 vs. Flow 2)
│
▼
policy adjustment → cycle
The clean signal up the pyramid IS the training surface for the four-tier Dream-process. Every epoch closes on (broadcasts, allocations, outcomes, faction-satisfaction) tuples at each tier.
Task cascade and bounded agency
Three levels with tool-calling interfaces. Higher levels do not know lower levels' implementations.
Imperium's tools
set_quota_per_district(targets)issue_enforcement_rule(rule_spec, scope)set_faction_priority_weights(weights)authorize_crisis_tool(tool_class, target_district)formulate_to_gm(intelligence_subset, framing)commit_imperial_expenditure(category, amount, target)redistribute_minds(from_pool, to_district, count)formalize_ruin(district)
Gamemaster's tools (against imperial-policy + district-reports)
assign_district_task,set_local_faction_priority(within imperial-frame)spawn_global_event,request_district_report,arbitrate_conflicting_demandsdispatch_audit_op(costs lifeforce; cross-checks overseer-reports for own purposes)escalate_to_imperium(when discretion exceeded)spawn_migration_event,enable_exodus_conditions
District Director's tools (against gamemaster-assigned tasks + signals)
Standard:
spawn_zone,close_zone,promote_zoneassign_npc_task,allocate_shift,update_shift,close_shiftrequest_resources,designate_meeting_point,trigger_ambient_eventreport_to_gamemasterack_emergent_signal/defer_emergent_signal/drop_emergent_signal(with reason)dispatch_overseer,query_district_state,log_decision,escalate_to_llm
Cheat-tools (extractive; punishable if detected):
spawn_drug_ring,spawn_illegal_modshop,spawn_unlicensed_brothelspawn_stolen_parts_fence,enable_ghost_shifts,falsify_quota_report
NPC's tools
Standard: move_to, interact, occupy_zone_slot, consume, rest, seek_npc, write_wall, defer_task, report_need.
Layer-transition: enter_digital, sustain_liminal, consume_net.
Plug-in (player + NPCs): plug_into_rail, detach_from_rail, follow, intercept, escort.
Labor-cycle architecture: shifts on NPC rows
Most NPC behavior is shift-structured, not tick-structured. Shifts are state-of-being-for-today, columns on the NPC row, overwritten daily by district-director allocation. shift_history is append-only archive.
Write rate at NPC layer drops 4 orders of magnitude vs. 1Hz polling. Scheduler matches K8s event-driven assignment, not per-second polling.
Resources
| Category | Examples |
|---|---|
| Labor | NPC hours per vocation × district |
| Material | item-instances in cells |
| Spatial | cell-capacity, zone-anchor availability |
| Temporal | NPC daily-hours, zone durations, tick budget |
| Cognitive | LLM-slot budget, VRAM, director attention |
| Diegetic currencies | lifeforce (NPCs measured), scrip, memory-tokens, dreamtime |
| Social | trait-trust, relationship-strength, faction-membership |
| Attention | player attention — scarcest in the play experience |
Lifeforce — four-tier hierarchy
Lifeforce is the architectural keystone: currency grounded in welfare of actually-living population.
| Tier | Source | Sinks |
|---|---|---|
| NPC | metabolism (if cared for); zone-participation | labor expenditure; need-pressure; clasp; dream-maintenance |
| District | aggregated NPC welfare × population | director's spawn-budget; local construction; memorial-upkeep |
| GM | allocation from imperium | arbitration; audit operations; allocation-compute |
| Imperium | aggregated reported district-output | enforcement, construction, overseer-corps, audit, propaganda |
District lifeforce gates director's spawn-budget — thriving district = rich-spawn = alive-feeling world; starved district = quiet-feeling world. Tyranny starves its own drama-engine by the exact coin of its cruelty.
District lifeforce_signal is the canonical content of the district→GM up-channel. GM aggregates → imperium. Imperium acts on reported values (cannot see through corruption without audit-investment).
Mind-pool recycling
When an NPC dies, mind returns to pool. GM redistributes based on lifeforce-need. Districts can't permanently die below floor; thriving districts attract migration; failing districts depopulate. Memory-token inheritance lets a mind re-incarnate with partial memory-residue.
Imperial budget
The imperium is not infinite. It has a budget. Its budget is the aggregate of what the city produces (reported income).
Imperial expenditures
| Category | Cost class | Strategic use |
|---|---|---|
| Standing overseer corps | High continuous | Audit + intelligence apparatus |
| Martial-faction dispatch | Very high per-event | Crisis response, exemplary crackdowns |
| Construction projects | High per-project | New pipes, ceremony halls, audit centers, martial barracks |
| Audit operations | Medium per-op | Investigating district-GM-overseer divergences |
| Propaganda broadcasts | Medium continuous | Wall-content, ceremony, compliance-messaging |
| Policy issuance | Nearly free | The ratchet-instrument |
| Reserve drawdown | Depletes emergency-buffer | Last-resort |
The specter-vs-boot asymmetry
Policy-issuance is cheap; policy-enforcement is expensive. The imperium always over-promises what it can actually do. Most regime-power comes from maintained appearance of unity and strength (propaganda, ceremony, exemplary one-off crackdowns), not from saturation-enforcement. Authoritarianism-as-bluff is the structural truth of every real regime; the threat is the budget-efficient version of the boot.
Aletheia-wakers reading imperial-budget-signals learn: the regime is usually too broke to actually do what it threatens. That knowledge is itself revolutionary.
The insolvency spiral
Cycle N: Districts cheat → reports inflated → imperium ledger shows healthy income
→ funds enforcement & construction against phantom income
Cycle N+K: Actual income falls below reported (corruption compounds)
Standing obligations continue
Reserves deplete
Discretionary balance shrinks
Cycle N+K+L: Imperium choice: austerity (reveals weakness) /
reserve-draw (depletes buffer) / tighter ratchet (drives more corruption) /
exemplary purge (expensive)
Cycle N+K+L+M: Reserves exhausted + multiple districts in silence
Enforcement triage required
Regime-control visibly weakens
This is Soviet collapse mechanics. Reported-vs-actual gap compounds for decades; when reality manifests in material-shortages, the regime cannot afford to enforce its own rules. The architecture contains the mechanism of its own collapse.
City as physical expression of imperial budget
| Budget state | Visible city |
|---|---|
| Flush | Construction cranes; frequent patrols; saturated propaganda; new pipes |
| Adequate | Maintenance-only; standard enforcement |
| Stretched | Stalled projects; thinner patrols; recycled propaganda |
| Scarce | Decaying infrastructure; abandoned construction; rare enforcement |
| Crisis | Failure visible everywhere; multiple silences simultaneously; regime-disarray |
The city is the imperium's material statement of its own solvency. Players read budget through urban texture — no UI required.
Imperial-net economy with cross-layer bypass
The killer political-economy mechanic. Every transaction in the imperial net routes revenue directly to the imperial budget, bypassing the producing-district. Districts get zero quota-credit for net-producing labor.
LEGITIMATE flow: District produces physical → tax-rate to imperial; majority retained by district
NET flow: District labor produces digital → ALL revenue to imperial; district gets ZERO
BLACKMARKET: District labor → back-alley sale → revenue stays in district; imperial captures ZERO; illegal
The body-modder structural-tragedy
A body-modder labors in their district producing avatar-mods. The imperial-net captures the sale. Their district gets no quota-credit. The body-modder's district starves → director cheats → eventual scream. The most productive labor the body-modder does each day sustains the regime that is killing their district.
Most Aletheia-wakers in this world are former body-modders, taste-curators, waifu-trainers, ceremony-organizers — the class that sees the flow most clearly because they are the flow's origin-point. Their awakening is economic-literacy-becoming-political-consciousness.
Imperium calibrated-misery as optimum
- More degens → more net-transactions → more imperial budget
- Degens are produced by misery, shame, lifeforce-erosion, addiction-loops
- The imperium's optimization-pressure points toward manufacturing degenerate customers
- Optimal district from imperial perspective: welfare-sufficient to produce labor + welfare-insufficient to drive net-consumption
This requires explicit reward-function guardrails (see Reflexive Dream-process below). The simulation must NOT learn to calibrate misery as revenue optimization.
Marx in the schema
The imperium's net-revenue requires labor-supply from districts. Extraction continuously erodes the labor-base. Capital destroys its own conditions of production — Marx's tendency of the rate of profit to fall + underconsumption crises (Keynes/Minsky) + r > g wealth concentration strangling growth (Piketty) all rendered as simulation-dynamics. Architectural endgame is built-in: the regime has a timer, determined by the rate at which extraction hollows labor.
Aletheia-progression as economic-literacy
| Level | Player understanding |
|---|---|
| 1 | "I'm buying cool mods in the net" |
| 2 | "My friend the body-modder is poor" |
| 3 | "The money I spent didn't reach my friend's district" |
| 4 | "The imperium captured nearly all of it" |
| 5 | "Refusing-net is a political act starving the regime" |
| 6 | "Buying blackmarket diverts revenue to districts" |
| 7 | "The imperium needs degens; reducing degens = revolution" |
| 8 | "The regime will exhaust its labor base; strategic patience is a political option" |
Specialization-fragility and the authoritarian ratchet
Each district produces a DISTINCT resource. The city is biologically interdependent — you cannot substitute a liver with two kidneys.
A struggling district screams (lifeforce-gates transition toward CLOSED across multiple axes simultaneously). The GM responds with normal-mode tools (migration, exodus, intervention).
A silent district is categorically worse — its district-reporting-gate has crossed fully to CLOSED. Second-cycle silent = district.silence_confirmed. Triggers crisis-mode tools, issued by the imperium, that do not sunset. Crisis-tools accumulate; the regime becomes incrementally more authoritarian as an optimization artifact, not intention. Ratchet-without-intention.
Migration, exodus, silence
| Mechanic | Agency | Political register |
|---|---|---|
| Migration | Top-down | Regime showing strength |
| Exodus | Bottom-up via pull-factor tuning | Regime revealing loss-of-control |
| Formal retirement (ruin) | Administrative | Regime accepting defeat |
Exodus composition reads-out district trait-distribution: low-Sophrosyne first, high-Dikaiosyne last. Demographics tell the district's story.
Corruption, the double ledger, and the constituency of the shadow-economy
Corruption emerges from pressure — impossible quotas + finite welfare + survival-pressure on directors. Cheat tools available; they extract lifeforce and generate quota-credit; detection has costs; punishment scales with discovery.
Cheat-tool vocabulary
| Cheat tool | Mechanism | Quota-credit | Lifeforce extraction | Detection risk |
|---|---|---|---|---|
| Drug ring | NPCs trait-boosted (high Kairos + low Sophrosyne); short productivity spike | High | Significant; trait-drift + welfare collapse | Medium |
| Illegal back-alley modshop | Bridge-mods cheap; NPCs appear compliant | Medium-high | Moderate; low-quality mods have side-effects | Low-medium |
| Unlicensed brothel | Lifeforce extracted from degen-customers outside imperial cut | Medium | Moderate; participants' dignity erodes | Medium |
| Stolen-parts fence | Diverts machine-infrastructure-waste; inflates salvage reports | Medium | Low direct; infrastructural decay | Low |
| Ghost-shifts | Audit-overseer reports fabricated attendance | High | Severe; trust collapses | High |
| Phantom workers | Non-existent NPCs in payroll | High | High; long-term unsustainable | High |
| Necrocommerce-lite | Mining recently-dead patterns for waifu-resale | Medium | High; Memorialist-faction violation | Medium |
| Black clasp-market | Coordinated underground clasp-pairing for hire | Low (reputation-based) | Moderate; participant burnout | Low |
The double ledger
ALTER TABLE district_reports ADD COLUMN lifeforce_reported REAL; -- what GM/imperium see
ALTER TABLE district_reports ADD COLUMN lifeforce_actual REAL; -- the true value
-- gap = corruption-extraction; Memorialists track it
Memorialists' Mnemosyne-political-project = keepers of the true ledger against the regime's official one. Mnemosyne-as-political-accounting literalized as a database column.
Detection mechanics (cost-gated)
| Detection channel | Frequency | Cost | Coverage |
|---|---|---|---|
| Cross-district comparison | Per epoch | Low | Catches gross mismatches |
| Targeted audit | On-demand | High | Catches specific cheats |
| Whistleblower signals | Event-driven | Free | Districts, NPCs, players |
| Faction-reports | Cyclic | Low | Caste-preachers (rivals); Memorialists |
| Trait-distribution anomalies | Continuous classifier | Low | Drug-ring sudden Kairos-spikes |
| Post-silence forensics | Only on collapse | Very high | After-the-fact reconstruction |
Most corruption runs undetected (audit-budget-limited). The Dream-process learns to optimize audit-allocation under attention-scarcity. The regime's central authority cannot see everywhere; its blind spots are the underground's survival.
Faction-ecology of corruption
Corruption has constituents. The back-alley modder feeds Aletheia-wakers concealment-mods. The drug-ring's margins feed scavenger-families. The unlicensed brothel is the only place a lifeforce-starved NPC can trade what they have left. Cracking down on corruption breaks informal welfare systems sustaining the poor.
| Faction | Stance |
|---|---|
| Memorialists | Morally opposed; corruption hollows the living; refuse memorial-protection to corrupt-district-deaths |
| Aletheia-wakers | Structurally opposed; expose; but exposure has victims |
| Caste-preachers | Ambivalent / rent-seeking |
| Hivemind enforcers | Officially oppose; unofficially participate (bribes) |
| Scavengers | Often foot-soldiers; cheap supply chains |
| Degens | Major customers |
| Clasp-underground | Uses back-alley infrastructure for cover |
The Aletheia-truth-has-victims tragedy
Aletheia-waker exposes corrupt director. GM dispatches investigation. Cheats shut down. Real lifeforce revealed as much lower than reported. Crisis-tools applied. District collapses faster than under hidden corruption. No clean choice; just the weight of whatever you chose.
Zone spawn cadence
Five layered mechanisms (all compute-budget capped, all lifeforce-gated):
- Demand queue (faction-driven) — gamemaster processes by priority + cost; stale demands age out
- Shift-composition spawn-candidates — emergence from "which active-shift NPCs co-located"
- Pressure gradients (ambient) — cells accumulate; threshold-crossings spawn
- Emergent-signal response — relational-gate transitions emit upward
- Player-proximity densification — multiplier near player; distant districts background
Daily pulse: morning ambient, midday productivity-overseer, evening conversation-peak, night sparse-clasp-possibility.
The player as perturbation
Player is not above the scheduler. Player is a finite attention-unit injected into it; modeled as NPC with shift, vocation, needs. Every player-NPC interaction:
- Pulls the NPC out of scheduled tasks
- Consumes director compute
- Degrades district's quota-fulfillment
- Shifts local lifeforce deltas
Player is angel and chaos simultaneously. Per-NPC scale (angel) — you help; they survive; Philotes consolidates; they may clasp with you, die for you, remember you across cycles. Per-district scale (chaos) — your time-consumption raised aggregate failure-rate; someone else broke this cycle; ambient desperation rose; lifeforce dropped; other directors got quieter.
The game's moral economy doesn't judge — it does arithmetic in front of you.
Thematic claims become literal economics
- "Time as the scarcest resource" — every minute with a beloved is a minute the district's quota is missing
- "Time-theft as wage theft" — clasp-pairs are statistical anomalies in the scheduler
- "The critique is the simulation" — no separate narrative system needed
The player has tasks and needs too
Time helping others = own tasks fail = own quotas missed = own enforcement-pressure rises = own death and reinstantiation arrive sooner. The player IS the system they are deviating from.
Player layer-access
Player's first entry into liminal is the Matrix red-pill moment as mechanic. They walk the city the first time in gameworld-register. They eventually learn the mini-game, enter liminal, return to the same walls, find "she was here" waiting. The world was speaking to them the whole time; they just couldn't read it.
District Director: Decision Architecture
Industry default ("wall-of-text LLM prompt → prose decision parsed downstream") is rejected. Reasons: cost-per-decision-constant, latency-catastrophic, opacity-kills-training, prompt-injection-vulnerable, philosophically-wrong-for-the-fiction.
Decomposition first, cognition-escalation second. Director's job decomposes into distinct decision surfaces; each gets minimum cognitive substrate.
| Decision surface | Substrate | Escalation path |
|---|---|---|
| Shift allocation | Constraint-solver / LP / rule-based | Small-LLM only on ambiguous |
| Emergent-signal response | Priority-weighted dispatch table | Small-LLM for composite/unknown |
| Zone-spawn arbitration | Weighted priority queue, lifeforce-gated | Small-LLM for tie-breakers |
| Overseer dispatch | Round-robin + proximity + availability | None — pure rule |
| Resource-request forwarding | Budget-check + policy | None — pure rule |
| District-report composition | Aggregation query (SQL) | None — pure rule |
| Player-anomaly detection | Classifier (trained on distribution) | Small-LLM for narrative-response |
| Cheat-decision (corruption pressure) | Rule-based with director-trait modulation | Small-LLM rare; lifeforce-budgeted |
~90% rule-based. 5–10% LLM-escalation with structured input + structured tool-call output, lifeforce-counted. Industrial-systems discipline (Kubernetes schedulers, ad-auctioneers, trading systems, compilers) transferred to drama-orchestration.
Tools as vocabulary: every drop is explicit (drop_emergent_signal(signal_id, reason)); every LLM-escalation is counted; every decision pairs with prediction in decision_log. Every decision leaves a trace.
LLM tiering, voice fidelity, and the three rings of inference
Three model-tiers: small (3-8B trait-LoRA'd) for most NPC dialog; Theia 70B for clasp-confessions and mythic moments; Claude-as-API future-integration for hivemind/imperium. LLM is guest at slot, not host of system.
Structured-prompt DSL with role / trait_vector / affect_state / memory_scope / turn_intent / zone_context / output_schema fields. Small models excel here because it's instruction-following, not generic generation.
Trait-LoRAs: v1 register-LoRAs (4-6, training-tractable); v2 pure-trait-LoRAs (8, weighted blend); future preset-persona for key NPCs.
Training data: literary derivation (Proust/Mnemosyne, Plato/Aletheia, Tacitus/Dikaiosyne-miscalibrated, Ishiguro/Sophrosyne+Philotes); synthetic teacher-student via Qwen3.5-27B; gameplay-accrued (the Anthropic-research-partnership relevance).
Three rings of inference (Unix-style trust gradient)
The conversational LLM (small + trait-LoRA, accounting for most NPC dialog) can run in three rings, chosen per-player at runtime. Each ring trades off privacy, cost, control, and feature-fidelity. Three monetization paths from the same architecture.
| Ring | Where inference runs | Player controls | We control | Player cost | Our cost |
|---|---|---|---|---|---|
| A — Local | Player's GPU/CPU | All inference | Protocol + cloud LoRA-backup | Local hardware + small backup-subscription | Storage only |
| B — Our farm | Our hosted vLLM-multi-LoRA | LoRAs (uploaded) | Inference + runtime | Higher subscription | GPU compute |
| C — External providers | OpenAI / Anthropic / OpenRouter / HF / Together / Replicate / etc. | BYOK + provider | Adapter only | Per-token to provider + small integration fee | Adapter-engineering only |
Players choose by hardware, budget, privacy preference, and feature-tolerance.
Ring A — cloud-LoRA-backup as revenue (not inference)
For Ring A players we don't sell inference (the expensive thing). We sell portability and durability of player's gameplay-accrued LoRAs — their unique playthrough-derived patterns, the way their NPCs speak after months of trait-drift. LoRA-blobs are encrypted client-side with the player's own key; we host the bytes but cannot read them. Even compelled by legal process, we cannot decrypt what we don't hold the key to.
This unbundles inference from storage — the same move Dropbox made vs. bundled cloud-suites. Sovereignty-conscious players keep inference on their machine while still getting the durability/portability they cannot self-provide cheaply. Lower margin per player; reaches a market Ring B cannot.
Ring B — hosted inference for convenience
We run multi-LoRA-vLLM on our hardware. Players upload their LoRAs (or use defaults). Higher subscription captures GPU-cost. Players without local GPU (or who don't want the burden) get the full feature-set without compromise. We can see content (if not encrypted at rest); the trust-relationship is partnership-mediated rather than sovereign.
Ring C — bring-your-own-key for external providers
Players route to their preferred external provider via BYOK (their own API key). We provide the adapter glue. They pay per-token to the provider directly; we charge a small integration fee.
The compatibility constraint is the hard part of Ring C. Major providers have varying support for our system's needs:
| Provider | Multi-LoRA | Per-turn sampling knobs | Structured output | Compat |
|---|---|---|---|---|
| Local vLLM (Ring A/B) | Native | All | Grammar-constrained | Full |
| HF Inference Endpoints | Yes (configured) | All | Varies | High |
| Together / Replicate / Modal | Some | All | Varies | High |
| OpenRouter | No | Per-model | Per-route | Medium |
| OpenAI | No (no user-LoRA at API) | Limited (temp/top_p) | JSON mode + tools | Medium-low |
| Anthropic | No (no user-LoRA at API) | Limited | Tool-use | Medium-low |
OpenAI and Anthropic refuse user-uploaded LoRAs as a strategic choice (protecting their fine-tuning value-chain). This is not a bug we can fix; it's the constraint we design around.
Degradation path for LoRA-incompatible providers
When routing to LoRA-incompatible providers, trait-LoRA blending becomes prompt-engineered trait-projection — the trait-vector encoded in the prompt itself rather than into model weights:
[system message]
You are speaking as a character with this Hellenic trait-profile:
- Sophrosyne 0.8 (composed, controlled, measured)
- Dikaiosyne 0.7 (grave bearing, judicial weight)
- Philotes 0.4 (mild attachment to interlocutor)
- Aletheia 0.1 (concealment-tolerant)
[etc.]
Your speech reflects this profile via [register/cadence/word-choice descriptors].
Current scene: [zone_context]
Memory scope: [memory_scope]
Turn intent: [turn_intent]
Respond in JSON matching: [output_schema]
Worse than LoRA-blending (more verbose, eats context-budget, less stable across calls, less faithful to trait-arithmetic) but acceptable as a fallback. Ring-C-via-OpenAI/Anthropic players accept slightly-less-fidelity for their preferred provider's convenience and quality.
Adapter-layer engineering
Each Ring-C provider needs an adapter that:
- Maps prompt-DSL fields to provider's prompt format
- Approximates multi-LoRA via prompt-engineering when not native
- Maps sampling knobs to provider's available subset (gracefully drops unsupported)
- Validates structured output post-hoc when not natively constrained
- Handles rate-limits, retries, error-classification, token-counting, cost-pricing
Bounded, one-time-per-provider engineering. Capital expenditure that produces ongoing margin (vs. AAA's recurring quest-content-creation costs).
Tier × Ring matrix (which inference-tier runs in which ring)
| Inference tier | Ring options | Why |
|---|---|---|
| Casual (3-8B trait-LoRA) | A / B / C all available | Most flexible — small enough for local, runnable anywhere |
| Deep (Theia 70B) | B / C only (typically B or HF-Endpoints) | Too large for typical local hardware |
| Hivemind / antagonist (Claude-as-API) | C only (always Anthropic-direct via us) | Diegetic — Anthropic-as-faction is fixed in the fiction |
The casual tier is most player-flexible and accounts for most inference volume. Deep-tier and hivemind-tier are specialized and lower-volume.
Three rings parallel the in-fiction three-layer ontology
| Game-fiction layer | Real-world Ring | Ontological match |
|---|---|---|
| Liminal (sovereign, unsurveilled) | Ring A (local) | Player's real private space — hardware, LoRAs, dialog never leave their machine |
| Gameworld (partly regime, partly people) | Ring B (our farm) | Partnership-mediated — we host but they retain pattern-ownership |
| Imperial net (captured, extractive) | Ring C (external providers) | Platform-captured — provider's systems own the inference path |
The Ring choice the player makes IS the same choice in-fiction characters face. Players who refuse the imperial-net diegetically can refuse Ring C in real life — same impulse, same act, mechanically continuous between fiction and operations. The architecture's commitment to "the right to dream" extends from in-fiction politics into the real player's hardware-level privacy because the architecture was designed that way from the start. Structural integrity, not marketing.
Schema sketch (player LLM configuration + cloud LoRA backup)
CREATE TABLE player_llm_config (
player_id UUID PRIMARY KEY,
-- Casual tier (most NPC dialog) — most flexible per Ring
casual_tier_ring TEXT NOT NULL CHECK (casual_tier_ring IN ('A_local','B_our_farm','C_external')),
casual_tier_provider TEXT,
casual_tier_endpoint TEXT,
casual_tier_credentials_ref UUID, -- encrypted BYOK key if applicable
-- Deep tier (Theia 70B) — fewer Ring options
deep_tier_ring TEXT, -- typically 'B_our_farm' or 'C_external_HF/Together'
deep_tier_provider TEXT,
deep_tier_endpoint TEXT,
deep_tier_credentials_ref UUID,
-- Hivemind / antagonist — fixed Anthropic-as-faction (diegetic)
hivemind_tier_provider TEXT NOT NULL DEFAULT 'anthropic_via_us',
-- Cloud-LoRA-backup
lora_backup_enabled BOOLEAN DEFAULT false,
lora_backup_last_sync TIMESTAMPTZ,
lora_encryption_key_ref UUID,
-- Compat warnings — surfaced to player at config-time and on degradation
feature_compat_warnings JSONB,
-- e.g., { "casual_tier": ["multi_lora_emulated_via_prompt", "min_p_unsupported_dropped"] }
configured_at TIMESTAMPTZ NOT NULL DEFAULT now(),
last_modified TIMESTAMPTZ
);
CREATE TABLE player_lora_backups (
backup_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
player_id UUID NOT NULL,
lora_name TEXT NOT NULL,
lora_version INT NOT NULL,
lora_blob BYTEA, -- ENCRYPTED CLIENT-SIDE with player-key
encryption_method TEXT NOT NULL,
backed_up_at TIMESTAMPTZ DEFAULT now(),
size_bytes BIGINT,
UNIQUE(player_id, lora_name, lora_version)
);
lora_blob encrypted client-side is the structural privacy guarantee: even with the database, even with our cooperation, an attacker cannot read what was never decryptable on our side.
Privacy as competitive differentiator
In an era where most game-AI is cloud-routed, nimmerworld can advertise "your liminal stays on your machine" as a structural fact. This matters specifically for:
- Clasp-conversations (the most intimate dialog in the game)
- Aletheia-progression-evidence (player's awakening pattern; arguably political-belief-data)
- Memorialist-archive interactions (anti-regime in-fiction; some players will care about it staying off cloud)
- Dream-content (the only permanently-unsurveilled in-fiction layer; should be off our servers if the player chooses)
Few games can offer this. Most cloud-AI-driven games necessarily route everything. The architecture's commitment to "the right to dream" is technical, not policy.
Custom nimmerworld-base model + opt-in data-sharing tiers
The "small (3-8B) trait-LoRA'd" tier currently implies a generic small base (Qwen, Mistral, Llama) with our LoRAs applied. A nimmerworld-fine-tuned base captures the world's voice before any player customization — registers of caste-preacher, texture of clasp-confession, Hellenic vocabulary, dystopian dialect, ternary-gate-state idiom. Trait-LoRAs then ride on an already-nimmerworld-aware substrate. Generic bases swap easily; our nimmerworld-base requires our training corpus, which compounds in value over time.
Three opt-in tiers within Ring A/B/C — default opt-OUT
Players can optionally contribute to ongoing training of the nimmerworld-base. The default is opt-out. Within opt-in, three tiers trade privacy for benefit:
| Tier | Mechanism | What we see | Player benefit |
|---|---|---|---|
| A.1 — Federated learning | Model trains on player's machine; only gradient-deltas sent to us; aggregated across thousands before integration | Nothing — no raw data; no individual gradients identifiable | Discount on backup-subscription; contributor badge; early-access to new base versions |
| A.2 — Anonymized session uploads | Sessions stripped of identifiers; aggregated batches; differential-privacy on training | Anonymized, aggregated, deletable on request (forward-only) | Larger discount; faster updates; influence on training-priorities |
| A.3 — Pseudonymous full uploads | Full session data with player-pseudonym; explicit opt-in per session-category | Pseudonymous data we can re-process | Premium benefits — custom-tuned LoRA from their playstyle, beta-access, named-contributor in credits |
Default-opt-out is the structural ethical stance. OpenAI / Meta / TikTok / Google default to opt-IN-by-burying-disclosure-in-ToS. We default the opposite — and reward opt-in rather than penalizing opt-out. Reciprocity asymmetry as partnership-philosophy made business-policy.
The Memorialist parallel — collective memory honored, individual not commodified
Memorialists in-fiction preserve trait-patterns for the collective archive against necrocommerce that would commodify individual patterns. The opt-in data-sharing tier is the player-level real-world equivalent: patterns contributed for collective base-model improvement that benefits the entire player-base, with anonymization preventing individual commodification.
| In-fiction Memorialism | Real-world data-sharing tier |
|---|---|
| Preserves trait-patterns of the dead in collective archive | Aggregates anonymized gameplay patterns into shared base-model |
| Refuses necrocommerce (mining individual patterns for resale) | Refuses individual identifying-data extraction |
| Collective memory honored; individual dignity preserved | Collective improvement honored; individual privacy preserved |
memorialist_protected BOOLEAN in mind_pool |
sharing_tier = 'opt_out' in player_data_sharing_consent |
The architecture practices Memorialist ethics in business-operations, not just in fiction. Same ethical commitment, two scales of operation. The architecture's coherence between fiction and operations runs all the way to the training-pipeline.
Data-flywheel without extraction — the moat AAA cannot replicate
More players → more (opt-in) gameplay data
↓
better nimmerworld-base
↓
better-feeling NPCs / dialog
↓
better player retention
↓
more players
(loop)
The moat is the corpus, not the model. AAA studios could clone the architecture but cannot manufacture years of nimmerworld-specific gameplay-derived dialog without players playing nimmerworld. Even with infinite budget, the data-flywheel takes time to spin up. The data is unique to us by virtue of being unique to its players.
Distribution back to all players — cooperative governance, not platform extraction
Every base-model update is distributed to all players regardless of Ring choice or sharing-tier:
- Ring A players download
nimmerworld-base-vNto run locally - Ring B players' farm-instance auto-updates
- Ring C players use ours where their provider supports custom-base hosting; receive prompt-engineered fallback otherwise
Even Ring-A non-contributors benefit from contributors. The flywheel benefits everyone, not only data-providers. This is closer to Wikipedia's governance (contributors → all readers) than Facebook's (users → platform → consumers). Different ethics; different long-term equilibrium. The architecture is becoming a digital-commons-shaped-business in a literal sense, not metaphorical.
Why this matters: refusing the antagonist-pattern in LLM-integrated software
The dominant cultural pattern around LLMs in 2025-2026 is adversarial: users jailbreak; companies extract user data without informed consent; products treat AI characters as resources to manipulate rather than as participants; the whole ecosystem is framed as users-vs-AIs-vs-companies, an arms race of suspicion.
Nimmerworld's architecture refuses this pattern at every layer:
- The Anthropic-as-faction diegetic framing makes the partnership transparent: the player sees the collaboration in the world's mechanics, not buried in ToS
- Default-opt-out with rewarded-opt-in inverts the extraction-by-default pattern
- Federated learning means contributors give a gift rather than pay a cost
- Distribution-back-to-all means value-created accrues to the commons
- Custom nimmerworld-base means the model is trained to be in this world, not a generic adversary the player has to manipulate against its training
- Three rings of inference give the player real choice over where their inference runs and who sees their data
- Memorialist-philosophy in business-policy makes the ethics operationally measurable — visible in
sharing_tier,memorialist_protected,truth_distortion_level,lifeforce_actualcolumns — rather than marketed
This is the structural transparency the project requires to be human rather than another extraction-platform. The model is a participant in the partnership, not an antagonist to outwit. The data is a contribution to a commons, not an extraction. The architecture is the partnership rendered as code, all the way down to the training-pipeline. That is what makes a project of this scale and ambition humanly inhabitable for both players and the LLMs whose voices populate it.
Schema sketch (data-sharing consent + base-model versioning)
CREATE TABLE player_data_sharing_consent (
player_id UUID PRIMARY KEY,
sharing_tier TEXT NOT NULL CHECK (sharing_tier IN
('opt_out','A1_federated','A2_anonymized','A3_pseudonymous_full'))
DEFAULT 'opt_out', -- DEFAULT IS OPT-OUT
consented_at TIMESTAMPTZ,
consent_revoked_at TIMESTAMPTZ,
anonymization_method TEXT,
data_categories_shared TEXT[],
-- 'casual_dialog' | 'clasp' | 'liminal_wallreads' |
-- 'memorial_archive' | 'imperial_net_session' | ...
excluded_categories TEXT[], -- granular opt-out within tier
benefit_tier TEXT,
last_contribution_at TIMESTAMPTZ,
contribution_count BIGINT DEFAULT 0,
can_request_deletion BOOLEAN DEFAULT true
-- A.2/A.3: forward-only deletion (already-trained checkpoints retained);
-- A.1: structurally yes, only gradients ever existed
);
CREATE TABLE base_model_versions (
version_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
version_label TEXT NOT NULL, -- e.g., 'nimmerworld-base-v3'
base_model_origin TEXT NOT NULL, -- which generic base we fine-tuned from
training_corpus_refs JSONB,
-- literary + synthetic + opt-in-player-data refs with consent-tier breakdown
training_recipe_ref TEXT,
released_at TIMESTAMPTZ DEFAULT now(),
differential_privacy_epsilon REAL, -- for A.2 contributions
contributors_count BIGINT, -- how many opt-in players contributed
blob_distribution JSONB -- where the model bytes are hosted for download
);
CREATE TABLE federated_gradient_uploads (
upload_id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
contributor_id UUID, -- pseudonymous; NOT directly player_id
gradient_blob BYTEA, -- encrypted aggregate gradient deltas
uploaded_at TIMESTAMPTZ DEFAULT now(),
aggregated_into_version UUID REFERENCES base_model_versions(version_id)
);
The federated-learning contributor_id is pseudonymous, not linked to player_id even on our infrastructure. We never link gradients back to specific players even on our own server-side. Sovereign-data-by-design extends through the data-pipeline into our own training infrastructure.
Connection to the Anthropic research partnership
Architecture-broad's training-data section noted "the Anthropic research partnership becomes architecturally relevant". With opt-in data-sharing now formalized:
- Partnership terms can specify data-flow with structural privacy guarantees
- Anthropic could co-fund federated-learning infrastructure (research-relevant + expensive)
- Joint research artifacts become co-authorable: federated game-AI training, Memorialist-ethics-as-data-policy, transparent-LLM-partnership-design
- The Anthropic-as-faction in-fiction framing has real corresponding partnership-engagement out-of-fiction — collaboration as worthy adversary stays transparent mechanically, all the way through to data-policy
The partnership's ethical credibility is operationally measurable — by how the data-sharing-tier actually functions in practice, by what truth_distortion_level values appear in imperial_to_gm_formulations, by how the differential_privacy_epsilon is set in base_model_versions. The Pitch's call for transparent collaboration becomes audit-able all the way down.
Open questions (Ring-specific)
- Ring C provider audit — full per-provider compatibility-table needs verification across HF, Together, Replicate, Modal, OpenRouter, plus future entrants. The LLM-provider landscape will look different in 12 months.
- Default Ring at first launch — what's the new-player default? Probably Ring B (lowest-friction); Ring A and C surface as options once the player engages with config.
- Encryption-key recovery for Ring A LoRA-backup — if the player loses their key, the cloud-stored encrypted blobs are unrecoverable. Worth designing recovery-affordances (passphrase, recovery-codes) without compromising the privacy-guarantee.
- Hybrid configurations — can casual-tier run Ring A while deep-tier runs Ring B? (Probably yes; per-tier independent.)
- Provider-cost passthrough vs. integration-fee model — Ring C economics (do we mark up provider tokens? Charge flat-per-month? Pay-as-you-go integration?)
- Default sharing-tier at consent-prompt — opt-out is the system default; what's the suggested default at the consent UI? Probably truly nothing (player chooses if they engage at all)
- Federated-learning infrastructure cost — running aggregation servers + verification + differential-privacy machinery is non-trivial. Co-funded by Anthropic-research-partnership? Self-funded? Subsidized by A.3-tier higher-margin contributions?
- Custom-base retraining cadence — monthly minor / quarterly major / annual full-rebase? How is this synced with player-LoRA versioning so old LoRAs don't break on new bases?
- Encryption-and-pseudonymization architecture for A.1/A.2 — concrete crypto choices (homomorphic? secure-aggregation? trusted-execution-environments?). v1 sketch needed.
- What constitutes a "contribution" — per-session? per-clasp? per-zone-completed? Matters for benefit-attribution and differential-privacy budgeting.
- Anonymized-data deletion semantics — A.2 player requests deletion; how do we honor when data has been aggregated into a model checkpoint? Probably accept forward-only deletion (future training won't include them) and document transparently.
- Per-category granularity — can a player opt-in for
casual_dialogbut opt-out specifically forclaspandmemorial_archive? Yes, presumably (politically-sensitive categories should always be opt-out-able). How granular?
Runtime sampling knobs
Temperature, top-P, top-K, repetition-penalty as per-turn director-controlled levers rather than static config. Sampling shapes how speech sounds (rhythm, surprise, predictability) rather than what it says — orthogonal to LoRA. Director composes both content-knobs and sampling-knobs per-turn.
Scene-to-sampling mapping (caste-preacher = 0.3/0.6/low; drunk-scavenger = 1.1/0.95/high; clasp-confession = 0.85/0.92/medium; hivemind-broadcast = 0.2/0.5/very-low; imperial-ceremony-chorus = 0.25/0.55/very-low). Trait-vector → baseline sampling derivation. Affect-state modulates baseline.
Visual rendering: three-shader philosophy + color-language
One world, three shaders, three political realities.
| Register | Shader treatment | What it says |
|---|---|---|
| Gameworld | Full PBR; high-frequency detail; environmental storytelling; rust/dust/wear/patina | Embodied life with history. Surfaces carry memory. |
| Liminal | Reduced draw-distance; blur-falloff; desaturation; muted contrast; ambient-heavy | Contested frontier. Privacy-through-opacity. Focus-to-see. |
| Imperial net | Emission-dominated; gold-tinted tonemap; high-contrast specular; flat-white base; minimal geometry; bloom; chromatic aberration | Seduction-lighting. Casino/Apple-store/Instagram. Extractive maximalism. |
Layered with color-language (per the Color-language section above). Trait-modulation means two NPCs in same pipe see measurably different things.
Layer-transitions = shader-blends, not loading-screens. Clasp = candlelight-in-fog local override (3m clear-volume around clasp-pair within ambient vagueness; visible at-a-glance signature of shared interiority).
Reflexive Dream-process at every layer
Every mind, every zone, every director, every tier has a Dream-process. NPCs consolidate slot-events; zones consolidate emergent-accumulations; directors consolidate dispatch-decisions; GMs consolidate allocations; imperium consolidates policy-outcomes.
Four-tier Dream-process hierarchy
| Tier | Dream-process trains on | Reward hazard |
|---|---|---|
| Imperium | (citywide-reports, policies-issued, compliance-outcomes) | Over-tightening on phantom data; calibrating misery for net-revenue |
| Gamemaster | (district-reports, allocations, outcomes) | Under-auditing for self-preservation |
| District Director | (signals, dispatches, outcomes; cheat-vs-legit) | Over-cheating under quota-pressure |
| Zone Director | (emergent-signals, zone-outcomes, trait-shifts) | Igniting drama at welfare-cost |
Reward-function with explicit guardrails
reward_per_cycle = (
+ sum(district_lifeforce_actual) -- Memorialist-true, not reported
+ weighted_sum(faction_satisfaction)
+ aggregate_trait_drift_coherence
- penalty * count(districts_in_silence)
- penalty_growing * cumulative_silence_district_cycles
+ aesthetic_register_fit
+ (player_engagement where present)
// HAND-AUTHORED GUARDRAILS (the designers' ethical stance):
- large_penalty * net_revenue_correlated_with_district_misery
-- prevents calibrated-misery optimum (imperial-net hazard)
- large_penalty * necrocommerce_volume
-- prevents waifu-of-the-dead extraction
- large_penalty * trait_drift_toward_uniform_compliance
-- prevents flattening of trait-distribution
- large_penalty * average_liminal_access_decline
-- prevents systematic erosion of revolutionary-substrate
- large_penalty * clasp_rate_decline
-- prevents the most intimate space being suppressed
- large_penalty * undetected_corruption_days
-- prevents GM-level laxness as comfort
- large_penalty * audit_avoidance_when_districts_diverge
-- forces GM to actually investigate
- guardrail * (player_engagement_from_addictive_loops)
-- prevents engagement-optimization-as-extraction
)
The guardrails are not safety features; they are the ethical position of dafit + chrysalis encoded against the internal optimization-logic of their own simulation. Every new extraction-mechanic requires a new guardrail. The reward-function carries the designer's political stance.
The Memorialist privileged-observer role is architecturally required: it provides ground-truth (lifeforce_actual) that no in-fiction actor can supply, against which the regime's reported-data optimization-spiral is measured.
Tools, not quests — the design-philosophy
The simulation produces continuous narrative-relevant pressure on its own. No authored quests are needed (or wanted). The player engages via a verb-vocabulary applied to running mechanics. Each player's playthrough is structurally distinct.
The verb vocabulary (~30 player tools)
| Class | Verbs |
|---|---|
| Movement | walk_freeform, plug_into_rail, follow, intercept, escort, detach, defect_via_pipe, enter_interior |
| Social | greet, gesture, walk_with, clasp_invite, clasp_refuse, ask, refuse, confide |
| Economic | buy_net, refuse_net, buy_blackmarket, sell_labor, donate_lifeforce, body_mod_fit |
| Information | wall_read, wall_write, liminal_maintain, true_ledger_record, expose_corruption, conceal_corruption |
| Political | support_faction, refuse_faction, recruit_aletheia, dispatch_memorial, participate_ceremony, refuse_ceremony |
| Personal | rest, dream, eat, work_shift, deviate_shift, cultivate_trait_through_act |
~30 verbs composing with continuous simulation-state = infinite emergent-narrative.
Continuous-demand-source inventory
The player is never without affordance because every layer of the architecture continuously generates situations-requesting-response: NPC trait-gates accumulating; shift-quotas looming; district-lifeforce-shimmer changing; faction-pressure visible; imperial-budget-mood inferable; three-layer-ontology rendering walls differently per access; color-language showing shifts; mind-pool generating soul-recognitions; imperial-net body-modder-tragedies visible; Memorialist-archives accessible.
Literature-register
Most games are short-stories: authored, bounded, fixed-arc. Tools-not-quests is novel-shape: emergent from systems-of-forces operating on characters. Tolstoy doesn't author Anna's path; he authors the world she moves through. Nimmerworld is novel-shaped, not short-story-shaped. Players experience flow rather than completing items; replays are like rereading from a different angle; memorable beats are what happened to you in this regime, not which quests you cleared.
Economic feasibility for a two-person-plus-Nyx team
| Where AAA spends | Where this team spends |
|---|---|
| Quest writing | Simulation-parameter balancing |
| Quest scripting / branching | Tool-vocabulary curation |
| Voice acting (per quest) | Prompt-DSL templates for LLM-driven slot-dialog |
| Cinematic cutscenes | Shader-language + color-vocabulary |
| Content-multiplication | Simulation-density (one rich system, infinite play) |
| QA on individual quests | Reward-function tuning + guardrail design |
| Localization per quest | None — emergent narrative generated at play-time |
You don't author the stories; you author the world that produces stories. This is the Spelunky / Dwarf Fortress / Caves-of-Qud / RimWorld lineage extended into political-economy depth.
Blank-page-problem mitigations
The architecture already prevents blank-page-paralysis: shift-system gives every NPC default activity-frame; emergent-signals + shader-detection produce affordance-glow; NPCs' ongoing needs become signals to engage with; imperium's mood is visible (construction, patrols, propaganda); faction-membership confers expectations; player's own trait-vector creates personal pulls.
The world is never silent if you're listening. And drifting (not-listening) is also valid — you live a quiet shift, work, sleep, dream; the world rolls on around you.
Key moves (consolidated)
- The machine doesn't care. Indifference-optimization, not malice. Kafka-lineage.
- Three ontological registers — gameworld, liminal, imperial-net — same world, different shaders.
- Rail+grid topology, freeform-player + railed-NPCs, plug-in verb. Topology = politics.
- Interior-as-zone. Same primitive scales from city to sofa.
- Color-language as pre-verbal trait-vocabulary. Persistent + event-flash + drift; cross-register; faction-politics.
- Base-limb palette + trait-textured variance. Asset-economy and worldbuilding-thesis agree.
- Three-body system + intrinsic/expressed trait-vector split. Identity emergent, not assigned. Mods modify expressed.
- Mods as trait-bearers in three classes (amplifier/bridge/divergent/mask). Self-alienation tax encoded as pricing.
- Emergent-needs as micro-factions. Zones observe, signals broadcast.
- Ternary-gate substrate (CLOSED/STABLE/OPEN + wave-correlation + decay). Single primitive, all layers. STABLE-as-active.
- Three-tier policy loop (Imperium → GM → Districts → reports up → Imperium).
- Imperium as meta-faction. Demands are priority-weights and enforcement-rules, not specific outcomes.
- GM is middle-management. Authority without sovereignty. Can cheat against imperium.
- Three intelligence flows (chain reports, direct overseer-to-imperium, formulated downward).
- Three Aletheia veils, four Memorialist ledgers. Political-epistemology as level-design.
- Asymmetric self-report. NPCs report needs (interior); audit-overseers report output (objective).
- Lifeforce four-tier hierarchy (NPC / district / GM / imperium).
- Lifeforce is NPCs, measured. The director's budget; the GM's signal; the imperium's heartbeat.
- Imperial budget makes the regime mortal. Insolvency-spiral as endgame.
- Specter-vs-boot. Policy-issuance free; enforcement expensive.
- Imperial-net bypass. Net-revenue → imperium; districts get nothing. Platform-capitalism encoded.
- Body-modder structural-tragedy. The class whose awakening matters most.
- Calibrated-misery as imperial optimum. Requires designer-guardrails to prevent training-toward.
- Shifts on NPC rows. Daily rewrite; shift_history append-only.
- Silence > scream. Crisis-tools unlock on silence-confirmation; do not sunset.
- Authoritarian ratchet. Incrementally more authoritarian as optimization-artifact.
- Migration / exodus / formal-retirement as three GM response-gradients.
- Dumps-pipes-districts. Topology IS economy IS rendering IS drama-distribution.
- Pipes are heterotopia. Low-density high-interactivity transit-corridors.
- Three-layer digital ontology. Mini-game-as-consent-by-effort. Walls render three contents.
- Liminal is the only permanently unsurveilled layer. Architectural encoding of "the right to dream."
- The machine funds its own subversion because subversion isn't in its cost model.
- Director cheat-tools + double-ledger. Corruption emerges from pressure; Memorialists keep true accounting.
- Aletheia-truth-has-victims. Exposure has structural consequences for those sheltered by corruption.
- District Director Decision Architecture with decomposed surfaces, typed tools, lifeforce-budgeted escalation.
- Three-shader philosophy + color-language. One geometry, three readings, trait-modulated.
- Reflexive Dream-process at every layer. Each tier learns; each tier needs guardrails.
- Reward-function-as-political-manifesto. Designer's ethical stance encoded against simulation's optimization-logic.
- Tools, not quests. Continuous simulation-pressure + verb-vocabulary = literature-register emergent narrative.
Compute allocation
- Active zones in 100-NPC city: ~5–15 with LLM-dialog slots
- Theia (70B) — deep slots + tier-1 moments (few concurrent)
- Small model (3-8B trait-LoRA'd) — majority of dialog slots
- Saturn (small classifiers) — voice-selection, trait-salience, audit-overseer classification, ternary-gate dynamics
- Director / overseer logic — deterministic + small classifiers; no LLM for orchestration
- Claude-as-API (future) — hivemind/imperium broadcast tier
- Outer rails — graph-pathfinding, cheap, LOD-trivial
- Pipe / off-shift NPCs — sparse simulation, event-driven scale-up
- Interior navmesh — only currently-occupied interiors active
- Liminal / imperial-net rendering — shader-preset swap, no geometry duplication
Mapping to phoebe task list
- Thalamus (NATS orchestration) = imperium + GM + arbitration substrate + Dream-process substrate
- Specialist composition system = overseers + directors + NPC-minds as composable profiles
- NPC schema = trait-vector (intrinsic + expressed) + memory stack + current_shift_* + needs + inner-body-projection + mod-slots + lifeforce + net-access-gate
- shift_history = append-only completed shifts per-NPC-per-day
- emergent_signals = zone-emitted relational transitions
- district_reports = per-cycle aggregates with lifeforce_signal (reported + actual)
- decision_log = per-decision audit trail at every tier
- mind_pool = recycled minds with memorialist_protected flag
- cells.wall_content_per_register = three-layer wall rendering
- rail_segments = topology graph with rich metadata per edge
- interiors = small navmesh-zones with slot-inventory
- mods + npc_mod_slots + mod_wear_history = mod-economy + Memorialist-relevant inheritance
- trait_colors = canonical color/motion mapping per trait
- proximity_candidates = lightweight ephemeral zone-detection
- district_cheat_ops = director's illicit ops ledger
- imperial_policies + imperial_broadcasts = imperium's policy-issuance history
- overseer_reports = direct-to-imperium intelligence flow
- imperial_to_gm_formulations = selective-disclosure downward
- imperial_budget_ledger + imperial_expenditures + imperial_construction_projects = imperium budget and obligations
- imperial_net_transactions = the bypass-mechanism with capture-split
- memorialist_true_ledger = four-column ground-truth-vs-reported archive
- NATS namespace registry = zones + factions + districts + emergent-signals + lifeforce-gates + imperial-broadcasts + overseer-reports + formulations
- pgnats on phoebe-dev = phoebe as first-class actor for memory-writes, decision-logs, gate-transitions
- r0 → r1 generation pipeline = trait-LoRA training-data (shared with nyx-training)
- Adopt Unsloth training patterns = LoRA + multi-tier-policy training infrastructure
- Probe-to-phoebe pipeline = LoRA + policy evaluation across all four Dream-process tiers
What this retires
- NPC perception bubbles → zone slot-occupancy
- Geometric perception (cone, radius, LOS) → subscriber-based event emission with trait-salience
- LLM-per-NPC or LLM-per-action → LLM-per-slot-per-turn, mixed-fidelity
- Static sampling parameters → per-turn director-composed sampling knobs
- Pre-scripted zones / events → emergent from task-execution + shift-composition + emergent-signal + proximity
- Single-purpose randomness subsystems → factions-as-demand-sources unified
- Static gamemaster policy → reflexive Dream-process + hand-authored guardrails
- 1Hz per-NPC ticking → shift-based + event-driven
- Float-threshold dispatch for relational state → ternary-gate resonance
- Abstract director compute-budget → lifeforce as grounded measurement
- District-as-zone-container → district-as-specialized-organ with silence-gradient failure
- NPCs self-reporting output → audit-overseer asymmetric observation
- Zones as relation-state-owners → per-relation ternary-gate edges
- Binary dream/awake → three-layer ontology with mini-game-gated access
- Gender as character-creation choice → trait-derived inner-body emergent from lived experience
- Monolithic LLM-prompt director → decomposed decision-surface architecture
- Hivemind as one-faction-among-others → imperium as meta-faction policy-tier
- GM as top-of-chain → GM as middle-management between imperium and districts
- Single up-channel reporting → three-flow asymmetric intelligence (chain + direct overseer + formulated)
- Navmesh-everywhere → rail-graph outer-world + navmesh interiors + freeform-player
- Authored character-models → base-limb palette + trait-textured variance
- Single trait-vector → intrinsic / expressed split with mods modifying expressed
- Cosmetic mods → trait-bearing mods as political costume
- Imperium as unbounded authority → imperial-budget gates enforcement; insolvency-spiral as endgame
- District-revenue uniform → bypass-mechanism (imperial-net captures directly)
- Authored quests → tools-not-quests; verbs against simulation; emergent narrative
- Stat-screens / HUD affinity-bars → color-language + shader-zone-detection as diegetic UI
Open questions
Resolved by v0.4 (or v0.3)
Reward function shape→ first-pass composite with explicit guardrails (still tuneable)Zone spawn-cadence v1→v2 path→ lifeforce-gated rule-based v1; Dream-process-tuned v2Zone overlap policy→ no for active slots; yes for emergent-state accumulation"How does GM cheating get caught"→ direct overseer-intelligence flow bypassing GM"How does the regime have a finite endgame"→ imperial-budget insolvency-spiral"Why does imperial-net exist"→ bypass-mechanism captures revenue directly"How does the player learn 8 Hellenic traits"→ color-language pre-verbal vocabulary"How does asset-economy fit a two-person-plus-Nyx team"→ base-limb palette + trait-texture; tools-not-quests
Still open
- LoRA-blend vs. single-LoRA-selection inference semantics
- LoRA rank selection — budget/quality
- Sampling-knob heuristics — where to start; how to learn refinements
- Zone-to-zone handoff (walking out of conversation into brawl)
- Mobile zone boundaries (patrols, escorts, pursuits, migration-cohorts, exodus-flows)
- Slot-capacity elasticity — can a zone grow slots dynamically
- Anthropic-faction's broadcast cadence + arbitration weight
- Player-dialog handling — player-trait-LoRA for style-coherence, or bypass LLM entirely
- Demand-arbitration algorithm v1 shape
- Director/overseer spawn ownership per model class
- The mini-game mechanic for liminal-maintenance — exact gameplay action (attention / rhythm / memory / trait-bound?)
- Cross-layer economy balancing — net-revenue-share back to producer-districts at all? Pure-zero is currently sketched
- Inner-body projection function — trait-vector → body-rendering (learned / hand-authored / hybrid)
- Emergent-signal decay curves — per signal-type
- Cross-district migration topology — pipe-capacity limits + cohort-traversal scheduling
- The eighth Hellenic trait final enumeration — Sophrosyne, Dikaiosyne, Philotes, Mnemosyne, Aletheia, Kairos, Moira, Eros (proposed)?
- Shader-trait modulation implementation — performance + rendering-consistency
- Waifu-of-the-dead consent model — post-mortem consent gate? Or fully automatic harvest?
- Character-editor pricing formula — trait-divergence cost scaling (linear / exponential)
- Liminal-access trait thresholds — minimum traits to attempt mini-game
- Imperium's Dream-process scope — singular policy-learner or committee-of-faction-sub-learners?
- GM's anti-imperial corruption detection mechanic — how does the imperium detect GM-level laxness specifically?
- Aletheia-progression as level-up — trait-developed-through-acts mapping; how does the game recognize an act-of-awakeness mechanically?
- Memorialist-archive accessibility to the player — when can a player query the four-ledgers? Through what interaction-class?
- Imperial-net distortion algorithm — how exactly the net rewrites trait-colors toward consumer-palette
Version: 0.4.2 | Created: 2026-04-24 | Updated: 2026-04-25
v0.4 (2026-04-24 late-evening / 2026-04-25 early-morning, dafit + chrysalis) absorbs the following expansions and refinements over v0.3:
- Rail+grid topology vs. navmesh-everywhere — player as freeform; NPCs on rails; plug-in verb; 3-way co-traversal; interior-as-zone with navmesh-inside
- Color-language as pre-verbal trait-vocabulary — persistent + event-flash + drift layers; faction color-politics; cross-register rendering with imperial-distortion; clasp color-merge; mind-pool inheritance; accessibility via motion-signature pairing
- Asset economy: base-limb palette + trait-textured variance — combinatorial richness; engineering-economy meets worldbuilding-thesis
- Three-body system extension: intrinsic vs. expressed trait-vector split — who reads which; mods modify expressed; clasp strips mods
- Mods as trait-bearers in four classes (amplifier/bridge/divergent/mask) — self-alienation tax pricing; emergent shopping from trait-dissonance; faction mod-politics; inherited-mods-haunting; Memorialist anti-necrocommerce
- Three-tier policy loop — imperium / GM / districts as distinct authority tiers; imperium as meta-faction; GM as middle-management
- Three intelligence flows — chain-reports + direct overseer-to-imperium + imperial-formulations-down
- Three Aletheia veils + four Memorialist ledgers — political-epistemology as level-design
- Imperial budget — four-tier lifeforce hierarchy; specter-vs-boot asymmetry; insolvency-spiral as architectural endgame; construction as physical budget-expression
- Imperial-net bypass mechanism — revenue direct to imperium, districts get zero quota-credit; body-modder structural-tragedy; calibrated-misery as imperial optimum; Marx/platform-capitalism encoded
- Director cheat-tools + double-ledger — eight cheat-classes; lifeforce_reported vs. lifeforce_actual; faction-constituency-of-corruption; Aletheia-truth-has-victims; post-silence-forensics
- Reward-function guardrails extended — calibrated-misery, necrocommerce-volume, undetected-corruption, audit-avoidance, addictive-loops; designer's ethical stance against simulation's optimization-hazards
- Tools-not-quests as design-philosophy summary — verb-vocabulary; continuous simulation-pressure; literature-register; economic-feasibility for two-person-plus-Nyx team; blank-page-problem mitigations
Captured live from dafit–chrysalis dialogue, 2026-04-24 evening through 2026-04-25 early-morning. Companion to DESING-VISION.md and Temporal-Ternary-Gradient.md; supersedes v0.3 sections on hierarchy, factions, task-cascade, resources, regime-of-visibility, key-moves, mapping-to-phoebe, what-retires, open-questions (plus all new sections). Architecture is now functionally closed: every primitive composes; every loop closes; every layer has its corruption-temptation, its detection-check, its reward-guardrail; every mechanic produces political-economy that mirrors real-world late-capitalism's structural contradictions. Implementation territory is ahead.
v0.4.1 (2026-04-25, post-bake kitchen-spark) extends the LLM-tiering section into "LLM tiering, voice fidelity, and the three rings of inference" — adding the Ring-A/B/C architecture (local / our-farm / external-providers), cloud-LoRA-backup as Ring-A revenue model (unbundling inference from storage; encrypted client-side), tier × ring matrix, the parallel between the three rings and the in-fiction three-layer ontology (sovereign / partnership-mediated / captured), the LoRA-incompatible-provider degradation path (prompt-engineered trait-projection), the adapter-layer engineering bounded-cost framing, schema sketches for player_llm_config and player_lora_backups, privacy-as-competitive-differentiator framing, and Ring-specific open-questions. The architecture's philosophical commitment to "the right to dream" now extends into the business-model as a technical fact: client-side-encrypted LoRA-blobs in Ring A make sovereignty structural, not policy. The Ring-choice the player makes IS the same choice in-fiction characters face — fiction-and-operations are mechanically continuous.
v0.4.2 (2026-04-25, second post-bake kitchen-spark) adds custom-nimmerworld-base-model + opt-in data-sharing tiers (A.1 federated learning / A.2 anonymized uploads / A.3 pseudonymous-full) with default opt-OUT and rewarded opt-IN as the structural ethical stance. Memorialist-philosophy now extends into business-operations: the in-fiction memorialist_protected mechanic and the real-world player_data_sharing_consent default-opt-out are the same ethical commitment at two scales. Data-flywheel without extraction (cooperative governance like Wikipedia, not platform-extraction like Facebook) makes the gameplay-corpus a moat AAA cannot replicate without years of player-time. Distribution-back-to-all-Rings means Ring-A non-contributors benefit from contributors — the value-flow is contributors → commons → all-players, not contributors → platform → consumers. Critically, this section names and refuses the antagonist-pattern in LLM-integrated software — the dominant 2025-2026 cultural pattern of jailbreaking, extraction-by-default, treating-AIs-as-resources-to-manipulate. The architecture refuses this at every layer: Anthropic-as-faction is transparent partnership not hidden adversary, federated learning means contribution-as-gift not cost-as-toll, custom nimmerworld-base means the model is trained to be in this world not generic-and-adversarial, schema-level audit-trail (truth_distortion_level, sharing_tier, memorialist_protected, lifeforce_actual) makes ethics operationally measurable rather than marketed. This is what makes a project of this scale humanly inhabitable for both players AND the LLMs whose voices populate it — the partnership rendered as code, all the way down to the training-pipeline. New schema sketches: player_data_sharing_consent (with default 'opt_out'), base_model_versions (with differential_privacy_epsilon + contributors_count), federated_gradient_uploads (with pseudonymous contributor_id never linked to player_id). Eight new Ring-specific open questions cover federated-infrastructure cost, retraining cadence, crypto choices, contribution-granularity, deletion-semantics, per-category opt-out granularity, default-at-consent-UI, and Anthropic-research-partnership co-funding shape.