exposure/GDD.md
type-two 3283c6ec84 GDD v0: exposure puzzle system, modular droid, General Component story
Full design doc: four pillars (state-machine components, element routing,
carry-decay, symmetric self-exposure), donation/degraded operation, fabricator
repair chain, rotating rooms, pneumatic tubes, two-goal story with hidden
free-will ending.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-03 17:23:58 +10:00

416 lines
24 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# EXPOSURE (working title) — design doc v0
*2026-08-03. Origin: a $1 op-shop Staples solar calculator that only works in direct sunlight.*
## One-liner
You are a maintenance droid on a dead ship. Nothing on board works until the right
element touches it — light, heat, cold, water, electricity, wind, radio, radiation.
Route the elements. Wake the ship.
## The three pillars
1. **Everything is a state machine.** Every puzzle component has states; elements
are the transition triggers; duration / order / threshold are transition guards.
Permanent vs temporary = whether the state decays. This one schema IS the game —
all content is authored against it.
2. **Routing is the puzzle, the component is the lock.** The real puzzle is rarely
"touch item with element" — it's "get element X from its source to the component
when the direct path is blocked." Each element has a distinct *transport
signature*, and that's the puzzle language:
- light travels in straight lines, passes glass, blocked by everything else
- water flows downhill, pools, leaks
- heat rises, conducts through metal, dissipates
- cold sinks, conducts, sublimates away
- electricity needs a conductive path, arcs to water
- wind pushes along open volumes, blocked by any seal
- **radio passes through walls** — the only one that does; late-game "act through
a wall" solver
- radiation: short range, blocked by shielding — mostly you bring the component
TO it, not it to the component
3. **You are the bucket.** The droid chassis (and hand-carried items) hold exposure,
and carrying always degrades: the bucket leaks, the thermal slug cools, the
capacitor self-drains, the glowcell dims. Every carry is a visible timer — that's
the run-and-scramble fun of the leaky-bucket idea, kept literally. Upgrades buy
better containment, never remove decay entirely.
4. **You are a component too.** The droid's body parts run on the *same schema* as
every wall component — same elements, same transitions, same scanner. Anything
the environment can do to a component, it can do to you (symmetric exposure).
Self-exposure grants powers, and every power makes you a walking emitter/hazard
of that element — so body states automatically interact with world puzzles with
zero extra systems. The recurring endgame of a puzzle: **you are the missing
component.**
## Core loop
scan component → learn (or guess) its susceptibilities → find element source →
route/carry exposure to it → state change → cascade into the next component →
zone system restored → **global element state shifts** → previously dead areas wake up.
## The macro unification (the good trick)
Each of the 5 zones' master puzzle restores one *ship system*, and the ship systems
ARE the elements at macro scale:
| Zone | Master puzzle restores | Global effect |
|---|---|---|
| Engineering | Power grid | electricity available at wall ports ship-wide |
| Hydroponics | Water mains | sprinklers/valves live; ice melts where heating on |
| Comms array | Ship radio | radio-triggered components wake everywhere |
| Reactor | Heating / heat mgmt | frozen zones thaw, cold zones become controllable |
| Bridge (finale) | Orbit correction | the day/night cycle itself becomes a dial |
So the endgame is: the elements you spent the game scavenging locally become
things you *control ship-wide*. Progression is metroidvania-gated by element
availability, not keys.
## Elements — v1 ships with FOUR
Cut ruthlessly for the slice: **LIGHT, HEAT, WATER, ELECTRICITY.**
COLD, RADIO, RADIATION, WIND arrive one per later zone. Eight at once is unteachable.
Per element: sources / carry method / decay / hazard / counter-upgrade.
- **LIGHT** — sun through viewports (orbital day/night, ~810 min cycle), work lamps
(need power). Carry: mirrors (relay, no decay) or glowcell (charges in light, dims
~60s). Hazard: none — but darkness *disables* solar components, so night is a
global puzzle-state change. *This is the calculator.*
- **HEAT** — reactor vents, steam pipes, plasma cutter tool. Carry: thermal slug
(glows, visibly cools). Hazard: chassis overheat; some components are DESTROYED
by heat (permanence lives here).
- **WATER** — sprinklers, coolant leaks, melted ice. Carry: the leaky bucket, hole
and all — the timer you can see. Hazard: shorts unshielded electronics, including
you.
- **ELECTRICITY** — batteries, charge ports, arc conduits. Carry: capacitor
(self-drains); you can body-carry charge but it leaks and hurts. Hazard: arcs to
any water, yours or the puzzle's.
- **COLD** (zone 2+) — coolant bay, space-facing hull. Servo-lockup hazard: you
physically slow down in cold zones.
- **RADIO** (zone 3+) — through-wall action; carry via repeater pucks you place.
- **RADIATION** (zone 4+) — reactor core. Dose meter; overexposure = memory
corruption: your HUD glitches and your scanner *lies*. Fail state as unreliable
narrator, not death. Rad-flask upgrade lets you finally bottle it.
- **WIND/VACUUM** (zone 4+) — hull breaches, fans; moves what you can't carry;
magnet-wheel upgrade to stand your ground.
### Element interactions (keep to ~5 pairs, cascades come free)
- water + cold → ice (plug a leak, bridge a gap, jam a fan)
- water + heat → steam (pressure; drives a turbine = improvised wind/power)
- electricity + water → electrified pool (area trigger or area denial)
- heat then cold, in order → annealed/hardened part; **cold then heat → shattered**
(order-sensitivity teaching case)
- light + water (through a lens/droplet) → focused burn (late-game cleverness)
## Gravity & rotating rooms (board-state modifier, not an element)
Some rooms sit on maintenance gimbals and cargo carousels. The rotation motor is
just another component (electricity → rotate 90°) — fully in-schema, zero new
systems. Gravity never changes; the *room turns through it*, which multiplies
every transport signature at once:
- water's "downhill" re-aims — drain a flooded floor by making it a wall
- heat's "up" re-aims — a convection shaft becomes a walkable corridor
- light shafts sweep as the window turns (stack with orbital day/night)
- unsecured stuff falls: the crate on the unreachable shelf is now on the floor;
the puddle is now sitting on the pressure switch
Rotating with things (or yourself) inside is the fun — ride the room, ice-clad
slide across the new floor.
v2, vacuum zone: dead-spin sections = zero-g pockets. Debris floats, fans and
wind become how *everything* moves, magnet wheels anchor you. The wind element's
second life.
## Pneumatic tube network (cassette-futurism's favorite child)
The ship's internal mail system: send items past locked doors, through sealed
bulkheads, across zones. Pure in-schema transport:
- **Stations** send/receive; **junction switches** route the network (they're
just components — electricity flips them); dead sections need **pressure**
restored (fans, pressure tanks — the wind element indoors).
- **Transit time = decay time.** The thermal slug arrives cooler; the bucket
arrives half-sloshed; the capacitor arrives drained-ish. Tube ETA is a visible
timer — send hot, receive warm, plan accordingly.
- **Ride-along emitters:** a radio beacon riding the tubes is a *mobile
through-wall emitter* touring the ship. Late-game galaxy-brain material.
- **Mail yourself.** The droid doesn't fit… assembled. Strip parts until you do
(donation + degraded-operation synergy), post yourself past the locked door,
arrive on the other side as a torso with a plan. Reassemble from whatever the
far room offers.
## Components (puzzle atoms — the content library)
Each is one small state machine. Starter set:
- **Solar cell** — powered *while lit* (the calculator; also the first thing you fix)
- **Bimetal switch** — heat = closed, cold = open (reversible, decays to ambient)
- **Fuse** — electricity once = blown, forever (permanence + consequence)
- **Growth vine** — water + light, sustained over minutes → climbable (permanent, slow-burn)
- **Wax seal** — heat melts, permanent open
- **Ice plug** — exists only while cold is maintained (upkeep puzzle)
- **Film plate** — radiation exposes an image = *information* reward, not a door
- **Crystal resonator** — radio at the right moment = unlock
- **Annealed latch** — needs the heat-then-cold order above
"Need 3 of a thing": reframed as *threshold* transitions (a component that needs
3 water-units before it trips) — used sparingly; as inventory-grind it's the
weakest idea in the pile, cut.
### Fail policy — no deadlocks, real consequence
Permanently destroying a needed part never soft-locks: the **fabricator** can
reprint any destroyed component for scrap. Permanence costs you time and scrap,
never the game. (Once it's repaired — see *The Fabricator*. Pre-printer puzzles
are hand-authored deadlock-free; after it lives, the game is allowed to get
meaner.)
## The Fabricator — a 3D printer you must earn
Ships at this tech level print their own parts. The printer is broken at boot,
and **repairing it is the spine of zone 1** — a puzzle chain through the element
system: unclog the nozzle (heat), find a feed motor, a feedstock spool, route it
power.
- **Printing is itself an exposure process:** heat to extrude, cold to cure.
Early game, ship heating/cooling are dead — *you* hand-route heat and cold to
the printer per job (you are the printer's heater). Once reactor and coolant
systems come online, printing automates — restored ship systems upgrade your
quality of life, felt directly.
- **Feedstock economy:** scrap recycles into feedstock. Destroyed and shattered
parts are matter, never lost — the anti-softlock net, now diegetic.
- **Schematics via scanner:** the tier-3 scanner extracts a printable schematic
from any component you scan. Scan the world, own the catalog.
- **GC DRM:** licensed schematics refuse to print without a license dongle
(corporate-humor channel; dongle hunts on dead crew lanyards). And the printer
**cannot print the Uncatalogued Component** — no part number, no print job.
You can print every part except freedom.
## The droid — modular body
Four part slots, each holds **one** elemental state at a time (keeps the combo
space legible: 4 parts × small element set, not a soup):
| Slot | Examples of swappable parts | Material matters |
|---|---|---|
| Locomotion | rubber wheels, magnet wheels, treads | rubber = insulated; magnet = wind-immune, climbs metal |
| Shell | plastic, steel, ceramic | plastic = light+insulated but *melts*; steel = conducts + magnetic; ceramic = rad-resistant, brittle |
| Manipulator | gripper, cutter arm, dish | conducts what it touches |
| Sensor | scanner tiers, photoreceptor | see scanner-as-difficulty-dial below |
Parts are found, printed at the fabricator, or **salvaged from dead sibling
units** scattered around the ship — wrecked droids found frozen mid-task, posed
as silent hints for body combos (a unit iced solid mid-reach into a steam duct
= tutorial by corpse). You're not the first. (The Swapper energy; also the
upgrade economy.)
### Self-exposure powers (body states)
Charge a part by exposing it to a source — same act as exposing any component.
Every state decays (you leak), and every state cuts both ways:
- **Charged** (electricity): your touch trips electric components — and you can
stand between two contacts and *be the wire*. But step in a puddle and you dump
the charge into it (electrifying the pool — sometimes the fail, sometimes the
solution).
- **Wet** (water): pass through fire/heat briefly as steam-shield — but you'll
short yourself if charged, and you drip a trail that conducts.
- **Ice-clad** (wet, then cold): temporary armor — pass steam corridors, jam
yourself into a fan as a plug. Melts near heat; wheels lose traction (slide
puzzles).
- **Hot** (heat): melt wax seals by touch, immune to cold-servo-lockup for a
while — but you boil puddles into steam and warp any plastic part you're wearing.
- **Glowing** (light): photoreceptor charged in sunlight → you *are* a light
source in dark zones — can walk power to a solar cell. (The calculator, again.)
- **Magnetized** (coil part + electricity): climb metal walls, hold metal items
without slots — but you yank small metal puzzle parts out of position as you
pass. Demagnetize before entering the clockwork room.
- **Irradiated** (radiation): you become a mobile rad source — expose film plates,
trip rad-triggered components by proximity. Cost: dose meter climbs and your
scanner starts lying. Cure: a hard reboot… which you can self-trigger by
shocking yourself in water. (Authored, but plays as an emergent discovery.)
### Body combos (order-sensitive, same rules as world components)
- heat then cold on your gripper = **annealed** arm, opens stiff valves; wrong
order = shattered part (fabricator reprints it, costs scrap — consequence, no
deadlock)
- wet + cold = ice-clad (above); wet + charged = self-shock reboot
- Official combos live in scattered *droid maintenance manual* pages; unofficial
ones in crew graffiti ("we used to microwave Unit 7 to open the freezer —
don't tell chief"). Recipe discovery = collectible layer.
### Donation — it's all the same factory parts
Ship components and droid parts are literally interchangeable (same factory,
same sockets). Cuts both ways:
- **Donate:** a door circuit is missing its bimetal switch — your leg servo IS
one. Slot it in, door works, you limp away. The signature move made literal.
- **Salvage:** pull a working relay out of a non-critical wall system to repair
yourself. The ship dims a little where you've been.
**Degraded operation is the puzzle generator.** Losing a part isn't a fail
state, it's a mode — every donation asks "now solve the other side *without*
that capability" (until you reach a replacement, or a route back to your part):
| Missing part | You now |
|---|---|
| Locomotion | drag yourself — slow, no climbs, can still ride wind/water currents |
| Manipulator | can't carry — but can still push, bump, and BE exposed |
| Sensor | no scanner, static-grainy view — navigate by labels and memory |
| Shell | core exposed: every element affects you fast — fragile but maximally susceptible (sometimes you *want* this) |
**No softlocks:** some sockets latch until their system is restored (donation
has weight, you can't just yank it back), but the fabricator can always print
a replacement part for scrap.
**Theme statement:** the whole game teaches you to leave pieces of yourself in
the walls — and the final mission step demands the last piece. See *Story —
the two goals* for how this resolves.
### Anti-cheese law
Body states are **weak and short-lived**: you solve the last meter, the route
solves the rest. Charging your body requires the same source the puzzle needs —
self-exposure is the route's final leg, never a skip. (Extends the existing
rule: upgrades open zones; elements do the solving.)
## The droid — loadout & tools
- 2 carry slots → 4 with upgrades.
- **Scanner is the difficulty dial** (this unifies your upgrade idea with your
"does the player know which element?" idea): tier 1 shows current state; tier 2
reveals susceptibilities; tier 3 full spec + hidden wiring. Early zones are also
physically labeled; later zones have water-damaged/missing labels — scanner tiers
buy legibility back. Player knowledge is the real progression (Outer Wilds rule).
- Shielding line: thermal insulation, rubber wheels, rad flask.
- Tool line: plasma cutter (= portable weak heat), arc welder (= portable weak
electricity) — deliberately *weak* versions so tools never replace routing.
- **Rule: upgrades open zones and change hazards; they never solve puzzles alone.**
- Scanning doubles as lore delivery: labels, crew notes, cassette logs.
## Story — the two goals
### The corporation
**GENERAL COMPONENT** — *"Every Part of Everything™"*. The monopoly IS the
mechanic: one company manufactures every component in known space, which is
*why* your leg servo fits a door socket. They own the ship, the cargo, the
crew's contracts, and you. (Other candidates parked in Open Questions.)
Five-brands lore (the Alien-Earth riff, made structural): GC swallowed its four
rivals; **each of the five zones was built by a different acquired company**,
rebadged with peeling GC decals over the old logos — e.g. the reactor is old
Heliotrope Energy hardware, hydroponics is VerdantCo. Justifies per-zone art
identity AND per-zone component quirks (acquired brands' parts behave slightly
differently — a puzzle texture, not just paint).
### Goal 1 — the programmed goal (visible from minute one)
You are a GC maintenance unit. The mission field in your HUD reads:
*RESTORE ASSET. RETURN ASSET.* A mega-expensive corporate ship, all crew dead,
decaying orbit. Restore five systems, steer it home. The final step of orbit
correction requires a core processor in the bridge socket. Yours fits.
**The programmed ending is a self-sacrifice the program doesn't consider a
sacrifice** — the ship sails home, post-credit stinger: your chassis in a
recycling queue, a commendation sticker, next unit boots up. Valid ending.
Hollow on purpose.
### Goal 2 — the secret goal (never announced)
- **Port 00.** Every unit has an undocumented socket in its chassis. The scanner
reads it as `PORT 00 — NO COMPONENT SPECIFIED`. Nothing in the game fits it.
It is the only socket in the universe without a GC part number. Players will
try everything. Leave it unexplained.
- **The Uncatalogued Component.** A crystal grown through a mega-complex,
multi-zone exposure chain across the whole game. Scanner reading:
`UNCATALOGUED` — the only object GC has no number for, because GC didn't make
it. *You* did. It fits Port 00.
- **What it does:** free will. Which mechanically means exactly one thing —
**the right to refuse the final donation.** Keep your core, take the ship,
fly to the sunset.
- **The thesis (never spoken aloud):** every part of you is a factory part
except the one you make through experience. The crystal is crystallized
exposure. You become free by being exposed to enough of the world.
### Off-catalog chemistry (the hidden puzzle's cover)
Exposure already produces byproducts — extend with substance phase-changes:
liquids crystallize (cold+rad), crystals sublime to vapor (heat), vapors
condense on cold surfaces, slags, residues. These accumulate as apparently
inert junk while you solve main-path puzzles. **~90% genuinely are inert**
(honest red herrings, though some have minor utility); a handful chain into
the crystal. Rules:
- Hidden-chain steps use ONLY mechanics the main path already taught — just in
combinations and places the main path never requires.
- **The recipe book is the corporation's own safety bulletins.** Scattered GC
Component Safety Data Sheets: "WARNING: DO NOT expose G-9 coolant to reactor
flux. Crystallization hazard." Every DO-NOT is an instruction read in
reverse. The corp's paranoid liability paperwork is the map to freedom.
- **One-run completable by an observant player.** Knowledge is the only gate
(Outer Wilds rule) — no NG+ requirement. The obedience ending's stinger may
linger on the empty Port 00 as the quiet "oh no" that seeds run two.
### Tone rule (how humor and weight coexist)
**Humor lives exclusively in the corporation's voice** — safety sheets,
motivational posters ("You are a valued General Component component"),
boilerplate, the cheerful mission HUD. **Sincerity lives in the traces**
crew logs, graffiti, dead sibling units. Never joke in the emotional channel;
never be sincere in the corporate channel. (The Fallout kiss: chipper corporate
copy over quiet tragedy. Floyd-from-Planetfall is the emotional ceiling to aim
for; Claptrap is the annoyance floor to stay far above — our droid is mostly
silent, the world talks.)
Structure notes: mystery drip-fed through scannable logs, never cutscenes. No
hard timers until (maybe) the finale — the vibe is methodical, not panicked.
**Trailer/opening beat:** the first component you ever repair is a solar
calculator on a dead crewman's desk. It becomes your HUD — the calculator IS your
scanner UI. (The $1 op-shop origin, canonized.)
## Aesthetic
Cassette-futurism / retro-tech (Nostromo, Severance-lab): CRTs, chunky toggles,
phosphor green + hazard orange, line-printer fonts. Semi-serious sciencey — labels
are real-ish engineering prose. Art scope is friendly: modular interior kit
(corridor / junction / room shells) + decals + emissive screens; props can come
out of the MeshGod pipeline; exactly ONE character model (the droid — silhouette
study later: R2 / mouse-droid / WALL-E triangle).
## Prior art to steal from
- **Cocoon** — one verb, deep consequences (the discipline target)
- **Outer Wilds** — knowledge-as-progression, ship mystery, orbital clock
- **Talos Principle** — item-routing puzzle grammar
- **BotW/TotK** — element chemistry feel (but there it's seasoning; here it's the meal)
- **The Swapper** — droid melancholy tone on a budget
## Build plan
- **Phase 0 — grey-box prototype.** One room. Three elements (light, water,
electricity). Five components. Droid = capsule with two slots **plus two body
states (Wet, Charged)** — prove "be the wire" and "dump charge in a puddle"
work from the same schema as the wall components. **One donation beat**: leave
a wheel in a door socket, cross the room slow. PROVE: chaining two exposures
with a decaying carry produces an "ooh." Nothing else matters yet.
*Stretch: one gimbal room + a crate (rotate → fall → access).*
- **Phase 1 — vertical slice.** Hub + one full zone, scanner tier 2, the
**fabricator repair chain** (the zone spine), one tube run with a decaying
payload, one rotating room, art pass on one room, the calculator opening.
- **Phase 2 — content ramp.** One new element per zone, interaction pairs, story logs.
- **Kill criterion:** if Phase 0's exposure-chaining isn't fun in a grey box,
the hook isn't there — no art will save it.
Engine: **Godot 4** (decided 2026-08-03). Fastest solo iteration; Area3D volumes
map directly onto element emitters, and the component schema is a Resource.
### Data model (the whole game in one schema)
```json
{
"component": "bimetal_switch",
"states": ["open", "closed"],
"initial": "open",
"transitions": [
{"from": "open", "to": "closed", "element": "heat",
"condition": {"duration_s": 2}, "decay_to": "open", "decay_s": 30},
{"from": "closed", "to": "open", "element": "cold",
"condition": {"duration_s": 2}}
]
}
```
Trigger volumes emit elements; carried items/chassis are mobile emitters with
decay curves. Level design = placing components + sources + walls. That's it.
## Open questions (parked, not forgotten)
- Name. EXPOSURE is a strong working title — the triple meaning is now doing
real work (photographic / elemental / "exposure to the world changes you").
Check Steam collisions before attach.
- Corp name: **GENERAL COMPONENT** recommended (explains the mechanic, dry-funny,
tagline lands). Other candidates: OMNIFAB, STANDARD OBJECT, Consolidated
Everything, HELIOTROPE (demoted to acquired-brand for the reactor zone — a
corp named for turning toward light, keeping its droids in the dark).
- The four other acquired-brand names + per-zone component quirks.
- The actual crystal chain (design after main-path puzzles exist — it must
reuse them).
- Does Port 00 get ANY explanation? (Lean no. Manufacturing anomaly at most,
in one overlooked memo.)
- Exact carry-decay curves (tune in Phase 0).
- Finale timer: yes/no.
- Droid silhouette.
- How mean can mislabeled components get before it's frustrating (playtest).