Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016dhxM43dnWvUu2B5Ph1iG1
62 lines
14 KiB
Markdown
62 lines
14 KiB
Markdown
# Research R9 — What should the player see next?
|
||
|
||
## Done, partly done, obsolete
|
||
|
||
| Area | Status | Readout |
|
||
|---|---|---|
|
||
| Fable performance work and preview tools | **Done**, with one caveat | Instrumentation, most Tier 1–2 optimizations, preview, and determinism tools are marked complete. Tile classification was later turned off on the game path; don’t assume every “done” item is still active there. [fable-idea.md](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:35>) |
|
||
| Biomes, materials, decorations | **Done in the legacy Unreal path; partly carried into Core** | F5/F6/F16 are marked done. The Core integration documents still identify gaps in water presentation, biome material palette, decoration, and atmosphere. [fable-idea.md](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:118>) · [ARCHITECTURE.md §8.19](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:1176>) |
|
||
| POIs, water, cave materials, terrain ops | **Partly done** | F7 has deterministic landmark placement, passage-mouth anchors, conditions, and companions; SDF carve/fill stamps remain open. The legacy water plane is strata-wide and visual; swimming is open, and Core does not yet present native water. F17’s cap/ground split exists, but cave material identity is not a general semantic channel. F20’s surface phases 1–2 are built; spikes/holes remain open. [fable-idea.md](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:127>) · [ARCHITECTURE.md §8.5](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:267>) |
|
||
| Save/load, ore, audio, HUD, weather, carve UX, transport gameplay, ambient life | **Open or parked** | The Core has edit and layout foundations, but these player-facing systems are not delivered by them. [fable-idea.md](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:116>) · [fable-idea.md §Experience polish](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:244>) |
|
||
| F18 far-field sheets | **Obsolete** | The owner removed the sheet path in the September cleanup. F20’s proposed `SurfaceOps[]` data shape was also replaced by fields on `FSurfaceGenerationParams`. [fable-idea.md](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:138>) |
|
||
| Strata, passages, transitions | **Partly done** | The Core resolves physical strata bounds, boundary bands, inter-strate passages, walkable landings, and Hard/Gradient/Interleaved boundary transitions. These do not make every composed season satisfy the entrance-to-exit law. The transition blends boundary bands; it does not blend unrelated generator fields. [ARCHITECTURE.md §8.41](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:1928>) · [ARCHITECTURE.md §8.46](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:2056>) |
|
||
| Lateral within-strate regions | **Implemented, gated** | The region blend exists, but its passage-law audit is still 4/16; region-zero controls are also 4/16. It is not ready to promote as the route to tunnel/chamber mixing. [ARCHITECTURE.md §8.1a](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:91>) |
|
||
| Composer and GDD game | **Partly done / mostly design** | Candidate rolling, measurement, selection, preview, and promotion exist. The season artifact does not yet carry generated passages or the full visual/content payload; tagged draws for materials, creatures, and audio remain open. City, economy, combat, death, housing, and multiplayer are game design, not delivered VoxelForge features. [COMPOSER-NOTES.md §4](</home/jahni/VoxelM/Plugins/VoxelForge/COMPOSER-NOTES.md:1125>) · [COMPOSER-NOTES.md §7](</home/jahni/VoxelM/Plugins/VoxelForge/COMPOSER-NOTES.md:1407>) · [GDD.md](</home/jahni/VoxelM/Plugins/VoxelForge/GDD.md:18>) |
|
||
|
||
The GDD’s geometry contract—bounded strata, passages, and transitions—has a substantial implementation base. The long-term loop, guaranteed resource progression, boss content, named discoveries, seasonal play, and the opening remain design goals, not a playable game loop. The first strate is explicitly meant to be hand-built and story-significant. [GDD.md §§6–8](</home/jahni/VoxelM/Plugins/VoxelForge/GDD.md:104>) · [GDD.md §§9–15](</home/jahni/VoxelM/Plugins/VoxelForge/GDD.md:197>)
|
||
|
||
## Ranked next player-visible features
|
||
|
||
Ranked for payoff against delivery cost and risk. Costs and risks are qualitative.
|
||
|
||
1. **Landmarks and set-pieces — very high payoff; medium cost/risk.** **Core:** add deterministic bounded SDF stamp records for carved or filled structures, with stable IDs and passage-safe placement. **Unreal:** connect those records to the existing landmark streamer and mesh/actor paths. **Owner:** author a few shrine, ruin, crystal-garden, and boss-entry kits with tags and loot hooks. Placement exists; stamps do not. [fable-idea.md F7](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:127>)
|
||
|
||
2. **Cave lighting identity — high payoff; small-to-medium cost, low-to-medium risk.** **Core:** no field change for lights attached to existing ceiling or landmark placements; a real skylight opening needs a bounded geometry feature. **Unreal:** add cave atmosphere profiles, emissive HISM clusters, and a few local lights or artificial light wells. **Owner:** author gem-star, bioluminescent, and shaft-light kits plus color/exposure profiles. The existing atmosphere manager is strate/biome-oriented, but this needs an enclosed-cave profile.
|
||
|
||
3. **Depth, place names, and an explored-chunks map — high payoff; small cost/risk.** **Core:** expose resolved strate IDs, depth, passage endpoints, and stable landmark IDs; no density change. **Unreal:** UMG depth/name cards, route cues, and a lightweight explored-area map. **Owner:** provide name pools, map symbols, and discovery rules. This also improves orientation before a full quest system exists. [fable-idea.md F11](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:247>) · [GDD.md §14](</home/jahni/VoxelM/Plugins/VoxelForge/GDD.md:383>)
|
||
|
||
4. **Ore veins and dig rewards — very high payoff; medium cost/risk.** **Core:** add a deterministic resource/material channel or bounded vein records, separate from rock density. **Unreal:** show vein identity through mesh attributes/materials and award resources through the carve path. **Owner:** author ore looks, rarity/yield, depth eligibility, and guarantees for recipe-critical materials. This directly supports the GDD’s gather-and-return loop. [fable-idea.md F8](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:132>) · [GDD.md §9](</home/jahni/VoxelM/Plugins/VoxelForge/GDD.md:197>)
|
||
|
||
5. **Mixed-scale caves: tunnels opening into chambers — very high payoff; large cost/high risk.** **Core:** build a composite cavern-network recipe whose room graph and bounds are resolved before sampling; keep the strata’s entrance/exit and boundary posts shared. Prefer one evaluator with internal room/tunnel structure over promoting the currently gated lateral blend. **Unreal:** expose the recipe and a walkable preview, then support its materials, lighting, and collision. **Owner:** author chamber/tunnel motifs, size ranges, and rules for wide arenas versus narrow connectors.
|
||
|
||
6. **Local streams and pools — high payoff; large cost/high risk.** **Core:** add a bounded watercourse path, pool surface, and liquid-query output. Existing Core fields include water channels and a per-stratum water surface, but that is not a cave stream or pool. **Unreal:** render water surfaces, add swim/collision volumes, underwater post-process, sound, and effects. **Owner:** author water materials, flow/pool profiles, sound, and themed edge content. Start with deterministic static flow and local pools; leave fluid simulation for later. [VoxelForgeCore.h](</home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Core/include/VoxelForgeCore/VoxelForgeCore.h:375>) · [ARCHITECTURE.md §8.5](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:420>)
|
||
|
||
7. **Save/load for edits and homes — very high payoff; large cost/high risk.** **Core:** persist edits against the resolved world identity and generation version. **Unreal:** serialize diffs and house snapshots, with the game’s authority deciding what survives a season. **Owner:** settle the persistence boundary: GDD says housing survives wipes, while underground building is still open. [fable-idea.md F4](</home/jahni/VoxelM/Plugins/VoxelForge/fable-idea.md:116>) · [GDD.md §§11, 13](</home/jahni/VoxelM/Plugins/VoxelForge/GDD.md:285>)
|
||
|
||
8. **Full tagged-content composer — strategic payoff is very high; extra-large cost/very high risk.** **Core/build box:** expand from density recipes to reviewed passage, feature, and content records; preserve deterministic IDs and selection evidence. **Unreal:** author tags, import reviewed manifests, and spawn the selected content at runtime. **Owner:** tag raw meshes, materials, sounds, creatures, and structures with overlapping themes and veto composed seasons. This should follow a small authored content library and a proven mixed-cave recipe; otherwise it composes an empty world. [COMPOSER-NOTES.md §1](</home/jahni/VoxelM/Plugins/VoxelForge/COMPOSER-NOTES.md:18>) · [COMPOSER-NOTES.md §7](</home/jahni/VoxelM/Plugins/VoxelForge/COMPOSER-NOTES.md:1477>)
|
||
|
||
## Fit with Research6 §2 contract
|
||
|
||
R6’s scalar field contract is a good fit for **a new single composite cave generator**, provided its complete plan is immutable and bound before tile jobs. The contract still needs its broader migration: R6 identifies remaining dispatch, unit, policy, passage, and mesher leaks. Recent Core binding/layout work advances that migration, but does not make every generator a native field yet. [Research6/REPORT.md §2](</home/jahni/VoxelM/Plugins/VoxelForge/Standalone/Research/WorldAssemblerM3/Research6/REPORT.md:22>) · [ARCHITECTURE.md §8.50](</home/jahni/VoxelM/Plugins/VoxelForge/ARCHITECTURE.md:2165>)
|
||
|
||
- **Fits without a generator/mesher extension:** Unreal-only lighting, actor/HISM landmarks, HUD/map, and edit persistence. A visual landmark can reuse the current content path.
|
||
- **Fits the evaluator contract, but needs data/implementation:** A composite cave generator can return one `densityAt` field. Its room graph and feature bounds must be in the resolved snapshot before sampling. Static SDF stamps need bounded feature records and conservative interval behavior.
|
||
- **Needs the contract extended:** Water needs a liquid surface/query payload separate from rock density. Visible ores need a material/resource semantic channel. A physically open skylight needs geometry and a light-opening descriptor.
|
||
- **Composer scope:** Offline composition can keep the runtime evaluator contract; the resolved season manifest must grow to carry passages and selected content/feature records. The current six-slot artifact is not the complete world manifest.
|
||
|
||
## Prior art: design principles
|
||
|
||
1. **Give the player a readable route rhythm.** Deep Rock Galactic connects curated rooms with narrow, winding tunnels; designers shape rooms to funnel players naturally toward exits and balance traversal with dramatic spaces. Spelunky 2 pairs a guaranteed safe route with optional layers and alternate routes. [DRG developer cave-generation article](https://store.steampowered.com/news/posts/?appgroupname=Deep+Rock+Galactic&appids=548430&enddate=1729500950&feed=steam_community_announcements), [Spelunky 2 interview](https://blog.playstation.com/archive/2018/08/29/first-look-at-spelunky-2-gameplay-plus-new-derek-yu-interview/)
|
||
|
||
2. **Alternate scale and local hazards.** Minecraft deliberately mixes huge “cheese” chambers, long “spaghetti” caves, narrow “noodle” passages, and local-level aquifers. This supports alternating tunnels, chambers, and occasional pools instead of filling a whole strate with water. [Minecraft Caves & Cliffs features](https://www.minecraft.net/de-de/article/caves---cliffs--part-ii-out-today-bedrock)
|
||
|
||
3. **Curate the structure; randomize inside it.** DRG uses designed room templates with internal randomizers. Astroneer uses artist-designed biomes and constrains randomization; Enshrouded’s world team describes handcrafted locations and procedural tools as support for meaningful discovery and lore. [DRG](https://store.steampowered.com/news/posts/?appgroupname=Deep+Rock+Galactic&appids=548430&enddate=1729500950&feed=steam_community_announcements), [Astroneer developer interview](https://www.unrealengine.com/developer-interviews/inspired-space-inside-the-development-of-astroneer?lang=en-US), [Keen Games on Enshrouded’s world](https://www.linkedin.com/posts/keen-games_creating-the-world-of-enshrouded-activity-7140369674289995777-SJ2t)
|
||
|
||
4. **Use lighting and vistas as orientation, not decoration alone.** DRG varies cave geometry, fog, and lighting by biome. Enshrouded’s 1.0 notes emphasize distinct biome lighting and atmosphere and improved distant vistas; No Man’s Sky’s update notes call out more navigable caves and underground ruins. [DRG](https://store.steampowered.com/news/posts/?appgroupname=Deep+Rock+Galactic&appids=548430&enddate=1729500950&feed=steam_community_announcements), [Enshrouded 1.0 notes](https://kg-www.keengames.com/en-US/news/release-trailer-changelog-everything-you-need-to-wait-for-tomorrow), [No Man’s Sky](https://www.nomanssky.com/en/next-update/)
|
||
|
||
5. **Make exploration teachable and reactive.** Spelunky 2 preserves a safe route while adding layers and liquids; Noita’s developers describe physical materials as a source of emergent encounters; Valheim’s official overview emphasizes biome-specific challenges, resources, secrets, and caves as optional exploration. [Spelunky 2](https://blog.playstation.com/archive/2018/08/29/first-look-at-spelunky-2-gameplay-plus-new-derek-yu-interview/), [Noita GDC talk](https://www.gdcvault.com/play/1025695/Exploring-the-), [Valheim FAQ](https://valheim.com/faq/)
|
||
|
||
## Owner questions
|
||
|
||
1. Should the first slice prioritize a **lit landmark chamber** or a **gather-and-return loop** with ore and persistence?
|
||
2. Is a static, bounded stream and pool acceptable for the water MVP, with simulation deferred? |