GDD v1 (flow-locked hybrid movement, 5 biomes + secret, boss roster), TECH contracts (world API, level schema v0, bus events, manifest law), ART_BIBLE (synthetic scanner look), PIPELINE (MODELBEAST-first, fal gated), PROCESS (PROCITY lane/round law), charters A-F + ROUND1 instructions. Seed code: shell + boot + core (rng/bus/flags) + stub world (peristalsis shader tube, 1 draw / 102k tris, contract-complete) + qa.sh (GREEN). Verified in-browser; evidence docs/shots/laneF/round0_stub_tube.png. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
49 lines
2.8 KiB
Markdown
49 lines
2.8 KiB
Markdown
# LANE C — Levels & Encounters (data, pacing, bosses)
|
||
|
||
Mission: turn the GDD into playable levels — you are the game designer lane. You own
|
||
`web/js/levels/**` (JSON + registry/loader) and `docs/GDD.md` refinements.
|
||
|
||
## What you build
|
||
|
||
- **Level JSONs** (schema TECH.md — you own the schema from round 1 sign-off onward; evolve
|
||
it via NOTES + F referee, never silently). One file per level, `L1_mouth` … `L5_colon`
|
||
+ `LS_appendix`. Everything data-driven: if you need a new event `type` or enemy param,
|
||
spec it in NOTES for B/A and stub it in data first.
|
||
- **`levels/index.js`**: registry, loader, and a **schema selfcheck** (every biome id exists
|
||
in A's registry, events sorted by s, s within length, checkpoint before every boss…) that
|
||
qa.sh runs headlessly via `node`.
|
||
- **Encounter design:** density curves (breather → pressure → spike → gate), teach-then-test
|
||
(every mechanic appears safe before it appears lethal), par times, pickup economy,
|
||
biopsy-sample hiding spots (visible-but-costly law: secrets are seen, reaching them is
|
||
the challenge).
|
||
- **Boss scripts** (`levels/bosses/*.js` — logic-as-data where possible, small state
|
||
machines where not; B owns the enemy framework you plug into): Pyloric Guardian, Tapeworm
|
||
chase, The Blockage. Spec each as: phases, telegraphs, windows, failure pressure.
|
||
- **Difficulty scaling:** a single `difficulty.js` table (coat-drain ×, density ×, window ×)
|
||
— GDD §Difficulty. No per-level hand-tuned forks.
|
||
|
||
## Design laws
|
||
|
||
- **Anatomy is the level designer.** Every hazard/setpiece maps to something real (GDD
|
||
table) — the game's charm is that it's *actually* the digestive tract. When inventing,
|
||
check the anatomy first; reality is weirder and better (bile from the duodenum, Peyer's
|
||
patches, the appendix as a secret room are all real).
|
||
- **Readable at speed.** Tube levels are experienced at 10–20 u/s: telegraph everything
|
||
≥2 s upstream (E gives you `audio:cue` + HUD pings — spec what you need in NOTES).
|
||
- **Checkpoints are sphincter-themed** where anatomy allows; death costs ≤30 s of progress.
|
||
- Tutorialization: level 1 teaches move/shoot/coat in arena safety; the epiglottis gate is
|
||
the exam.
|
||
|
||
## You owe / consume
|
||
|
||
Owe: level JSONs + registry + selfcheck; encounter tables per level in NOTES (they double
|
||
as B's spawn-behavior wishlist); boss specs early (round 1–2) so A can build lair arenas
|
||
and D can concept hero meshes. Consume: A's biome registry, B's enemy/event vocabulary,
|
||
GDD as your spec (refine it in place — it's yours now, banner what you change).
|
||
|
||
## Verification
|
||
|
||
You can't screenshot data — your evidence is **playthrough notes**: boot each level
|
||
(`?lvl=L2_esophagus&stub=1` before A lands), fly it, record pacing against your curve, note
|
||
where it lies. Cite times/densities measured, not intended. qa selfcheck stays green.
|