Draft campaign design document

This commit is contained in:
2026-05-14 01:20:25 +02:00
parent fe1f46212b
commit 04a72e4966

757
docs/CAMPAIGN.md Normal file
View File

@@ -0,0 +1,757 @@
# Reactor Maintenance Campaign Design
This document prepares the handcrafted campaign for implementation. The scope is a two-week game jam, so the campaign favors small, readable levels that reuse the same props in increasingly demanding combinations instead of requiring a large set of bespoke mechanics.
## Campaign Goals
- Teach one concept at a time, then ask the player to combine concepts under pulse pressure.
- Keep movement, inspection, and all-seeing-eye use calm and free.
- Make every environment-changing action produce one pulse.
- Make the tutorial a single-action demonstration.
- Make campaign levels increasingly choice-rich: early levels have a small number of plausible actions, mid levels have tradeoffs, and late levels require sequencing.
- Avoid dead-end puzzle states unless the level is already lost by terminal rules.
- Keep every level authorable with existing grid, network, prop, leak, door, sprinkler, terminal, remedy, and reactor concepts.
## Campaign Structure
The campaign uses one tutorial plus seven level groups. Each group contains three levels with increasing complexity.
| Group | Levels | Networks | Main Lesson |
| ----- | ------ | -------- | ----------- |
| Tutorial | 1 | Fuel | A lengthy action triggers a pulse, then reactor activation wins. |
| 1 | 3 | Fuel | Pressure-fed leaks, isolation, repair, reactor feed, and startup timing. |
| 2 | 3 | Coolant | Consumers, service starvation, sprinkler water, evaporation, and pressure tradeoffs. |
| 3 | 3 | Electricity | Voltage-fed leaks, wall access, doors, terminals, and routing risk. |
| 4 | 3 | Fuel + Coolant | Heat, suppression, evaporation, and fuel dilution. |
| 5 | 3 | Fuel + Electricity | Ignition, electrical containment, and fuel source control. |
| 6 | 3 | Coolant + Electricity | Wet conduction, drying through evaporation, and terminal-informed routing. |
| 7 | 3 | Fuel + Coolant + Electricity | Full reactor startup with all cascades present. |
## Authoring Rules
Every non-tutorial level must name at least two plausible first lengthy actions. The later the campaign, the more often both first actions should be valid but lead to different second-step obligations.
Level timelines describe intended reasoning, not forced scripting. If a player finds a different valid sequence, the systems should allow it.
Choice count should grow roughly like this:
- Tutorial: one prompted lengthy action.
- Group 1: two plausible first actions and a short recovery sequence, with no required consumers yet.
- Group 2: two to three plausible first actions, introducing consumers and making starvation visible.
- Group 3: three plausible first actions and information or containment tradeoffs.
- Groups 4-6: three to four plausible first actions, with two-network consequences.
- Group 7: four or more plausible first actions and multi-pulse sequencing.
## Level Format
Each level should be implemented with:
- one clear reactor control site,
- only the networks listed for its group,
- a compact reachable floor plan,
- forecast text for the most important selected actions,
- visible failure cause when lost,
- no required fast-forward action.
Each level below includes:
- `Purpose`: the reason the level exists.
- `Setup`: authored starting conditions.
- `Timeline`: intended chronological choices and pulse consequences.
- `Win`: exact success condition.
- `Lose`: intended failure pressures.
- `Implementation Notes`: content details that matter when building the level data.
## Tutorial: First Pulse
### T0 - Wake The Feed
Purpose: Teach that an environment-changing action triggers a visible pulse and can make the reactor ready.
Setup:
- Networks: fuel only.
- One disabled fuel flow prop feeds the reactor control.
- No leak, no heat, no doors, no terminal.
- Robot starts next to the fuel flow prop.
- The reactor is unready because fuel service is missing.
Timeline:
1. Player freely moves and inspects the flow prop and reactor control.
2. Player toggles the fuel flow prop.
3. One pulse propagates fuel to the reactor control.
4. The reactor becomes ready.
5. Player activates the reactor.
Win: Activate the ready reactor.
Lose: No practical lose condition beyond invalid actions; this is a guided tutorial.
Implementation Notes:
- This is the only single-action level.
- Prompt text should explicitly distinguish quick movement from a lengthy interaction.
- Pulse playback should be short and obvious: source lights up, pipe fills, reactor ready badge appears.
## Group 1: Fuel Network
Group 1 teaches that fuel is useful reactor feed and dangerous surface material. Fuel-only levels do not use required consumers yet and should not use heat ignition from other systems. The pressure-fed leak behavior is the main source of consequence.
### 1-1 - Bleed Line
Purpose: Teach that a fed leak keeps growing until the branch is isolated or repaired.
Setup:
- Networks: fuel only.
- One fuel source, one reactor control, one leaking fuel segment on a side branch.
- One isolation valve upstream of the leak.
- Reactor needs fuel at the control and zero required consumers.
- Initial fuel source is disabled.
Timeline:
1. Plausible first action A: enable the fuel source. Pulse feeds the reactor control, but also injects fuel from the leak.
2. Plausible first action B: close the isolation valve. Pulse prevents leak growth but keeps the reactor starved.
3. If source was enabled first, player should close the valve or repair the leak before fuel reaches critical surface amount.
4. If valve was closed first, player enables source, sees safe service but starved branch, then repairs or leaves the isolated branch closed if reactor requirements are satisfied.
5. Player activates reactor once reactor control receives fuel.
Win: Reactor control fed by fuel, reactor activated.
Lose: Fuel surface hazard reaches robot-terminal level or forecasted critical growth is ignored until terminal failure.
Implementation Notes:
- Forecast for enabling source should say `Leak will grow`.
- Forecast for closing valve should say `Leak isolated; downstream fuel may starve`.
- Keep the leak access on a floor cell adjacent to the main route so repair is readable.
### 1-2 - Wrong Side Of The Valve
Purpose: Teach that isolation can starve required service if used too broadly.
Setup:
- Networks: fuel only.
- One fuel source feeds a fork: one branch to the reactor control and one branch to a leaking segment.
- One isolation valve before the fork and one isolation valve only on the leak branch.
- Fuel source starts enabled.
- Small initial fuel puddle exists at the leak access.
Timeline:
1. Plausible first action A: close the main valve. Pulse stops leak growth but also starves the reactor.
2. Plausible first action B: close the leak-branch valve. Pulse stops leak growth while preserving reactor feed.
3. Plausible first action C: repair the leak immediately. Pulse leaves pressure on the damaged area; repair succeeds, but the player learns root pressure can still matter later.
4. Player restores or preserves fuel service.
5. Player activates reactor when reactor control is supplied.
Win: Reactor fuel feed present, reactor activated.
Lose: Ignoring the leak lets fuel become terminal, or standing in unsafe fuel after a pulse loses the level.
Implementation Notes:
- The two valves should be spatially distinct and named through inspector text: `Main Fuel Valve` and `Leak Branch Valve`.
- This level should make the better valve choice visible without requiring the all-seeing-eye terminal.
### 1-3 - Pressure Choice
Purpose: Teach sequencing between source control, isolation, repair, and activation.
Setup:
- Networks: fuel only.
- Two optional fuel endpoints exist as readable branch targets, but consumer requirements are still zero.
- One damaged weakened fuel segment will become leaking if high pressure remains after a pulse.
- One existing small leak blocks a short route.
- One fuel neutralizer supply is available.
- Reactor control is on the main line.
Timeline:
1. Plausible first action A: repair the visible leak. Pulse keeps pressure high and may create a new leak on the weakened segment.
2. Plausible first action B: close an isolation valve near the weakened branch. Pulse protects that branch but may starve one optional endpoint.
3. Plausible first action C: pick up fuel neutralizer. Pulse gives time cost while leaks grow slightly.
4. Player chooses whether to stabilize the network first or accept minor fuel spread to reach reactor readiness faster.
5. Player activates reactor after reactor feed is stable.
Win: Reactor fuel feed present, reactor activated.
Lose: Fuel hazard reaches terminal amount or robot ends a pulse on unsafe fuel.
Implementation Notes:
- This is the first level where a non-perfect solution is acceptable.
- Forecast should warn when structural integrity is expected to become a new leak.
## Group 2: Coolant Network
Group 2 raises complexity because coolant-only mechanics would otherwise echo fuel-only leakage. This group introduces consumers as first-class reactor requirements and teaches that coolant is a service network plus a sprinkler resource. Coolant surface output is sprinkler water: useful, temporary, and able to evaporate.
### 2-1 - Prime The Pump
Purpose: Introduce required consumers and starvation using a non-lethal coolant network.
Setup:
- Networks: coolant only.
- One coolant source, two coolant consumers, one reactor control.
- Reactor requires one producing coolant consumer.
- One isolation valve can cut off the closer consumer while preserving the reactor feed.
- No leaks, no sprinkler valve yet.
Timeline:
1. Plausible first action A: enable coolant source. Pulse feeds both consumers and reactor control.
2. Plausible first action B: toggle the isolation valve. Pulse demonstrates starvation without immediate danger.
3. If the player starves the required path, they must reopen the valve and spend another pulse.
4. Player observes consumer state: starved versus producing.
5. Player activates reactor once any required coolant consumer is producing and reactor control is fed.
Win: One coolant consumer producing, reactor coolant feed present, reactor activated.
Lose: No intended terminal hazard; excessive wrong actions only delay readiness.
Implementation Notes:
- This level is forgiving but not one-action because the valve is a tempting alternate first action.
- The inspector should explicitly show `Coolant consumer: Starved` and `Producing`.
### 2-2 - Sprinkler Debt
Purpose: Teach sprinkler discharge as a tradeoff: surface help now, coolant pressure loss this pulse.
Setup:
- Networks: coolant only.
- One coolant source feeds one required coolant consumer, reactor control, and one sprinkler valve.
- A harmless hot surface patch exists as a preview target for future heat interactions.
- Activating sprinkler valve wets outlet cells and causes a temporary local coolant pressure drop.
Timeline:
1. Plausible first action A: activate the sprinkler valve. Pulse wets the hot patch and shows evaporation/cooling, but coolant pressure drops and may starve the consumer.
2. Plausible first action B: enable or preserve the main coolant feed first. Pulse makes reactor nearly ready but leaves hot patch unchanged.
3. Player chooses whether to spend one pulse demonstrating suppression or go directly for readiness.
4. If sprinkler caused starvation, the recovery path is another useful network action, such as toggling a valve or source, that triggers a pulse and lets evaporation or pressure recovery resolve.
5. Player activates reactor after coolant consumer and reactor feed are supplied.
Win: Coolant consumer producing, reactor coolant feed present, reactor activated.
Lose: Heat patch is intentionally below terminal level; loss should be unlikely unless robot ends on an unsafe cell.
Implementation Notes:
- This level introduces evaporation visually before heat becomes a central system.
- Forecast for sprinkler should say `Outlet wets; local coolant pressure drops this pulse`.
### 2-3 - Split Flow
Purpose: Teach that coolant service has routing priorities and that not every consumer must be active unless required.
Setup:
- Networks: coolant only.
- One coolant source, one junction, three coolant consumers, one reactor control.
- Reactor requires two producing coolant consumers.
- One branch includes a weakened coolant leak that creates sprinkler water if fed.
- One isolation valve can protect the damaged branch while sacrificing one consumer.
Timeline:
1. Plausible first action A: cycle the junction toward the damaged branch. Pulse feeds more consumers but starts coolant leakage.
2. Plausible first action B: close damaged-branch isolation. Pulse prevents leakage but leaves only two possible consumers.
3. Plausible first action C: repair the coolant leak first. Pulse consumes time while current routing continues.
4. Player balances enough producing consumers against leak control.
5. Player activates reactor when two coolant consumers and the reactor control are fed.
Win: Two coolant consumers producing, reactor coolant feed present, reactor activated.
Lose: Robot loses by unsafe final surface state if the route is flooded enough to be unsafe, or terminal rules mark failure.
Implementation Notes:
- Keep the coolant leak readable as sprinkler water, not as generic damage.
- This level should cement consumers before electricity appears.
## Group 3: Electricity Network
Group 3 teaches electricity as fast, directional danger. Electricity leaks can emit from walls, voltage matters, and doors/terminals enter because information and containment are more important now.
### 3-1 - Live Face
Purpose: Introduce electricity wall leaks and repair access from an adjacent floor face.
Setup:
- Networks: electricity only.
- One electricity source, one electricity consumer, one reactor control.
- One wall-based electricity leak with a clearly marked accessible floor face.
- One isolation valve can cut voltage to the leaking segment.
Timeline:
1. Plausible first action A: enable electricity source. Pulse powers consumer and reactor but emits electricity from the wall leak.
2. Plausible first action B: close isolation valve. Pulse prevents emission but starves the consumer.
3. Player moves to the safe repair face and repairs the leak, or keeps it isolated if reactor feed can bypass it.
4. Player restores power and activates reactor.
Win: Electricity consumer producing, reactor electricity feed present, reactor activated.
Lose: Robot ends a pulse on unsafe electricity, or electricity reaches terminal state.
Implementation Notes:
- Access face must be visually unambiguous.
- Forecast for source enable should call out `Wall leak will energize this face`.
### 3-2 - Breaker Door
Purpose: Introduce doors as surface propagation blockers without adding a second network.
Setup:
- Networks: electricity only.
- One source and one required electricity consumer.
- A closed door sits in a corridor between a possible electricity spill and the robot route.
- One door action can open a shorter path but also allows surface electricity propagation through the corridor.
- One isolation valve can de-energize the hazardous branch.
Timeline:
1. Plausible first action A: open the door. Pulse improves robot routing but may let electricity spread across the corridor.
2. Plausible first action B: isolate the hazardous branch first. Pulse makes opening the door safer but may starve the consumer.
3. Plausible first action C: repair the wall leak first. Pulse costs time while voltage remains active.
4. Player sequences isolation, door, repair, and power restoration.
5. Player activates reactor when consumer and reactor feed are powered.
Win: Electricity consumer producing, reactor electricity feed present, reactor activated.
Lose: Unsafe electricity reaches the robot route or terminal failure occurs.
Implementation Notes:
- Door preview should show blocked or unblocked surface propagation.
- This is the first level where a mobility action that is lengthy can reshape hazard propagation.
### 3-3 - The All-Seeing Eye
Purpose: Introduce the all-seeing-eye terminal as optional information, not a magic solution.
Setup:
- Networks: electricity only.
- Two visually similar branches are hidden until terminal access.
- One branch feeds the reactor safely; the other branch reaches a weakened high-voltage segment.
- An all-seeing-eye terminal is reachable through a side room.
- Reactor requires one electricity consumer.
Timeline:
1. Plausible first action A: activate the all-seeing-eye terminal. Pulse reveals underground topology and forecasts the safer branch.
2. Plausible first action B: enable source immediately. Pulse may feed the correct path or reveal danger through voltage and leak warnings.
3. Plausible first action C: toggle a suspected isolation valve before seeing topology. Pulse may protect the weak branch or starve the consumer.
4. Player uses revealed topology or observed consequences to choose the correct valve/source sequence.
5. Player activates reactor once electricity service is stable.
Win: Electricity consumer producing, reactor electricity feed present, reactor activated.
Lose: High voltage creates a leak and unsafe electricity reaches the robot, or terminal failure occurs.
Implementation Notes:
- This level should not require terminal use, but terminal use should be clearly advantageous.
- Underground overlay is introduced here and should be reused in all later groups.
## Group 4: Fuel + Coolant
Group 4 introduces heat as the first major two-network consequence. Fuel creates burn risk; coolant sprinkler water dilutes fuel, quenches heat, and evaporates.
### 4-1 - Steam Test
Purpose: Teach heat, quenching, and evaporation in a contained fuel/coolant scenario.
Setup:
- Networks: fuel and coolant.
- One fuel source and consumer, one coolant source and consumer, one reactor control under both networks.
- A small heat patch sits near a fuel leak.
- One sprinkler valve can wet the heat patch.
- Reactor requires one fuel and one coolant consumer.
Timeline:
1. Plausible first action A: activate sprinkler. Pulse quenches heat and evaporates some water, but may starve coolant consumer temporarily.
2. Plausible first action B: isolate or repair fuel leak first. Pulse slows fuel growth but leaves heat.
3. Plausible first action C: enable fuel service first. Pulse may bring reactor closer but grows fuel near heat.
4. Player suppresses or removes the immediate heat/fuel interaction, then restores both services.
5. Player activates reactor when fuel and coolant requirements are met.
Win: One fuel consumer and one coolant consumer producing, reactor fed by both networks, reactor activated.
Lose: Heat reaches terminal threshold, ignition occurs from unmanaged fuel/heat, or robot ends on unsafe hazard.
Implementation Notes:
- This is the first level where coolant is clearly helpful against another system.
- Forecast should say whether sprinkler causes `Reactor ready delayed by coolant pressure drop`.
### 4-2 - Dry Window
Purpose: Teach that wet cells do not remain wet by timer; evaporation depends on water and heat values.
Setup:
- Networks: fuel and coolant.
- A hot corridor separates robot from a fuel repair site.
- Sprinkler outlets can cool the corridor, but water evaporates quickly on high-heat cells.
- Fuel service and coolant service are both required.
Timeline:
1. Plausible first action A: sprinkler corridor first. Pulse lowers heat and opens a safer movement route, but coolant consumer may starve.
2. Plausible first action B: repair or isolate fuel leak first. Pulse reduces future fuel but leaves corridor heat dangerous.
3. Plausible first action C: adjust coolant routing to preserve consumer feed before sprinkler use.
4. Player uses the cooled movement window to reach fuel repair or activation path.
5. Player restores both services and activates reactor.
Win: Required fuel and coolant consumers producing, reactor fed by both, reactor activated.
Lose: Heat rebounds or spreads to terminal level; robot ends a pulse on unsafe heat.
Implementation Notes:
- The level should visually prove evaporation by shrinking wet overlays during pulse playback.
- Avoid making timing real-time; the window is about pulse consequences and movement position.
### 4-3 - Dilution Route
Purpose: Teach coolant/fuel same-cell interaction before electricity makes wetness dangerous.
Setup:
- Networks: fuel and coolant.
- A fuel leak threatens to pool across a required walkway.
- Sprinkler outlets can dilute fuel but create water that evaporates over later pulses.
- Two fuel consumers exist; one is safer but farther through a valve sequence.
- Reactor requires one fuel and one coolant consumer.
Timeline:
1. Plausible first action A: sprinkler the fuel pool. Pulse dilutes fuel, possibly creating a safe path, but coolant pressure drops.
2. Plausible first action B: isolate fuel branch. Pulse stops new fuel but may starve the only currently fed fuel consumer.
3. Plausible first action C: reroute fuel to the safer consumer first. Pulse delays cleanup but may satisfy reactor requirements.
4. Player chooses between cleanup-first and service-first sequencing.
5. Player activates reactor after both services are met and path to control is safe.
Win: Fuel and coolant requirements met, reactor control reachable and fed, reactor activated.
Lose: Fuel hazard or heat reaches terminal state; robot ends in unsafe fuel or heat.
Implementation Notes:
- Keep electricity absent so wetness is unambiguously helpful here.
- This prepares the contrast for Group 6.
## Group 5: Fuel + Electricity
Group 5 teaches ignition risk. Fuel plus electricity can create heat/fire, so the player must decide which source to energize, isolate, or repair first.
### 5-1 - Spark In The Line
Purpose: Introduce fuel/electricity ignition in a small, readable layout.
Setup:
- Networks: fuel and electricity.
- One fuel leak and one electricity wall leak threaten the same corridor from different sides.
- One fuel consumer and one electricity consumer are required.
- Reactor control is under both networks.
Timeline:
1. Plausible first action A: enable fuel source. Pulse feeds fuel service but grows fuel near the electric face.
2. Plausible first action B: enable electricity source. Pulse powers service but may energize the leak face.
3. Plausible first action C: isolate either damaged branch first. Pulse reduces ignition risk but starves one service.
4. Player prevents overlap by isolating or repairing at least one leak before both services are active.
5. Player restores both services and activates reactor.
Win: Fuel and electricity consumers producing, reactor fed by both, reactor activated.
Lose: Fuel/electricity ignition creates terminal heat, or robot ends on unsafe hazard.
Implementation Notes:
- Forecast must clearly call out `Ignition risk` before the player combines fuel and electricity.
### 5-2 - Dark Start
Purpose: Teach that powering information or doors can worsen fuel hazards.
Setup:
- Networks: fuel and electricity.
- All-seeing-eye terminal is present but requires reaching or powering a side branch.
- A fuel leak is visible; the electricity topology is partially hidden until terminal use.
- A door can contain surface fuel spread if kept closed.
- Reactor requires one fuel and one electricity consumer.
Timeline:
1. Plausible first action A: activate terminal. Pulse reveals a safer electric route but gives fuel another pulse to spread.
2. Plausible first action B: close or keep door containment while repairing fuel. Pulse contains fuel but delays information.
3. Plausible first action C: energize electricity blind. Pulse may power the terminal path but risks ignition near hidden leak face.
4. Player uses containment plus information to choose source order.
5. Player restores both networks and activates reactor.
Win: Required fuel and electricity consumers producing, reactor fed by both, reactor activated.
Lose: Fire/heat reaches terminal threshold or unsafe electricity/fuel traps the robot.
Implementation Notes:
- This level asks the player to value information without making it mandatory.
- Door state should be visible in forecast as a surface spread blocker.
### 5-3 - Hot Bypass
Purpose: Create a richer two-network routing puzzle using optional consumers and structural integrity.
Setup:
- Networks: fuel and electricity.
- Two fuel consumers and two electricity consumers exist; one of each is required.
- A high-voltage route weakens an electricity segment near a fuel bypass.
- A fuel isolation valve can protect the bypass but starves the closest fuel consumer.
- One heat shield supply is present.
Timeline:
1. Plausible first action A: route electricity through high-voltage branch. Pulse satisfies power but may create a leak near fuel.
2. Plausible first action B: isolate fuel bypass first. Pulse lowers ignition risk but requires a longer fuel service route.
3. Plausible first action C: pick up heat shield. Pulse gives safety margin while hazards evolve.
4. Player sequences routing and repair so the two networks do not overlap unsafely.
5. Player activates reactor once one consumer of each type is producing.
Win: One fuel and one electricity consumer producing, reactor fed by both, reactor activated.
Lose: Ignition creates terminal heat, structural leak cascade becomes unrecoverable, or robot ends unsafe.
Implementation Notes:
- This is a late two-network difficulty spike, but keep the grid small.
- Heat shield should be useful for movement, not a solution to the system problem.
## Group 6: Coolant + Electricity
Group 6 reframes coolant as both protection and electrical risk. Wet cells conduct electricity faster, and evaporation becomes a strategic cleanup mechanic.
### 6-1 - Charged Floor
Purpose: Teach wet-electricity conduction in isolation from fuel.
Setup:
- Networks: coolant and electricity.
- Sprinkler valve can wet a corridor.
- Electricity leak can energize one end of that corridor.
- One coolant consumer and one electricity consumer are required.
Timeline:
1. Plausible first action A: activate sprinkler. Pulse cools and wets corridor, but creates a possible conduction path.
2. Plausible first action B: isolate or repair electricity leak first. Pulse makes later sprinkler use safer but delays power service.
3. Plausible first action C: enable electricity first. Pulse powers consumer but makes wet corridor dangerous if sprinkler was used.
4. Player prevents electricity from entering wet cells, or uses other useful actions to let evaporation reduce wetness before energizing.
5. Player activates reactor after both services are producing.
Win: Coolant and electricity consumers producing, reactor fed by both, reactor activated.
Lose: Wet conduction reaches robot or terminal electrical failure occurs.
Implementation Notes:
- Forecast should use distinct wording: `Wet cells will conduct electricity`.
### 6-2 - Dry Before Live
Purpose: Teach that evaporation can be part of sequencing without adding fast-forward.
Setup:
- Networks: coolant and electricity.
- A previously wet area blocks the safest electrical route.
- Heat patch is present only to accelerate evaporation, not as a third network.
- A door can contain electrical spread while wet cells dry.
- Reactor requires one coolant and one electricity consumer.
Timeline:
1. Plausible first action A: open the door and energize route. Pulse risks electrical spread through wet cells.
2. Plausible first action B: perform coolant routing or valve action that also lets one pulse of evaporation occur. Pulse reduces wetness while changing service state.
3. Plausible first action C: close containment door first. Pulse buys a safer electrical boundary.
4. Player uses useful network actions to create a dry-enough route before energizing.
5. Player activates reactor when both services are supplied.
Win: Coolant and electricity requirements met, reactor control fed by both, reactor activated.
Lose: Wet electrical spread reaches terminal hazard or robot safety failure.
Implementation Notes:
- Do not add a wait button; all drying happens as a consequence of meaningful actions.
- The heat patch should be described as environmental heat, not a fuel-system mechanic.
### 6-3 - Eye In The Storm
Purpose: Combine terminal information with wet-conduction routing.
Setup:
- Networks: coolant and electricity.
- All-seeing-eye terminal reveals which wet corridor overlies the live conduit.
- Two sprinkler valves exist: one useful, one dangerous if electricity is active.
- One coolant and one electricity consumer are required.
Timeline:
1. Plausible first action A: use all-seeing-eye terminal. Pulse reveals hidden overlap and forecasts the safe sprinkler choice.
2. Plausible first action B: activate nearest sprinkler without information. Pulse may wet the dangerous corridor.
3. Plausible first action C: isolate electricity first. Pulse makes sprinkler choice safer but starves electricity consumer.
4. Player decides whether to gather information, isolate, or take a calculated sprinkler action.
5. Player restores both services and activates reactor.
Win: Coolant and electricity consumers producing, reactor fed by both, reactor activated.
Lose: Wet conduction cascade becomes terminal or robot ends unsafe.
Implementation Notes:
- This is the capstone for terminals before the full-system endgame.
- Terminal should reveal both underground layers at once.
## Group 7: Full Reactor Startup
Group 7 uses all three networks. The final levels should feel like compact crisis management, not sprawling labyrinths.
### 7-1 - Three-Key Start
Purpose: First all-network level with one clear problem per network.
Setup:
- Networks: fuel, coolant, electricity.
- Reactor control sits on all three networks.
- One required consumer per network.
- Fuel has a leak, coolant has a sprinkler pressure tradeoff, electricity has a wall leak.
- One all-seeing-eye terminal is available but off the direct route.
Timeline:
1. Plausible first action A: isolate fuel leak. Pulse reduces fuel growth but may starve fuel consumer.
2. Plausible first action B: repair electricity leak. Pulse delays fuel/coolant response but prevents ignition and wet conduction problems.
3. Plausible first action C: use sprinkler. Pulse suppresses heat/fuel but may starve coolant and creates wet electrical risk.
4. Plausible first action D: activate terminal. Pulse reveals best sequence but allows all hazards to advance.
5. Player stabilizes the most dangerous interaction first, then restores all three services.
6. Player activates reactor.
Win: One consumer of each network producing, reactor fed by fuel/coolant/electricity, reactor activated.
Lose: Terminal heat, wet electricity, ignition, or robot safety failure.
Implementation Notes:
- This level should be forgiving: one hazard per network, short distances, strong forecasts.
### 7-2 - Cascade Lockout
Purpose: Require deliberate ordering because solving one system can worsen another.
Setup:
- Networks: fuel, coolant, electricity.
- Fuel leak threatens heat.
- Coolant sprinkler can suppress heat but wets the floor near an electric leak.
- Electricity route powers the all-seeing-eye terminal and required consumer.
- Door can contain either fuel spread or electricity spread, depending on when opened.
- Reactor requires one consumer of each network.
Timeline:
1. Plausible first action A: sprinkler fuel/heat area. Pulse reduces fire risk but creates wet conduction risk.
2. Plausible first action B: isolate electricity leak. Pulse makes sprinkler safer but starves electricity consumer and terminal.
3. Plausible first action C: close/open door for containment. Pulse changes surface propagation boundaries.
4. Plausible first action D: activate terminal before suppression. Pulse reveals topology but lets fuel/heat grow.
5. Player chooses containment, suppression, isolation, then service restoration in a coherent order.
6. Player activates reactor when all networks are producing and the route to control is safe.
Win: All three required consumers producing, reactor fed by all three networks, reactor activated.
Lose: Fire or wet-electricity cascade reaches terminal state; robot route becomes unsafe at pulse end.
Implementation Notes:
- This is the main campaign test of two-network lessons inside a three-network level.
- Forecast text should identify which consequence is worse: heat growth or wet conduction.
### 7-3 - Critical Path
Purpose: Final compact capstone: choose a startup sequence under multiple interacting failures.
Setup:
- Networks: fuel, coolant, electricity.
- Two consumers per network exist; one per network is required.
- Reactor control requires all three feeds.
- One fuel leak near heat, one coolant sprinkler with pressure drop, one electric wall leak near a wettable corridor, one weakened structural segment.
- One all-seeing-eye terminal, one heat shield, and one relevant neutralizer are available.
Timeline:
1. Plausible first action A: all-seeing-eye terminal. Pulse reveals the safest consumer set and weakened segment, but all hazards advance.
2. Plausible first action B: isolate fuel/heat branch. Pulse prevents fire growth but may force a longer fuel route.
3. Plausible first action C: isolate electricity before sprinkler use. Pulse prevents wet conduction but delays power service.
4. Plausible first action D: sprinkler first. Pulse suppresses heat/fuel but creates wetness and coolant pressure debt.
5. Plausible first action E: pick up heat shield or neutralizer. Pulse improves robot access while systems continue changing.
6. Player selects one consumer path per network, stabilizes the interaction that would become terminal first, then restores minimum required services.
7. Player activates reactor as soon as all three feeds and consumer requirements align.
Win: At least one fuel, coolant, and electricity consumer producing; reactor control fed by all three networks; reactor activated.
Lose: Reactor heat reaches terminal threshold, wet electricity reaches the robot, ignition creates unrecoverable heat, or structural leak cascade makes required service impossible before activation.
Implementation Notes:
- Final level should have multiple valid solution orders, but each order should require respecting the same causal rules.
- Do not require perfect cleanup. Winning with controlled remaining hazards is desirable.
- Use strong forecast summaries because this level has the highest choice count.
## Implementation Checklist
- Add campaign manifest entries in this exact order once level data exists.
- Keep level names stable because save data and UI can use them.
- Implement one tutorial level first, then one representative level from each group before filling all three per group.
- Prioritize mechanics in this order for jam delivery:
1. Pulse playback and forecast wording.
2. Fuel source, isolation, repair, and reactor activation.
3. Coolant consumers, sprinkler discharge, pressure drop, and evaporation.
4. Electricity wall leaks and robot safety.
5. Doors and all-seeing-eye terminal.
6. Heat, ignition, dilution, quenching, wet conduction.
7. Full campaign content pass.
- If scope tightens, ship Tutorial, Group 1, one level each from Groups 2-6, and all Group 7 levels only if the interaction systems are stable.
## Test Expectations
Campaign implementation should add tests for:
- every level loading and validating,
- required consumer counts matching networks present in each level,
- tutorial solvable with exactly one lengthy action before reactor activation,
- every non-tutorial level exposing at least two valid first lengthy actions,
- win criteria reachable for each authored level,
- no level requiring a wait or fast-forward command,
- campaign manifest order matching this document.