docs(composer): the depths regenerate, the city does not -- game design session

Second design session. Started on the composer, ended up with the whole game's
economic loop, and one terminology fix that was overdue.

The loop, closed: the surface is a sky island or an unclimbable mountain, so
resources must come from below; the depths supply them; the resources build the
settlement; the settlement enables deeper descent. The settlement is communal,
identical for everyone, and permanent -- a season advances it one tier
(camp, village, town, city). So the wipe means something beyond freshness: the
world is impermanent, the civilization is not. We lost our maps, but we built a
town.

I had that arc backwards and it is marked as such in the file, along with the
vocabulary that caused it: "the world" was being used for two different things.
The depths are what VoxelForge generates and what regenerates each season; the
city is a plain Unreal level, permanent, and entirely outside this plugin. That
distinction is now pinned at the top of the notes.

Also settled: no bottom, boss strates every ~5 as intermediary gates, gear stats
capped around depth 30 with deeper loot buying better rolls and unique materials
rather than bigger numbers, materials tagged by difficulty tier rather than
depth so their location is rediscovered every season, and death leaving a
possessed corpse that copies your weapons without taking them -- a mirror match
that self-balances at every tier forever, provided the copied gear is never
lootable.

Two design records worth keeping: the manifest is two things (a tiny stored
spine and an infinite hash-addressable field, where the ID encodes the position
so resolving it needs no table), and the opening cinematic -- civilization
emerged from the depths, humans crystallized in the first artificial strate --
justifies the authored/generated seam in fiction. A player who senses strate 1
feels different from strate 2 is reading the story correctly, not spotting the
join.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DPUuCtn5zTLui6WybLbkNb
This commit is contained in:
Fr0zkaandClaude Opus 5 committed 2026-08-28 11:56:23 +02:00
1 parent 302cf16681
commit b7cf12af4c
1 file changed
+246 -1
+246 -1
View File
@@ -3,6 +3,21 @@
> Started 2026-08-17. Small on purpose: what we decided, what's still open, what must not be
> forgotten. Not a design doc — that comes later, if it earns it.
## ⚠️ VOCABULARY — read this first
Jahni pinned these terms on 2026-08-17 because my notes used "world" for two different things.
| term | what it means |
|---|---|
| **THE SURFACE / THE CITY** | The hand-authored **plain Unreal level** (not voxel terrain). Sky island or unclimbable mountain, so resources cannot come from up here. **Communal, identical for everyone, and it NEVER resets.** It *progresses across seasons*: camp → village → town → city → advanced city. |
| **THE DEPTHS** | Everything **VoxelForge** generates: subterranean, bounded, stacked strates below the city hole. Some strates only *mimic* being outdoors. **THIS is what is regenerated every season.** |
| **A SEASON** | One generation of **the depths** (~6–12 months), plus the settlement tier it earns. The wipe replaces the depths and leaves the city standing. |
⚠️ **Earlier sections of this file say "the world" when they mean THE DEPTHS.** Wherever a note talks
about wiping, regenerating, seeds, strates, the manifest or the composer, read **the depths**. The city
is never any of those things — it is authored, permanent, and outside VoxelForge entirely.
## The idea, in one line
**Jahni authors the vocabulary; the system writes the sentences.** He makes data assets (ops, biomes,
@@ -1233,4 +1248,234 @@ directions.
**Nice property:** with the actor at the origin every conversion is identity, so this is a **no-op**
until the actor moves. Verify by building, confirming nothing changed, *then* moving the actor.
Jahni built it: **"seems to work fine."**
Jahni built it: **"seems to work fine."** Then moved the actor off the origin and confirmed again —
**that is the real test**, since the identity case proves only that nothing broke.
---
## 2026-08-17 — NAMING (Jahni: "pretty clever")
**Failure mode to avoid: slot-filling.** *"The Crystal Cavern of Whispers."* Players learn the template
in ten minutes; after that every name is noise, and worse, names stop **distinguishing** places — if
everything is `[Adj] [Noun] of [Noun]` you cannot remember which was which, which defeats the point.
### 1. ⭐ Derive names from the MEASUREMENTS, not from a bag
The feature vector already exists per notable entry (volume, openness, verticality, water, feature
scale). Let the name generator read it: a vast open chamber draws vast-open words, a flooded one draws
water words, a tight vertical shaft draws shaft words. The name then **fits the place** — a player who
hears "the Sink" and later finds a huge drain-like chamber gets a small satisfying click.
*(Fifth use of the measurement pass.)*
### 2. Several competing GRAMMARS, not one template
Real maps are layers of naming logics from different eras and languages, and that mess is what makes
them feel real. Pick a grammar by hash, from ~5:
| grammar | examples | implies |
|---|---|---|
| **Compound** | Blackreach, Stonefall, Grimwater | short, two morphemes, germanic-ish |
| **Descriptive definite** | The Long Dark, The Hollow, The Sink | plain, spoken |
| **Possessive** | Varen's Fall, The Mason's Mistake | somebody was here, and it went badly |
| **Functional** | Shaft Nine, The Lower Cut | industry, records, someone was organised |
| **Opaque** | invented phonology (consistent syllable inventory) | a language, not keyboard mash |
**Five grammars reads as history. One grammar reads as a generator.**
### 3. Name SCARCITY — most things get no name at all
If every room is named, names mean nothing. Only **notable** entries get one (the threshold already
defined by addressable-vs-notable); everything else stays addressable but anonymous. Scarcity is what
makes a named place feel like a place, and it is free — a threshold, not a feature.
### 4. Names must survive contact with a WIKI
Players will **type these into search boxes and say them aloud**. So: short, pronounceable on sight, no
apostrophes or unusual glyphs. **A name nobody can spell cannot become community knowledge** — which is
the whole reason names exist in a shared world.
### ⛔ Parked by Jahni
Varying the **naming language by depth** (deeper = older, stranger tongue). Liked in principle but
parked "for now" — it is still a gradient, and gradients are what he rejected.
---
## 2026-08-17 — DEATH: the possessed corpse
**Jahni's original intent:** dying in the depths (most often) leaves your corpse **possessed** — you must
**fight it** to get your loot back. His worry: with distance growing **horizontally as well as
vertically**, how much frustration does that create? Floated a **bounty hunter NPC you pay to retrieve
your stuff**.
### ⚠️ The trap that would break it: gear on the corpse = a DEATH SPIRAL
If the corpse holds your **gear**, you return *without* your equipment to fight a copy of yourself
*wearing* it. Every attempt is weaker than the last, and a bad night ends with your best gear
permanently orbiting a corpse you can no longer beat. Souls games dodge this by taking only currency,
never equipment.
⇒ **Fix: the corpse holds your CARGO; you keep your GEAR.** The fight becomes you against an equal —
exactly the intended challenge, winnable with better play. **Self-balancing with zero tuning:** a
strong player's corpse is a strong enemy, a weak one's is weak, at every depth, forever.
### The frustration is the TRAVEL, not the fight
Nobody resents a hard fight; they resent twenty minutes of walking to reach it. **Fix travel, leave the
fight alone.**
- ✅ **The vertical half is already solved** — the elevator/unlock network. Unlocked stop at 12, died at
13 ⇒ you travel one strate, not thirteen. An unplanned payoff, and an argument for unlock stops being
**generous**.
- ✅ **CONFIRMED by Jahni 2026-08-17.** ⭐ **The horizontal half: LET THE CORPSE WALK** — it wanders
around **landmarks near the passage**, not arbitrarily. It is possessed — why would it stay put? Move it
toward the nearest **passage mouth or landmark**. It comes partway to meet you, which collapses the
distance problem and is *better fiction* than a static body. Falls out of it:
- the death location is reported as a **NAMED PLACE**, not coordinates — "last seen near the Sink"
(**sixth** use of the manifest);
- the retrieval point is somewhere you were heading anyway;
- and it is genuinely unnerving — your own corpse, wearing your face, hunting you.
### The bounty hunter: price it in TIME, not only gold
A pure money sink either trivialises the corpse run or goes unused. But if he retrieves your cargo and
delivers it **later** (next session / a real-world delay), then **the corpse run is the fast path and
the hunter is the "I don't have another hour tonight" path.** Both stay meaningful, it self-balances
across players with different free time, and it gives the city's NPCs a real job.
### Open forks
- **Dying while fighting your corpse** — one corpse that absorbs the previous, or do they stack?
- **Can another player kill your corpse and take the cargo?** A genuine fork: real interaction and real
griefing in the same mechanic.
---
## 2026-08-17 — DEATH, resolved: the mirror match + the retrieval guild
### Decided
- **Only YOU can claim your loot.** No PvP looting — keeps the death mechanic out of tension with the
otherwise cooperative design.
- ⭐ **The corpse COPIES your weapons; you keep yours too.** Better than my cargo/gear split: it keeps a
true mirror fight without ever disarming you, so the death spiral cannot happen.
- **Possible later:** dead players spawn into **multiple instances of the depths**, so your corpse
becomes an encounter in other players' worlds; killing it earns **gold from a retrieving guild** (not
your loot).
### Why the mirror is strong — and the one thing to make deliberate
It tests **your own build's weakness** (glass cannon ⇒ you fight a glass cannon that hits as hard as you
do — a "know thyself" fight), and it **self-balances at every gear tier and depth, forever, with zero
tuning**.
⚠️ But a *perfect* mirror is a **coin flip**, and you often arrive having already spent consumables
getting there. ⇒ **Give the player a small, honest edge, on purpose:** *you* have potions and
consumables and the corpse does not; *you* can retreat, heal and come back, and it cannot. Enough to
make the fight winnable through **preparation** rather than luck — which is exactly the gear-and-
strategy test intended. Do not leave this accidental.
### ⚠️ HARD RULE — copied weapons must NOT be lootable
If the corpse spawns a copy of your legendary sword and **drops** it, you have built an **item
duplicator**, and it will be found within a week. **Copied gear vanishes with the corpse; only the cargo
drops.** Cheap to get right now, brutal to unwind after a season of duplicated items is in circulation.
### ⭐ The guild unifies two systems into one
The bounty-hunter NPC and the player-paid retrieval are the **same mechanism with two front ends**:
| path | who | speed | certainty |
|---|---|---|---|
| **Player** | someone finds your corpse in their instance and kills it | fast | uncertain |
| **NPC** | nobody came, so the guild sends a professional | slow (next session / real delay) | guaranteed |
Either way **the cargo returns to you** (mail, or a retrieval office in the city) and **the killer is
paid by the guild, not out of your pocket.** Nobody loses anything, the guild becomes a real institution
with a reason to exist, and it is **one system to build, not two.**
⭐ **Your corpse becomes content for other people.** In a game about a shared world, your worst night
turns into someone else's encounter — a wandering possessed adventurer in the deep dark, wearing better
gear than theirs, worth killing. **The first mechanic here where failure ADDS to the world instead of
only costing you.**
---
## 2026-08-17 — SESSION SHAPE, PARTY PLAY, and the OPENING (big lore reveal)
### Decided
- **Run length: still unknown.** But ⭐ **a corpse run is a DETOUR, not an evening — 10 minutes at
worst.** That is now a hard constraint that propagates (see below).
- **The descent is done TOGETHER.** Today: a local server on one player's machine or a dedicated one.
Later: **instances sent per group — different groups never meet in the depths.**
- **Creatures: nothing decided yet.** Flagged as needed.
- **Corpse location NPC** (guild, or near the passage): tells you where your corpse was last seen for a
very small fee. ⇒ **Refinement: charge for PRECISION, not existence.** Free = *"last seen near the
Sink, strate 12"*; paid = exact position / live tracking. Reasons: the decision becomes real (coin vs
hunt) instead of a fee-gated UI step; **it can never trap a broke player** (death → lost cargo → can't
afford the info → can't recover is a spiral that hits hardest after a bad run); and *"last seen"* is
honest fiction, since the corpse genuinely wanders. Diegetic too — you talk to someone instead of
reading a death screen. (**Seventh** use of the manifest's names.)
### ⭐ THE OPENING — and it solves a structural problem
Cinematic: **civilization emerged FROM the depths.** The first, **artificial, hand-made strate** holds
**crystals with humans inside**. We are un-crystallized, discover a **base camp**, and are told we could
be adventurers who brave the depths. Then down to **"strate 2" — the first GENERATED strate.**
- ⭐ **This justifies the authored/generated seam IN FICTION.** We had accepted "strate 1 is hand-made,
the rest are composed" as a production fact players must not notice. But the hand-made strate is
**hand-made in-world too** — artificial because someone built it; the generated ones below are the
*natural* deep world. A player who senses strate 1 feels different is **correctly reading the
fiction**, not spotting the seam. Rare, and worth protecting.
- ⭐ **Descending is a RETURN, not a conquest.** You are going back to where you came from — a far better
motive than loot, and it gives the depths an implied history for free. Also seeds mystery: who
crystallized them, and why?
### Consequences
- ⭐ **PLACE the corpse, don't walk it.** If it pathfinds toward a landmark, retrieval time depends on
where you happened to die — and dying 40 minutes out breaks the 10-minute cap. So **on death, place it
at a landmark near the nearest passage / elevator stop**, and let it wander only *within* that
neighbourhood for atmosphere. Turns the cap from a hope into a **guarantee** — the same
build-it-in-rather-than-measure-it pattern as the primordial law.
- ⚠️ **CONTRADICTION resolved by Jahni — and my proposed fix was BACKWARDS.** I assumed the settlement
resets and the arc lives inside a season. **No: the settlement PERSISTS and progresses ACROSS
seasons.** See the dedicated section below.
- **Instancing makes the city the ENTIRE social surface.** If groups never meet below, then trade, the
guild, shared builds and simply seeing another person all happen up top. Strong argument for a
generous city and for the descent-shaft lobby. The depths are shared as **knowledge, not presence** —
which is consistent: wiki, names and discoveries all still work.
- **Strate size and elevator density are now downstream of the 10-minute cap.** If a stop anchors
retrieval, a strate must be crossable in roughly that order, or dying far from a stop breaks it.
- **Party play changes danger tuning fundamentally** — a boss balanced for one is a joke for four.
Unresolved: does danger scale with party size, or are strates tuned for a nominal group?
---
## 2026-08-17 — ⭐ THE CORE LOOP, CLOSED (the settlement is communal and permanent)
### Decided
- **The surface is limited by construction** — a **sky island**, or a mountain so tall no one can
descend it. So resources **must** come from below.
- **The settlement is COMMUNAL** — the same for everyone, global. **It does NOT reset at the wipe.**
- **A SEASON is the unit that advances it:** camp → village → town → city → advanced city → …
**driven by everyone.**
- **Players gather resources and donate** (to the mayor or similar); a **global count** rises until the
next tier is reached.
### ⭐ The loop is now closed and coherent
**Limited surface → must descend → depths give resources → resources build the settlement → the
settlement enables deeper descent.** Every system discussed today hangs off this. The sky island does
quiet work: it explains why there is no trade with anywhere else, why the depths are the only economy,
and why descending is the civilization's project rather than a hobby.
### ⭐ The wipe gains meaning beyond freshness
The **world** is impermanent; the **civilization** persists. *"We lost our maps, but we built a town."*
Season 8 arrives in a place season 3 made.
**Survives the wipe:** the settlement and its tier · account progression · titles · personal blueprint
library · housing instances.
**Dies with the wipe:** the world · the shared build pool · the elevator unlock network.
### ⚠️ Three requirements this creates
1. **The tier threshold MUST scale with active population.** A fixed number stalls forever with a small
playerbase and is blown through in a week with a large one — either way the promise ("a season
advances the settlement") breaks. ⇒ **Target one tier per season**, and retune the threshold at the
season boundary from observed participation. **That moment already exists** — it is the offline
review where Jahni inspects and vetoes the next world. **One process, two uses.** A quiet season then
adjusts rather than permanently stalling the city.
2. ⚠️ **The tier must grant ACCESS and CONVENIENCE, never POWER.** Services, NPCs, workshops, bank, fast
travel, aesthetics — **not** better starting gear or stat boosts. Otherwise season-8 players start
stronger than season-1 players, early strates trivialize, and the difficulty curve erodes every
season until the top half of the world is decoration. **This is the SAME rule already chosen for
depth** (depth buys access and less grind, never bigger numbers) — one consistent economic principle,
applied twice. Good sign.
3. ⭐ **Make the city a LEDGER, for late joiners.** Someone arriving in season 8 built none of it —
alienating, or the best first impression in the game, depending on whether the city **records who
built it**: plaques on the aqueduct, names in the great hall, a monument per tier listing that
season's contributors. New players then walk through evidence that people made this place, and
veterans get something permanent — pairing exactly with the titles that already survive wipes.
### Smaller consequence
**Cargo now has two destinations** — your own progression, or the city. A real recurring choice with a
communal dimension; it gives otherwise-worthless materials a use; and it makes the corpse run hit
harder. *That ore wasn't just yours — it was the aqueduct.*