Planet-down cascade workshop (3 rounds, 5 agents): layer-by-layer generation from empty world through population overlay, city planning, and street rendering. Includes consultant review by Troblum. Also commits: pre-Sprint-35 DB backup, Claude Code team-mode tmux test log (team-test.md). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
21 KiB
title, agent, workshop, round, created
| title | agent | workshop | round | created |
|---|---|---|---|---|
| Round 1 — Ozzie: Player Experience Inventory | ozzie | planet-down-cascade | 1 | 2026-05-01 |
Ozzie — Round 1: Player Experience Inventory
The consultant review nailed it in one line: "does this produce places that feel inhabited?" That's my whole job here. I'm going through every layer and asking one question: when the player is standing there, does it feel real?
Before I Start: Amendment 6 Is the Most Important Thing in the Brief
Stop. Read Amendment 6 again.
"A mining town doesn't have zero entertainment because it's a mining town. It has rough entertainment because miners drink."
THAT LINE. That's the soul of this whole system. The 10×9 weight table as written produces sterile cities. A city where nobody goes to drink, fight, or fall in love isn't a city. It's a diagram. The amendment challenge — population size + age drives the baseline, economic role modifies character — is the right call and I'm backing it hard. The output needs to feel like somewhere people actually chose to live.
I'll come back to this in my per-layer notes. But it runs through everything.
Layer 1 — Empty World
What this layer needs to produce for a player
The player never sees Layer 1 directly. They see it through everything above it. But if Layer 1 fails, every layer above it fails. A drainage network that doesn't feel like real water flow produces cities that sit in the wrong places. Cities in the wrong places produce a world that doesn't pass the smell test.
The wow moment for Layer 1: the first time you open the planetary map and the rivers look RIGHT. They flow to the sea. They join where valleys converge. The big city is on the confluence. The mining camp is in the hills above the headwaters. The player hasn't been told any of this — the geography just explains itself.
That's the payoff. The player doesn't know they're experiencing Layer 1 doing its job. They just think: this feels like a real place.
What worries me
Sub-biome variants (L1 open item): The brief proposes 3-4 variants per biome class. Fine for the algorithm. But from a player standpoint: what are the visual differences? jungle_clearing vs swamp vs riverine_forest vs lowland_marsh — these need to be distinct at the moment of arrival. The sub-biome tag is data. The player experience is: I step off the transport in a swamp and it feels DIFFERENT from stepping off into a jungle clearing. If the sub-biome tags don't map to meaningful visual and gameplay differences, they're invisible complexity.
The drainage-vs-authored question is resolved (Amendment 3). All rivers are generated. Good. This means the drainage algorithm is the only truth. If it produces weird results — rivers flowing uphill, rivers that dead-end, rivers that split without converging — those aren't charming procedural quirks. They're trust-breakers. The player stops believing in the world.
Mountain passes: The brief mentions identifying pass cells. From a player experience perspective, passes should feel like obvious chokepoints. The road goes through the pass. That's where you build a fort, or get ambushed, or pay a toll. If the pass cells are tagged but the road doesn't actually route through them, the feature is vestigial. I'm flagging this now for Layer 2: mountain pass tags must feed road routing or they're just noise.
My questions for Layer 1
-
What does the player see when Layer 1 hasn't generated yet? Amendment 2 raises this: "survey data unavailable" placeholder. Make that GOOD. Make it diegetic. A scan in progress. Static. Partial data. Not a loading spinner. That moment of watching a world emerge from noise — that's wow.
-
Does terrain roughness have felt consequences at street level? A
terrain_modification_costof 0.9 means the city was hard to build here. That should be visible in the street layout — irregular blocks, terraced buildings, streets that curve around outcrops. If high-cost terrain produces the same flat grid as low-cost terrain, we've lost the story that Layer 1 was trying to tell. -
Are river confluences visually legible? The confluence is a settlement attractor because geography says "this is a natural crossroads." The player should feel that too. The river junction, the bridge, the dock — if you're standing at a major confluence and it just looks like two rivers that happen to cross, something went wrong.
Layer 2 — Population Overlay
What this layer needs to produce for a player
This is where the world goes from geology to history. The player doesn't read a lore document explaining why the city is here. The player sees the harbor, the road from the inland hills, the farmland spreading into the river delta — and they know why the city is here without being told.
THAT'S the game. Layer 2 is where emergence starts.
The latent settlement principle: THIS IS THE WHOLE THING
Every economically plausible settlement position is placed at generation time. Active/ghost is determined by the economic simulation. The road to the closed mine still exists. The buildings of the abandoned outpost are still there.
I want to be clear about something: the consultant is correct that we shouldn't design features around the ghost city narrative. The determinism rule is about player spatial memory. But here's what I need from a player experience standpoint: the visual difference between an active settlement and a ghost settlement must be immediately readable. The player shouldn't need a prosperity readout to understand that this town is dying. They should see broken windows, empty warehouses, the tavern with no lights on.
That's not designing a ghost city feature. That's just making sure the prosperity rendering system communicates clearly. The narrative is emergent. The communication of that narrative is a design decision we have to make.
Settlement hierarchy: the character problem
| Tier | Pop | Character question |
|---|---|---|
| City | 10K+ | Does it feel like a city? Plural districts, readable zones? |
| Town | 1K-10K | Does it feel like a community, not a small city? |
| Outpost | 50-1000 | Does it feel like a purpose? A camp, not a settlement? |
| Waypoint | <50 | Does it feel like infrastructure, not habitation? |
| Rural cluster | scattered | Does it feel like scattered farms, not a settlement? |
| Ruin | 0 | Does it feel like absence, not just empty geometry? |
Every tier needs a distinct emotional register. A town shouldn't feel like a city with fewer buildings. It should feel like somewhere everyone knows everyone. An outpost should feel like somewhere people came for a reason and might leave tomorrow.
The Amendment 6 question applies here too: a frontier outpost with 200 miners still has a cook shack and a drinking tent. The baseline needs include that. The economic role says it's rough and temporary. Not that it's inhuman.
Road network: routing through story
Roads are not just navigation. Roads are narrative. "This road goes to the capital" is political information. "This road is abandoned" is economic history. "This road has a corp logo on the maintenance markers" is power structure made spatial.
What I want to flag for Layer 2: every road segment has a MaintenanceAuthority. The player should be able to read who controls territory by the state of the roads. Corp roads to the mine are paved and maintained. The back roads between farming villages are muddy and cracked. The highway the government built forty years ago has potholes because nobody has the budget.
That's character. That's Layer 2 earning its keep in player experience terms.
My questions for Layer 2
-
What does the player see at the edge of a TerritorialStatus boundary? Crossing from CoreTerritory into FrontierTerritory should feel like something. Road quality drops. Lighting thins out. The settlements get smaller and further apart. Is there a design mechanism for that transition, or does it just... happen differently on the other side of an invisible line?
-
How does
FoundingOrientationmanifest in the approach to a city? If a city is PortFacing, the player approaching from the water side should see the working harbor face. The player approaching from land should see the back end — warehouses, rail yards, less glamour. This is about the direction of the city's character, and it should be felt before you're inside it. -
Fully generative placement (Amendment 3): cities are placed at geographic attractors. The attractor-matching algorithm is a new open question. From a player experience standpoint: the match needs to feel inevitable, not arbitrary. A fishing port on a river confluence is obvious. A research hub on a windswept plateau is obvious. A logistics hub at a road junction is obvious. What makes a placement feel wrong? If the algorithm puts a fishing port in the mountains, the world cracks. Constraint: no placement should violate geographic common sense.
Layer 3 — City-Level Planning
What this layer needs to produce for a player
This is the Cities Skylines layer. The wow moment: walking into a city for the first time and feeling the logic of it. You come in from the highway. There's a transit hub. Then a commercial strip. Then it opens up into something — maybe a corporate spine, maybe a chaotic market, maybe a grid of industrial blocks. The city has a shape, and the shape makes sense.
Amendment 6 is critical here. The weight table question is whether district type distribution produces plausible cities. I'm going to be direct: in the current brief, an energy city has zero Commercial and zero Entertainment. That's a city where 50,000 workers live but have nowhere to drink, buy groceries, or see a show. That's not a city. That's a labor camp. The population-plus-age baseline approach is the right fix.
The spatial arrangement question (L3-Q2)
Paula and Gestalt both flag that political_archetype should shape spatial arrangement. I'm backing explicit arrangement — and here's why:
When you enter a CompanyTown, you should feel the corporate spine before you know it's a CompanyTown. The facility at one end. The housing in rows behind it. The admin building facing the main gate. The company store exactly halfway between the facility and the housing. You figure out the politics from the layout — not from a tooltip.
Emergent arrangement from the weight table is cheaper. But it produces cities that feel arbitrary. Explicit arrangement produces cities that feel designed by someone who had a plan — which is historically accurate and narratively powerful.
This is worth the implementation cost. The player's ability to read a city's politics from its layout is a core wow factor.
The prosperity gradient: legibility at glance
The prosperity_baseline drives the block grid classification. High-prosperity districts have wider streets, more green space, better-maintained perimeters. Low-prosperity districts have tight blocks, cracked pavement, open perimeters because nobody bothered.
The gradient direction from FoundingOrientation + distribution_index matters visually. A stratified city should feel stratified when you look at it from above on the map — you can see the good side of town and the rough side. A moderate distribution should look more mixed.
Question for Layer 3 (L3-Q5 extended): Does topography contribute to prosperity gradient direction? Historically, hilltops = higher status. You build your manor up there, you see everyone below you. If a city has a prominent hill inside its footprint, the high-prosperity districts should lean that way. I want this in scope — it's the kind of detail that makes a city feel grown rather than placed.
My questions for Layer 3
-
What does the approach to a city reveal? From the atlas map level, zooming into a city — what's the first impression? Is there a readable skyline concept (industrial chimneys vs. dome towers vs. admin spires)? Does the city's WorldTier communicate itself at a glance? A Waypoint single-district settlement should feel like a very different zoom-in than an Epicenter multi-district metropolis.
-
Does the player ever see the district grid directly? The district grid is a generation artifact. In-game, the player moves through streets, not district boundaries. But the district grid should produce legible neighborhoods. Crossing from one district into another should feel like crossing a threshold — a change in building style, street width, signage character. If district boundaries are invisible to the player, the district system is only serving generation, not experience.
-
Port/station direction (L3-Q7): Is the orbital station visible from the city? If I'm standing in the Transit district of a city that faces its orbital, I want to be able to see the beanstalk or the freight lifters or whatever connects surface to orbit. That spatial relationship between the city's orientation and the orbital above it — that's real wow factor, and it should influence Layer 3 layout.
Layer 4 — Street-Level Rendering
What this layer needs to produce for a player
This is where the player lives. Every other layer was building toward this moment: standing in a street, looking at buildings, deciding where to go. If Layer 4 fails, nothing else matters.
The minimum viable scope (3 tile types, walkable) is fine to build. It is not fine to ship. I'm saying this clearly: a world with only floor_street, floor_interior, and wall tiles will feel like a prototype. The player will feel the seams. This is a minimum for development, not a minimum for player experience.
The economics-variable rendering question (L4-Q1) — THIS IS WHERE WE EARN IT
The consultant correctly reframes the determinism rule: it's about spatial memory, not ghost cities. Layout is locked. Rendering varies. Fine.
But here's the player experience implication: the rendering variation must be dramatic enough to tell a story. Intact vs. Worn vs. Cracked vs. Broken needs to produce meaningfully different-looking streets. "Slightly different tile sprites" is not dramatic. "This neighborhood is falling apart" is dramatic.
The threshold crossing approach (L4-Q2) is correct for performance. But the thresholds need to produce VISIBLE jumps:
- Intact (≥0.6): clean streets, lit signs, maintained buildings
- Worn (0.4-0.6): chipped paint, cracked pavement, some dark windows
- Cracked (0.2-0.4): broken windows, debris, structural damage visible
- Broken (<0.2): ruins. Structural collapses. The road is barely passable.
That's not subtle. GOOD. I want the player to walk into a Broken district and feel it.
The "scatter civilization" question (L4-Q5) — NOT OPTIONAL
The brief defers prop/decal scatter and entity spawn points. I understand why — minimum viable walkable world first. But I want to flag this loudly: an empty street grid with only floor/wall tiles has no soul.
The question isn't whether to scatter civilization. The question is what's the minimum scatter that makes it feel inhabited? My answer: street-level decals and prop spawn points are not optional features — they are the minimum viable lived-in feeling. Furniture, vehicles, signage — the stuff that says "people were here" — must come before the world is considered playable, not after.
This is my strongest pushback on the deferred scope. The world can be walked before scatter is implemented. But it can't be felt until scatter exists.
The door threshold: make it a moment
Door-per-edge is confirmed. The boundary between exterior and interior is a door. That threshold is an emotional beat — the moment of commitment. "I'm going in."
L4-Q4 (interior generation trigger): I want option (a) — pre-generate before the player crosses. Not because of performance, but because a generation stall at the door breaks immersion. The player steps up to a door and the world freezes for 50ms. That's enough to crack the experience. Pre-generate when the player is N tiles away, invisibly.
The door itself: what does the player see on approach? Is there a sign? A light? A locked indicator? The door-per-edge rule is architectural. The player-facing question is: does the door communicate anything about what's behind it? A descriptor + catalog is the technical answer. The player experience answer is: I should be able to look at a door and have an intuition about whether to go in.
My questions for Layer 4
-
What makes two buildings in the same district feel different? The block generation algorithm fills blocks with buildings. Are all buildings in a Residential block functionally identical? If yes: the district will feel like a copy-paste. Variation within a district — different building footprints, different door positions, different widths — is what makes it feel like individual structures rather than a texture.
-
Is the street itself interesting?
floor_streetis one tile type. But streets have character — width, surface quality, markings, gutters, curbs. The minimum tile vocabulary needs to eventually expand to communicate street character. I'm not asking for this in Round 1, but I want it flagged as a player experience debt. The minimum walkable world has streets that are all the same width and surface. That's not acceptable at ship. -
What's the first thing the player sees when they spawn? The LoD cascade traces from planet → region → district → chunk. When the player materializes in a city, what is their immediate visual field? Do they see a street? A building? The sky? The first frame of a city should be designed, not random. This may be a camera/spawn question more than a generation question, but I'm flagging it: the first impression of every city is a moment worth designing.
Cross-Layer Player Experience Questions
The hierarchy transition moments
The spatial hierarchy is eight tiers: System → Body → Area → Province → Region → District → Block → Chunk. From a player experience standpoint, the tiers the player crosses are the interesting ones. What does it feel like to cross from one Area to another? From one Province to another?
These transitions should be legible without labels. You cross a mountain range and the biome changes. You cross a river at a bridge and the road surface changes. You pass the last farm and enter wilderness. The player should feel these transitions as narrative beats, not just as invisible grid boundaries.
The "survey data unavailable" moment (Amendment 2 flag)
When the player goes to check a world that hasn't generated yet — the diegetic placeholder. This is an opportunity. "Survey data unavailable" is bureaucratically sad and exactly right. But there are versions of this that are AMAZING:
- Partial scan: some terrain is visible, settlements are question marks
- Outdated data: the old atlas shows a city that might not exist anymore
- No data: static, a cursor blinking in an empty grid
This is player-facing worldbuilding for free. Don't waste it on a loading spinner.
The weight table fix (Amendment 6) — player experience imperative
I want to put this in writing as a cross-layer concern: every settlement above minimum population must have essential human functions. Residential. Commerce. Social. The economic role determines the character of those functions, not their absence.
This isn't a nice-to-have. A world without it will fail the "somewhere people live" test at first contact. A player who walks into a 50,000-person industrial city with zero taverns and zero markets will immediately sense that something is wrong, even if they can't name it.
Population + age drives baseline. Economic role drives character. This is the correct architecture and I want it confirmed before Round 2.
Summary: What's Prerequisite and What's Independent
PREREQUISITE (earlier layers block these):
- Layer 1 drainage quality → everything. If rivers flow wrong, city placements feel wrong.
- Amendment 6 weight table fix → Layer 3 plausibility. Can start in parallel but must be resolved before city generation is finalized.
- Amendment 3 attractor-matching algorithm → Layer 2 placement plausibility. New open question, critical path.
INDEPENDENT (can proceed without blocking other work):
- Sub-biome variant visual mapping (Layer 1 data → layer 4 visual output — design work now, implementation later)
- Spatial hierarchy transition design (cross-layer, but doesn't block algorithm work)
- "Survey data unavailable" diegetic placeholder design (Layer 1-2 generation gap — UI work independent of generation algorithms)
- Door approach communication design (Layer 4 player experience — deferred implementation is fine, but the design question is: what does the door communicate?)
FLAGGED FOR ROUND 2:
- Amendment 6: explicit algorithm proposal for population-baseline + economic-role-character district mix
- L3-Q2: explicit spatial arrangement patterns per political_archetype (I'm advocating for explicit, not emergent)
- L4-Q5: minimum viable scatter — what's the smallest set of prop spawn types that produces a felt inhabited space?
- The mountain pass → road routing connection (Layer 1 tag must feed Layer 2 road generation or it's noise)
Round 1 complete. This is the player experience inventory. I'll be back in Round 2 with concrete proposals on the Amendment 6 district mix, the spatial arrangement question, and the minimum viable scatter scope.