From 04a72e49664fedd7f94e1df5d2995d476703d2e9 Mon Sep 17 00:00:00 2001 From: Frank Tovar Date: Thu, 14 May 2026 01:20:25 +0200 Subject: [PATCH] Draft campaign design document --- docs/CAMPAIGN.md | 757 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 757 insertions(+) create mode 100644 docs/CAMPAIGN.md diff --git a/docs/CAMPAIGN.md b/docs/CAMPAIGN.md new file mode 100644 index 0000000..cbf3eeb --- /dev/null +++ b/docs/CAMPAIGN.md @@ -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.