Files
settled-reach/docs/workshops/world-generation/BRIEF.md
T
jpmschweitzerandClaude Opus 4.6 252e3d380a docs(workshops): complete world generation architecture workshop
3 rounds of SW1 (endgame feature vision) with 5 agents + Qatux.
Produced endgame-feature-vision.md (692 lines) covering the full
galaxy-to-ground generation pipeline, cultural cascade, replayability
architecture, and player experience beats.

Workshop was cut short when PO redirected to a 6-phase development
cascade (wiki content → economics → planetary maps → player control →
world gen → detail coloring). v0.2 target dropped. Heritage roots
(D-104/D-105/D-101/D-107) flagged for supersession — real-world
cultural corridors replace abstract roots.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 17:12:09 +01:00

4.4 KiB

title, description, type, status, agents
title description type status agents
World Generation Architecture Workshop Design the procedural world generation pipeline — from Rust server layout generation to Godot client rendering. Covers urban, rural, wilderness, and station interior zones. workshop complete TYRE, GESTALT, NIGEL, MIRI, OZZIE

Workshop Brief — World Generation Architecture

To: TYRE, GESTALT, NIGEL, MIRI, OZZIE From: Jeroen

The problem

We need a procedural generation pipeline that creates explorable locations — station interiors, settlements, rural villages, wilderness areas, industrial zones. The server generates the layout (Rust/bevy_ecs), the client renders it (Godot 3D isometric). No location is hand-authored — everything comes from the generator with cultural, economic, and narrative constraints.

Constraints

  • Server-authoritative (D-010, D-020) — generation logic in Rust, client renders from snapshot data
  • Chunk-based streaming (D-096) — only load what's near the player
  • Simulation tiers (D-097) — Active/Background/State-saved/Ungenerated
  • Tile-grid foundation — server works in 2D tile coordinates, client renders 3D
  • Must handle z-levels (D-148 confirms multi-height structures)
  • Toon shader aesthetic — all assets go through our shader pipeline
  • Assets from Poly Haven (CC0) and Quaternius — run through toon shader

Zone types to generate

  1. Station interiors — corridors, modules, docking rings, residential blocks, commercial areas
  2. Urban/port zones — streets, buildings, markets, docking facilities
  3. Rural villages — scattered buildings, fields, paths, natural terrain
  4. Wilderness — forests, terrain, water bodies, cave entrances
  5. Industrial — factories, extraction sites, refineries, warehouses

Reference implementations to study

These are Godot plugins studied for patterns — the generation itself happens in Rust.

Reference What to study Relevance
CityCrafter3D Road networks, building placement, district zoning, lot subdivision Urban zones
Chunk Manager Runtime chunk load/unload, LOD tiers, async generation, memory budget Streaming infrastructure
Retro Terrain Tile-based 3D terrain, terrain edge transitions, height variation, water Wilderness/rural zones
Spatial Gardener Procedural vegetation placement, density controls, collision avoidance, LOD Wilderness population
GridMapLayer 2D tile rules → 3D grid rendering, autotiling Client-side tile rendering
Block-based Procedural Map Perlin noise, seed determinism, chunk loading patterns Terrain generation
PathMesh3D Extrude 2D profiles along paths (pipes, cables, corridors) Station interior detail
DeformableMesh Runtime mesh deformation for variety from shared assets Environmental variation
Poly Haven CC0 3D models, textures, HDRIs Environment asset sourcing
SunshineClouds Cloud shadow dappling on ground surfaces Exterior zone atmosphere (borrow the ground shadow shader, skip the sky)

Questions to resolve

  1. What data does the server send? Tile palette + grid + object placement? Or higher-level "room type + seed" that the client expands?
  2. How are buildings generated? Wave function collapse? L-systems? Grammar-based? Template stamping with variation?
  3. How does the client render tiles? GridMapLayer autotiling? Direct mesh placement? Hybrid?
  4. How do z-levels work visually? Transparency of upper floors? Cutaway? Layer toggle?
  5. What's the minimum viable generator? What ships in v0.2 vs what's future?
  6. How do cultural constraints flow into generation? Corridor heritage → architectural style → tile palette selection?
  7. How does the generator handle interiors vs exteriors? Same pipeline or separate?

This workshop does NOT produce

  • Working code
  • A locked technology choice
  • Implementation tickets (those come after)

It produces an architecture document with the data flow, algorithm choices, and client-server boundary defined.