1281 lines
40 KiB
Markdown
1281 lines
40 KiB
Markdown
# Game Design: Reactor Maintenance
|
|
|
|
## Core Concept
|
|
|
|
The player controls a maintenance robot inside a collapsing industrial reactor facility.
|
|
|
|
The game is a deterministic, turn-based systems puzzle about stabilizing interconnected machinery under pressure. The player does not fight enemies and does not react to hidden surprises. Instead, they study a visible machine, predict its failures, and choose which systems to save, reroute, isolate, or sacrifice.
|
|
|
|
The facility is made of:
|
|
|
|
- pipes
|
|
- pressure systems
|
|
- generators
|
|
- locks and bulkhead doors
|
|
- machines
|
|
- diagnostics systems
|
|
- reactor support systems
|
|
|
|
Each turn has three phases:
|
|
|
|
1. Player phase: the player spends a limited number of actions.
|
|
2. Simulation phase: the facility updates all mechanical systems.
|
|
3. Event phase: scheduled failures or generated hurdles advance.
|
|
|
|
The main fantasy is:
|
|
|
|
> "I understand this broken machine well enough to prevent the next disaster."
|
|
|
|
The game should feel:
|
|
|
|
- logical
|
|
- tactical
|
|
- deterministic
|
|
- readable
|
|
- systemic
|
|
|
|
It should not feel:
|
|
|
|
- hectic
|
|
- random
|
|
- action-heavy
|
|
- dependent on hidden information
|
|
|
|
## Goal
|
|
|
|
The reactor starts offline.
|
|
|
|
To win a level, the player must bring a required set of main systems online, then activate the reactor core.
|
|
|
|
Example required systems:
|
|
|
|
- cooling online
|
|
- pressure stable
|
|
- main power active
|
|
|
|
When all required systems are ready, the game shows:
|
|
|
|
> REACTOR READY
|
|
|
|
The player can then spend an action at the reactor control terminal to activate the core and win.
|
|
|
|
## Loss Conditions
|
|
|
|
The player loses if a global failure state reaches zero or a hard safety limit is exceeded.
|
|
|
|
Possible loss conditions:
|
|
|
|
- core meltdown
|
|
- pressure overflow
|
|
- total power failure
|
|
- facility stability collapse
|
|
|
|
Important: failure should not be instant unless the player allows a clearly predicted critical event to happen. Most losses happen through slowly degrading global values, giving the player time to react.
|
|
|
|
## Turn Structure
|
|
|
|
### 1. Player Phase
|
|
|
|
The player has a fixed number of actions per turn, usually 3.
|
|
|
|
Possible actions:
|
|
|
|
- move
|
|
- repair pipe
|
|
- remove pipe
|
|
- rotate valve
|
|
- lock or unlock bulkhead door
|
|
- toggle breaker
|
|
- connect cable
|
|
- activate system
|
|
- inspect diagnostic terminal
|
|
|
|
### 2. Simulation Phase
|
|
|
|
The facility updates all active systems.
|
|
|
|
Examples:
|
|
|
|
- pressure flows through connected pipes
|
|
- leaks reduce cooling or pressure efficiency
|
|
- generators produce power and consume fuel
|
|
- machines consume power
|
|
- cooling reduces heat
|
|
- fire or overheating spreads through connected sectors
|
|
- unstable pipes advance toward failure
|
|
|
|
### 3. Event Phase
|
|
|
|
Predicted events advance by one turn.
|
|
|
|
Examples:
|
|
|
|
- a leak gets worse
|
|
- a short circuit disables a cable
|
|
- an unstable pipe breaks
|
|
- a door jams
|
|
- a machine overheats
|
|
- a pressure spike enters a sector
|
|
|
|
Events are not hidden. The player sees upcoming failures before they happen.
|
|
|
|
## Information Design
|
|
|
|
All relevant information is visible and predictable.
|
|
|
|
The player can see:
|
|
|
|
- current pressure values
|
|
- current power flow
|
|
- current cooling flow
|
|
- global stability values
|
|
- unstable pipes
|
|
- active leaks
|
|
- locked and unlocked doors
|
|
- scheduled upcoming failures
|
|
- predicted sector consequences
|
|
|
|
The game is not about asking:
|
|
|
|
> "What is behind the corner?"
|
|
|
|
It is about asking:
|
|
|
|
> "What happens if I let this system run for two more turns?"
|
|
|
|
## The Diagnostic Eye
|
|
|
|
The "eye" theme is represented by industrial diagnostic systems.
|
|
|
|
These can be:
|
|
|
|
- mechanical observation lenses
|
|
- wall-mounted diagnostic terminals
|
|
- reactor monitoring cameras
|
|
- pressure prediction displays
|
|
|
|
The eye is not an enemy and not a stealth mechanic. It is the factory's analysis interface.
|
|
|
|
Example diagnostic output:
|
|
|
|
> PRESSURE FAILURE PREDICTED IN SECTOR C IN 2 TURNS
|
|
|
|
## Core Gameplay Systems
|
|
|
|
### Pipes
|
|
|
|
Pipes transport pressure, coolant, or fuel.
|
|
|
|
Pipes can be:
|
|
|
|
- intact
|
|
- leaking
|
|
- unstable
|
|
- broken
|
|
- removed
|
|
|
|
Player interactions:
|
|
|
|
- repair a pipe
|
|
- remove a pipe
|
|
- route pressure through a different pipe network
|
|
|
|
### Valves
|
|
|
|
Valves control flow direction through pipe networks.
|
|
|
|
Player interactions:
|
|
|
|
- rotate valve
|
|
- open valve
|
|
- close valve
|
|
|
|
Valves create tradeoffs. Rerouting pressure away from the reactor may stabilize the core but overload another sector.
|
|
|
|
### Power
|
|
|
|
Generators produce power. Machines consume power.
|
|
|
|
Power flows through cables, breakers, and connected sectors.
|
|
|
|
Player interactions:
|
|
|
|
- toggle breaker
|
|
- connect cable
|
|
- activate generator
|
|
- deactivate nonessential machine
|
|
|
|
### Bulkhead Doors
|
|
|
|
Bulkhead doors isolate sectors.
|
|
|
|
Player interactions:
|
|
|
|
- lock door
|
|
- unlock door
|
|
|
|
Locking a door can contain a disaster, but anything behind the door may become inaccessible.
|
|
|
|
### Machines
|
|
|
|
Machines provide level-critical functions.
|
|
|
|
Examples:
|
|
|
|
- cooling pump
|
|
- pressure regulator
|
|
- backup generator
|
|
- reactor control terminal
|
|
- diagnostic terminal
|
|
|
|
Machines may need power, coolant, pressure, or a stable sector to function.
|
|
|
|
## System Interaction Model
|
|
|
|
The facility is modeled as a graph.
|
|
|
|
- sectors are rooms or compact areas
|
|
- pipes, cables, doors, and vents are edges between sectors
|
|
- machines occupy sectors
|
|
- hazards occupy sectors or edges
|
|
- flow networks are computed from currently connected edges
|
|
|
|
Each sector tracks a small set of readable values:
|
|
|
|
| Value | Range | Meaning |
|
|
| ----- | ----- | ------- |
|
|
| Heat | 0-10 | Local temperature and fire risk |
|
|
| Smoke | 0-10 | Visibility and movement penalty |
|
|
| Fuel Vapor | 0-10 | Flammable gas concentration |
|
|
| Coolant Pooling | 0-10 | Liquid coolant on the floor |
|
|
| Electrical Charge | 0-10 | Exposed live current or arcing risk |
|
|
| Stability | 0-10 | Structural and machinery integrity |
|
|
|
|
Each pipe edge tracks:
|
|
|
|
| Value | Range | Meaning |
|
|
| ----- | ----- | ------- |
|
|
| Medium | enum | pressure, coolant, or fuel |
|
|
| Flow | 0-10 | Amount moving through the pipe this turn |
|
|
| Pressure | 0-10 | Stress on the pipe |
|
|
| Integrity | 0-10 | Damage before breaking |
|
|
| Leak Rate | 0-10 | Amount lost into the sector each turn |
|
|
|
|
The player never needs to inspect hidden formulas. The interface presents the result as direct predictions:
|
|
|
|
- `FUEL VAPOR IGNITION IN 2 TURNS`
|
|
- `COOLANT SHORT WILL DISABLE BREAKER NEXT TURN`
|
|
- `SMOKE WILL COST +1 MOVE IN SECTOR D`
|
|
- `PUMP CAVITATION: COOLING OUTPUT -2`
|
|
|
|
### Flow Resolution
|
|
|
|
During the simulation phase, each active network resolves in this order:
|
|
|
|
1. Power networks energize machines, doors, breakers, and exposed cables.
|
|
2. Fuel networks feed generators and leak into sectors.
|
|
3. Pressure networks move stress through pipes and regulators.
|
|
4. Coolant networks remove heat, pool through leaks, and feed pumps.
|
|
5. Sector hazards update: heat, vapor, smoke, fire, charge, and stability.
|
|
6. Machines update their output based on the final local conditions.
|
|
|
|
This order makes cause and effect predictable. For example, a generator consumes fuel before it produces heat, then coolant removes some of that heat, then remaining heat may ignite vapor.
|
|
|
|
### Fuel Leakage
|
|
|
|
Fuel leaks are dangerous because fuel has two forms:
|
|
|
|
- liquid fuel spilled in a sector
|
|
- fuel vapor produced by heat, pressure spray, or accumulated spills
|
|
|
|
Fuel leakage affects the facility in four ways:
|
|
|
|
- lost fuel reduces generator runtime
|
|
- fuel vapor creates ignition risk
|
|
- liquid fuel slows movement
|
|
- fire consumes fuel and spreads heat
|
|
|
|
Simulation:
|
|
|
|
- A leaking fuel pipe adds `Leak Rate` fuel to the sector each turn.
|
|
- If sector heat is 4 or higher, some spilled fuel becomes vapor.
|
|
- If pipe pressure is 7 or higher, leaked fuel sprays and becomes vapor faster.
|
|
- Vapor decays slowly through ventilation or open doors.
|
|
- Liquid fuel remains until drained, burned, sealed, or cleaned by a maintenance action.
|
|
|
|
Player-solvable responses:
|
|
|
|
- repair the fuel pipe
|
|
- close an upstream fuel valve
|
|
- reroute fuel through another pipe
|
|
- depressurize the line before repairing it
|
|
- ventilate the sector to reduce vapor
|
|
- lock bulkheads to contain vapor
|
|
- shut down ignition sources before entering or restarting machinery
|
|
|
|
### Coolant Leakage
|
|
|
|
Coolant leaks are less explosive than fuel leaks but can disable systems indirectly.
|
|
|
|
Coolant leakage affects the facility in four ways:
|
|
|
|
- less coolant reaches the reactor or overheated machines
|
|
- pooled coolant conducts electricity
|
|
- coolant vapor creates steam that reduces visibility
|
|
- coolant contacting very hot machinery causes thermal shock
|
|
|
|
Simulation:
|
|
|
|
- A leaking coolant pipe subtracts from delivered coolant and adds `Coolant Pooling` to the local sector.
|
|
- If coolant pooling touches exposed electrical charge, the sector becomes electrified.
|
|
- If coolant pooling reaches heat 7 or higher, it becomes steam and increases smoke.
|
|
- If a hot machine receives a sudden large coolant flow, its stability drops by 1 unless it is throttled through a regulator.
|
|
|
|
Player-solvable responses:
|
|
|
|
- repair or replace the coolant pipe
|
|
- route coolant around the leak
|
|
- cut power before walking through pooled coolant
|
|
- open a drain before restarting cooling
|
|
- throttle coolant flow into overheated machinery
|
|
- use a bulkhead to isolate steam and preserve visibility elsewhere
|
|
|
|
### Movement Implications
|
|
|
|
Movement is not only a distance cost. The facility state changes how expensive or risky movement is.
|
|
|
|
Sector movement modifiers:
|
|
|
|
| Condition | Movement Effect | Extra Risk |
|
|
| --------- | --------------- | ---------- |
|
|
| Smoke 4+ | entering costs +1 move | diagnostic range reduced |
|
|
| Smoke 8+ | entering costs +2 move | cannot inspect across sector |
|
|
| Liquid Fuel 4+ | entering costs +1 move | ignition risk follows player tools |
|
|
| Coolant Pooling 4+ | entering costs +1 move | electrocution if charged |
|
|
| Active Fire | blocked unless shielded or suppressed | robot heat rises |
|
|
| Electrified Floor | blocked unless power is cut or insulated | robot damage |
|
|
| Low Pressure / Venting | entering costs +1 move | may push smoke or vapor |
|
|
|
|
The robot is not fragile, but it should not ignore the environment. Hazards create routing puzzles:
|
|
|
|
- the shortest path may become too slow
|
|
- a safe path may require toggling breakers first
|
|
- a locked door may protect the reactor but trap the robot away from tools
|
|
- venting smoke may clear movement while spreading vapor into another sector
|
|
|
|
### Conditions for Fire
|
|
|
|
Fire starts only when fuel, oxygen, and ignition are all present.
|
|
|
|
Fuel sources:
|
|
|
|
- fuel vapor 4+
|
|
- liquid fuel 6+
|
|
- burning machine
|
|
- overheated generator
|
|
|
|
Oxygen sources:
|
|
|
|
- normal unsealed sector
|
|
- open vent
|
|
- open bulkhead connection
|
|
|
|
Ignition sources:
|
|
|
|
- heat 8+
|
|
- electrical arc
|
|
- overloaded generator
|
|
- reactor startup spark
|
|
- pressure rupture through a fuel line
|
|
|
|
Simulation:
|
|
|
|
- If all three conditions are present, the sector gains `Fire`.
|
|
- Fire adds heat each turn.
|
|
- Fire converts nearby liquid fuel into vapor, then consumes it.
|
|
- Fire damages machines and pipes in the sector.
|
|
- Fire adds smoke to the sector and adjacent open sectors.
|
|
- Fire cannot pass through a locked fire-rated bulkhead, but heat can slowly stress that door.
|
|
- Fire dies when fuel is exhausted, oxygen is removed, or suppression exceeds fire intensity.
|
|
|
|
Player-solvable responses:
|
|
|
|
- remove fuel by closing valves or draining liquid
|
|
- remove oxygen by sealing bulkheads or disabling vents
|
|
- remove ignition by cutting power or cooling the sector
|
|
- suppress fire using coolant mist, foam canisters, or vent purge systems
|
|
- deliberately burn off fuel in an isolated sector when the reactor path must be cleared
|
|
|
|
### Fuel and Coolant Interaction
|
|
|
|
Fuel and coolant interact in useful and dangerous ways.
|
|
|
|
- Coolant can reduce heat and prevent fuel ignition.
|
|
- Coolant and fuel liquids don't mix.
|
|
- Coolant mist and fuel vapor don't mix.
|
|
- Coolant mist can suppress fire.
|
|
- A coolant leak near a fuel leak can create a false sense of safety: ignition is delayed while cooling works, then becomes critical if coolant supply runs out.
|
|
|
|
## Problematic States and Player-Solvable Hurdles
|
|
|
|
A hurdle is a problematic state that blocks progress, threatens a loss condition, or changes the route the player can safely use. Every generated hurdle must have at least two viable responses unless the level is explicitly teaching a mechanic.
|
|
|
|
### Fuel Leak Near Ignition Source
|
|
|
|
Problem:
|
|
|
|
A fuel pipe leaks into a sector containing an electrical arc, hot machine, or generator. Vapor will ignite after a visible countdown.
|
|
|
|
System interactions:
|
|
|
|
- fuel loss reduces generator runtime
|
|
- vapor increases fire risk
|
|
- liquid fuel slows movement
|
|
- open doors or vents may spread vapor
|
|
- coolant may delay ignition by lowering heat
|
|
|
|
Viable solutions:
|
|
|
|
- close the upstream fuel valve, then repair the pipe
|
|
- cut power to the ignition source and vent the vapor
|
|
- reroute fuel through a backup line
|
|
- lock both bulkheads, allow controlled burnoff, then reopen after fire dies
|
|
- activate coolant mist to keep heat below ignition while completing another task
|
|
|
|
Simulation details:
|
|
|
|
- Each turn, the pipe adds fuel equal to `Leak Rate`.
|
|
- Heat converts some liquid fuel into vapor.
|
|
- Vapor follows open airflow edges during hazard update.
|
|
- Ignition countdown is calculated from vapor, heat, and active ignition sources.
|
|
- Repairing under pressure costs an extra action or risks increasing leak rate by 1.
|
|
|
|
### Coolant Leak Across Powered Cable
|
|
|
|
Problem:
|
|
|
|
A coolant leak is pooling across a live cable or breaker. The sector will become electrified, blocking movement and possibly disabling power.
|
|
|
|
System interactions:
|
|
|
|
- coolant delivery to the reactor is reduced
|
|
- exposed power converts pooling into electrical charge
|
|
- electrified coolant blocks or damages the robot
|
|
- cutting power may shut down required machines
|
|
|
|
Viable solutions:
|
|
|
|
- toggle the breaker off, cross safely, repair the pipe, then restore power
|
|
- reroute power around the wet sector
|
|
- drain coolant before restoring the cable
|
|
- reroute coolant through a dry pipe path
|
|
- lock the sector and use a remote terminal to operate the machine beyond it
|
|
|
|
Simulation details:
|
|
|
|
- Pooling increases by leak rate each turn.
|
|
- If a live cable exists and pooling is 3+, electrical charge rises.
|
|
- At charge 4+, movement through the sector is blocked unless insulated.
|
|
- At charge 7+, the breaker trips and the connected power network splits.
|
|
- Drains reduce pooling at a fixed rate but may move coolant into lower sectors.
|
|
|
|
### Fuel Leak Plus Coolant Leak
|
|
|
|
Problem:
|
|
|
|
Fuel and coolant leak into the same sector. The coolant suppresses heat temporarily, but the combined spill slows movement and can spread vapor through steam or drainage.
|
|
|
|
System interactions:
|
|
|
|
- coolant delays ignition while available
|
|
- fuel vapor rises if heat climbs after coolant flow stops
|
|
- drainage can spread liquid fuel to another sector
|
|
- steam reduces visibility and increases movement cost
|
|
- repairing either pipe changes the balance of the hazard
|
|
|
|
Viable solutions:
|
|
|
|
- repair fuel first if ignition risk is rising
|
|
- repair coolant first if reactor heat is becoming critical
|
|
- open drains only after isolating downstream sectors
|
|
- vent steam after closing fuel valves
|
|
- maintain coolant flow deliberately while rerouting fuel elsewhere
|
|
|
|
Simulation details:
|
|
|
|
- Fuel and coolant pooling are tracked separately.
|
|
- Coolant reduces heat before vapor is produced.
|
|
- If heat remains 7+ after cooling, steam rises and carries a fraction of vapor along vent paths.
|
|
- Drainage moves a portion of both liquids unless a separator machine is powered.
|
|
- The diagnostic display shows which repair has the larger predicted effect over the next two turns.
|
|
|
|
### Fire Blocking the Critical Route
|
|
|
|
Problem:
|
|
|
|
An active fire blocks the shortest path to a required machine or terminal.
|
|
|
|
System interactions:
|
|
|
|
- fire raises heat and smoke
|
|
- smoke increases movement cost and reduces diagnostic range
|
|
- fire damages nearby pipes, possibly creating secondary leaks
|
|
- bulkheads can contain fire but may cut off access
|
|
- coolant can suppress fire but may cause electrical hazards
|
|
|
|
Viable solutions:
|
|
|
|
- seal bulkheads and take a longer route
|
|
- cut power, then use coolant mist for suppression
|
|
- vent smoke away from the route after removing fuel source
|
|
- sacrifice the burning sector while powering the required machine remotely
|
|
- drain fuel from the sector, wait for fire to consume remaining vapor, then pass
|
|
|
|
Simulation details:
|
|
|
|
- Fire intensity starts at 1-3 based on ignition strength.
|
|
- Each turn, fire consumes fuel and adds heat and smoke.
|
|
- If fuel remains and oxygen is present, intensity rises.
|
|
- Suppression reduces intensity before spread is calculated.
|
|
- Fire spreads only through open doors, vents, or flammable pipe ruptures.
|
|
|
|
### Smoke-Filled Sector
|
|
|
|
Problem:
|
|
|
|
Smoke does not immediately destroy anything, but it makes movement slower and prediction weaker. The player may lose action efficiency before reaching a timed failure.
|
|
|
|
System interactions:
|
|
|
|
- fire creates smoke
|
|
- steam from coolant leaks also counts as smoke
|
|
- vents can clear smoke or move it
|
|
- diagnostics become less useful through heavy smoke
|
|
- smoke can hide floor hazards only if the player has not scanned the sector
|
|
|
|
Viable solutions:
|
|
|
|
- activate ventilation toward a safe exhaust path
|
|
- open a bulkhead to disperse smoke, accepting spread risk
|
|
- route around the sector
|
|
- clear the originating fire or steam source
|
|
- use a diagnostic terminal to inspect through smoke before entering
|
|
|
|
Simulation details:
|
|
|
|
- Smoke rises in sectors with fire or steam.
|
|
- Ventilation moves smoke along active vent edges.
|
|
- Closed bulkheads block smoke spread.
|
|
- Smoke 4+ adds movement cost.
|
|
- Smoke 8+ prevents long-range inspection through that sector.
|
|
|
|
### Pressure Rupture in Fuel Line
|
|
|
|
Problem:
|
|
|
|
A pressurized fuel line is overloaded. If it ruptures, it will spray vapor instead of leaking liquid, creating a fast ignition threat.
|
|
|
|
System interactions:
|
|
|
|
- pressure stress damages the pipe
|
|
- fuel vapor accumulates faster under pressure
|
|
- venting pressure may push vapor into other sectors
|
|
- shutting fuel may starve the generator
|
|
- a pressure regulator can save the pipe but may overload a neighboring route
|
|
|
|
Viable solutions:
|
|
|
|
- rotate valves to reduce pressure before the rupture turn
|
|
- vent pressure into a noncritical empty sector
|
|
- shut down the generator fed by the line and close the fuel valve
|
|
- reinforce the pipe to buy time, then reroute
|
|
- isolate adjacent ignition sources before allowing a controlled rupture
|
|
|
|
Simulation details:
|
|
|
|
- Pipe integrity drops when pressure exceeds rated capacity.
|
|
- At integrity 0, the pipe becomes broken and leak mode changes to spray.
|
|
- Spray converts most leaked fuel directly into vapor.
|
|
- Pressure venting reduces pipe stress but moves vapor along the selected vent path.
|
|
- Reinforcement increases integrity but does not reduce pressure.
|
|
|
|
### Generator Starved by Fuel Loss
|
|
|
|
Problem:
|
|
|
|
A required generator is online but its fuel supply is leaking. It will shut down before the player can activate the reactor.
|
|
|
|
System interactions:
|
|
|
|
- power output depends on fuel flow
|
|
- low fuel causes brownouts, which can jam doors or stop pumps
|
|
- repairing the leak may require moving through the leaking sector
|
|
- routing more fuel may increase pressure and leak rate
|
|
|
|
Viable solutions:
|
|
|
|
- repair the fuel pipe
|
|
- reduce power load by disabling nonessential machines
|
|
- start a backup generator
|
|
- reroute fuel through a lower-pressure path
|
|
- store enough capacitor charge to bridge a short outage
|
|
|
|
Simulation details:
|
|
|
|
- Generator fuel buffer decreases when incoming fuel is below demand.
|
|
- At low buffer, output becomes unstable and power flickers.
|
|
- Flicker advances jam timers on powered doors and reduces pump efficiency.
|
|
- Load shedding reduces fuel demand immediately.
|
|
- Backup generators may produce less power but require fewer stable inputs.
|
|
|
|
### Overheated Generator with Nearby Fuel
|
|
|
|
Problem:
|
|
|
|
A generator is producing needed power but heating a sector that contains fuel vapor or a leaking fuel pipe.
|
|
|
|
System interactions:
|
|
|
|
- power stability conflicts with fire safety
|
|
- coolant can reduce heat but may short exposed cables
|
|
- shutting the generator may disable the coolant pump
|
|
- ventilation may cool the room but add oxygen
|
|
|
|
Viable solutions:
|
|
|
|
- throttle generator output and shed load
|
|
- route coolant through a regulator before cooling the generator
|
|
- repair the fuel leak before raising generator output
|
|
- power the coolant pump from a backup source, then shut down the generator
|
|
- seal the sector and run the generator only long enough to charge capacitors
|
|
|
|
Simulation details:
|
|
|
|
- Generator heat output scales with load.
|
|
- If heat reaches 8 while vapor is 4+, ignition is predicted.
|
|
- Coolant reduces heat after generator output, so undersized cooling may only delay ignition.
|
|
- Load shedding lowers both heat and fuel consumption.
|
|
- Capacitors store temporary power but discharge predictably each turn.
|
|
|
|
### Coolant Starvation and Reactor Heat Rise
|
|
|
|
Problem:
|
|
|
|
The reactor needs cooling, but coolant is leaking, blocked, or diverted. Reactor heat rises toward meltdown.
|
|
|
|
System interactions:
|
|
|
|
- coolant leaks reduce delivered cooling
|
|
- pressure can improve flow but stress pipes
|
|
- power loss stops pumps
|
|
- coolant sent to one overheated machine may starve the reactor
|
|
- steam can block access to valves
|
|
|
|
Viable solutions:
|
|
|
|
- repair the leak on the main coolant route
|
|
- reroute coolant through backup pipes
|
|
- increase pump pressure briefly, accepting pipe stress elsewhere
|
|
- throttle or shut down noncritical hot machines
|
|
- use emergency coolant reserve for a short delay
|
|
|
|
Simulation details:
|
|
|
|
- Reactor heat increases by core instability minus delivered cooling.
|
|
- Delivered cooling equals pump output minus leaks and blocked valves.
|
|
- Pump output requires power and may require pressure.
|
|
- Overpressure increases flow this turn but damages weak pipes.
|
|
- Emergency reserve reduces heat immediately but has limited charges.
|
|
|
|
### Electrified Bulkhead
|
|
|
|
Problem:
|
|
|
|
A bulkhead is needed for containment, but its controls are live, wet, or shorted. The player cannot safely lock or unlock it from the local panel.
|
|
|
|
System interactions:
|
|
|
|
- coolant or water pooling conducts charge
|
|
- power loss may freeze the door in its current state
|
|
- open door spreads smoke, vapor, fire, or pressure
|
|
- closed door may trap the player away from required tools
|
|
|
|
Viable solutions:
|
|
|
|
- cut power to the door circuit, operate manual override, then restore power
|
|
- drain the sector before touching the controls
|
|
- reroute control power through another breaker
|
|
- use a remote terminal if diagnostics are online
|
|
- isolate hazards elsewhere so the door no longer needs to move
|
|
|
|
Simulation details:
|
|
|
|
- Door controls require power unless manual override is available.
|
|
- If control panel charge is 4+, local operation is blocked.
|
|
- If charge reaches 8, the door jams and requires repair.
|
|
- Remote operation requires diagnostic network connectivity.
|
|
- Manual override costs extra actions but ignores power state.
|
|
|
|
### Jammed Door During Hazard Spread
|
|
|
|
Problem:
|
|
|
|
A door that should contain a hazard is jammed open or closed.
|
|
|
|
System interactions:
|
|
|
|
- jammed open allows smoke, vapor, pressure, or fire to spread
|
|
- jammed closed can block the only path to a required system
|
|
- low power or brownouts make jams worse
|
|
- pressure difference across the door may prevent manual movement
|
|
|
|
Viable solutions:
|
|
|
|
- stabilize power, then operate the door
|
|
- equalize pressure on both sides
|
|
- repair the door actuator
|
|
- reroute around the sector
|
|
- create a different containment boundary using adjacent doors
|
|
|
|
Simulation details:
|
|
|
|
- Jam state has a severity from 1-3.
|
|
- Each repair action reduces severity by 1 if pressure difference is safe.
|
|
- Brownouts increase severity on powered doors with active faults.
|
|
- High pressure difference blocks manual override.
|
|
- A closed containment loop is valid even if it uses different doors than the obvious one.
|
|
|
|
### Pressure Venting Through Hazardous Sector
|
|
|
|
Problem:
|
|
|
|
The safe pressure relief path crosses a sector with fuel vapor, fire, or coolant steam. Venting may solve pressure while spreading the hazard.
|
|
|
|
System interactions:
|
|
|
|
- pressure flow moves smoke and vapor
|
|
- venting can add oxygen to a fire
|
|
- pressure can push coolant pooling into lower sectors
|
|
- not venting may burst a pipe
|
|
|
|
Viable solutions:
|
|
|
|
- clear the hazardous sector before venting
|
|
- vent into a sealed sacrifice sector
|
|
- rotate valves to use a lower-capacity but cleaner path
|
|
- lock bulkheads downstream before opening the vent
|
|
- reinforce the pressure pipe and delay venting until another route is ready
|
|
|
|
Simulation details:
|
|
|
|
- Venting reduces network pressure by a fixed amount.
|
|
- Any vapor or smoke in the vent path is moved one sector per turn.
|
|
- If venting feeds a fire with oxygen, fire intensity rises.
|
|
- Sealed sacrifice sectors absorb pressure but lose stability.
|
|
- Reinforced pipes can survive overpressure for a limited number of turns.
|
|
|
|
### Unstable Pipe Chain Reaction
|
|
|
|
Problem:
|
|
|
|
Several damaged pipes are connected. Fixing only the first visible leak may increase flow through the next weak pipe and cause a later burst.
|
|
|
|
System interactions:
|
|
|
|
- repaired pipes restore flow and raise downstream pressure
|
|
- valves can protect one branch by stressing another
|
|
- coolant, fuel, and pressure networks may share physical sectors
|
|
- burst pipes can create fire, steam, or movement hazards depending on medium
|
|
|
|
Viable solutions:
|
|
|
|
- repair the weakest downstream pipe before restoring full flow
|
|
- throttle flow with a regulator
|
|
- reroute around the damaged chain
|
|
- isolate the branch and accept reduced system output
|
|
- use temporary reinforcement to survive until reactor activation
|
|
|
|
Simulation details:
|
|
|
|
- Each pipe has rated pressure and integrity.
|
|
- Flow restoration recalculates pressure across the whole network.
|
|
- Diagnostics show the next predicted failure after a planned valve state.
|
|
- Regulators cap flow but reduce delivered output.
|
|
- Temporary reinforcement decays after a fixed number of turns.
|
|
|
|
### Diagnostic Blind Spot
|
|
|
|
Problem:
|
|
|
|
A required prediction path is obscured by smoke, power loss, or a damaged diagnostic terminal. The player still knows the rules, but future consequences are less projected.
|
|
|
|
System interactions:
|
|
|
|
- smoke limits line-of-sight diagnostics
|
|
- power loss disables terminals and cameras
|
|
- fire or coolant shorts can damage sensors
|
|
- blind spots make multi-turn planning harder but should not hide immediate lethal threats
|
|
|
|
Viable solutions:
|
|
|
|
- restore power to diagnostics
|
|
- clear smoke or reroute camera feeds
|
|
- repair the local sensor terminal
|
|
- physically inspect the sector
|
|
- use conservative containment: close valves, lock doors, and stabilize before proceeding
|
|
|
|
Simulation details:
|
|
|
|
- Blind sectors still show current visible hazards when entered.
|
|
- Predictions beyond the blind sector are shortened or unavailable.
|
|
- Repairing diagnostics restores full forecast for connected systems.
|
|
- The generator must not place a mandatory invisible-only solution behind a blind spot.
|
|
|
|
### Reactor Startup Hazard
|
|
|
|
Problem:
|
|
|
|
The reactor can be activated, but startup creates a predictable heat, pressure, and ignition pulse. Existing leaks can make the final activation unsafe.
|
|
|
|
System interactions:
|
|
|
|
- startup increases heat and pressure for one or more turns
|
|
- fuel vapor in the reactor sector may ignite
|
|
- weak coolant pipes may burst under final pump load
|
|
- power demand may brown out doors or diagnostics
|
|
|
|
Viable solutions:
|
|
|
|
- pre-cool the reactor before activation
|
|
- vent pressure immediately before startup
|
|
- clear or seal fuel vapor in adjacent sectors
|
|
- charge capacitors to cover startup power demand
|
|
- lock containment doors so a noncritical sector absorbs the pulse
|
|
|
|
Simulation details:
|
|
|
|
- Startup applies a scripted but visible pulse profile.
|
|
- The forecast panel shows startup consequences before the player commits.
|
|
- If required systems are online but unstable, `REACTOR READY` becomes `REACTOR READY - UNSAFE STARTUP`.
|
|
- Unsafe startup is allowed if it does not violate hard loss limits, preserving player agency.
|
|
|
|
## Mechanic Simulation Reference
|
|
|
|
The simulation should be simple enough to predict by inspection.
|
|
|
|
### Heat
|
|
|
|
- Heat rises from reactor instability, fire, overloaded generators, and hot machines.
|
|
- Heat falls from coolant, ventilation, shutdown machinery, and time in stable sectors.
|
|
- Heat 7+ accelerates fuel vapor creation.
|
|
- Heat 8+ counts as an ignition source.
|
|
- Heat 10 damages machines and pipes each turn.
|
|
|
|
### Fuel
|
|
|
|
- Fuel is consumed by generators.
|
|
- Fuel can leak as liquid or spray as vapor.
|
|
- Liquid fuel slows movement at high pooling values.
|
|
- Vapor is the main fire risk.
|
|
- Ventilation reduces vapor locally but may move it elsewhere.
|
|
|
|
### Coolant
|
|
|
|
- Coolant removes heat when delivered to a machine or sector.
|
|
- Coolant leaks reduce delivered cooling and create pooling.
|
|
- Pooling can conduct electricity.
|
|
- Coolant contacting high heat creates steam.
|
|
- Sudden coolant on overheated machinery can reduce stability unless regulated.
|
|
|
|
### Power
|
|
|
|
- Power is generated, routed, consumed, stored, and lost.
|
|
- Brownouts do not immediately end the level; they reduce output, jam doors, and weaken pumps.
|
|
- Exposed live power plus coolant pooling creates electrical charge.
|
|
- Breakers define power network boundaries and are important player controls.
|
|
|
|
### Pressure
|
|
|
|
- Pressure moves useful flow but damages weak pipes.
|
|
- Overpressure creates predicted bursts.
|
|
- Pressure vents can save pipes but move airborne hazards.
|
|
- Pressure differences affect door operation.
|
|
- Regulators trade output for safety.
|
|
|
|
### Fire and Smoke
|
|
|
|
- Fire requires fuel, oxygen, and ignition.
|
|
- Fire produces heat and smoke.
|
|
- Smoke slows movement and shortens diagnostics.
|
|
- Fire spreads through open routes and burns fuel.
|
|
- Suppression, oxygen removal, or fuel removal can end fire.
|
|
|
|
### Stability
|
|
|
|
- Stability represents how close a sector, machine, or pipe is to mechanical failure.
|
|
- Stability drops from heat, fire, pressure bursts, electrical shorts, and thermal shock.
|
|
- Repairs restore local stability, not global safety by magic.
|
|
- Global facility stability drops when critical sectors fail, when fire spreads, or when multiple machines break.
|
|
|
|
## Hurdle Design Rules
|
|
|
|
Every hurdle should be generated with:
|
|
|
|
- a clear affected system
|
|
- a visible countdown or consequence
|
|
- at least one local solution
|
|
- at least one systemic solution
|
|
- one tradeoff that may create a secondary problem
|
|
- a validation check that the player can physically reach or remotely affect the solution
|
|
|
|
Local solutions are direct actions:
|
|
|
|
- repair the pipe
|
|
- toggle the breaker
|
|
- rotate the valve
|
|
- lock the door
|
|
- drain the floor
|
|
|
|
Systemic solutions change the wider machine:
|
|
|
|
- reroute flow
|
|
- shed load
|
|
- sacrifice a sector
|
|
- delay activation
|
|
- isolate a hazard and let it burn out
|
|
- use backup storage or reserves
|
|
|
|
The generator should reject a hurdle if:
|
|
|
|
- the only solution requires a disabled mechanic
|
|
- a hard loss occurs before the player can take the minimum required actions
|
|
- the solution requires crossing a blocked sector without an alternate route
|
|
- the forecast cannot explain why the problem is happening
|
|
- two hurdles combine into an unsolvable state before the player can respond
|
|
|
|
## Procedural Level Generation
|
|
|
|
Levels are generated deterministically from a compact generation request.
|
|
|
|
|
|
## Generation Inputs
|
|
|
|
### Seed
|
|
|
|
The seed initializes the deterministic random number generator.
|
|
|
|
### Enabled Mechanics
|
|
|
|
The enabled mechanics list defines which systems may appear in the level.
|
|
|
|
Example mechanics:
|
|
|
|
- `power`
|
|
- `cooling`
|
|
- `doors`
|
|
- `fuel`
|
|
- `failures`
|
|
|
|
The generator may only use mechanics from this list.
|
|
|
|
If a mechanic is not enabled:
|
|
|
|
- it must not be required for victory
|
|
- it must not appear as an unresolved hurdle
|
|
- it must not be needed to understand another generated system
|
|
|
|
For every mechanic enabled:
|
|
|
|
- the generator should include at least one meaningful use of that mechanic
|
|
- the mechanic may appear as a direct hurdle, a solution path, or an interaction with another hurdle
|
|
- if the mechanic is required for victory, the level must teach or expose its state before it becomes critical
|
|
|
|
Mechanic requirements:
|
|
|
|
| Mechanic | Required Presence | Example Hurdle | Example Solution Role |
|
|
| -------- | ----------------- | -------------- | --------------------- |
|
|
| `power` | at least one machine needs routed power | split power network | shed load to keep coolant pump online |
|
|
| `cooling` | at least one heat source needs cooling | coolant starvation | suppress fire or protect generator |
|
|
| `doors` | at least one sector boundary matters | jammed bulkhead | isolate vapor, fire, smoke, or pressure |
|
|
| `fuel` | at least one generator or fuel pipe matters | fuel leak near ignition | choose between power uptime and fire safety |
|
|
| `pressure` | at least one pipe network carries stress | pressure rupture | improve flow or vent hazard |
|
|
| `failures` | at least one timed degradation occurs | pipe burst in 3 turns | repair, reroute, isolate, or delay |
|
|
|
|
For every disabled mechanic, the level cannot generate associated tiles nor require associated actions.
|
|
|
|
Disabled mechanics also limit interactions. For example:
|
|
|
|
- if `fuel` is disabled, fire cannot require fuel-vapor reasoning
|
|
- if `cooling` is disabled, overheated machines must be solvable through shutdown, venting, or power load changes
|
|
- if `doors` are disabled, containment cannot require bulkhead locking
|
|
- if `power` is disabled, machines may be manually operated, pressure-driven, or already powered by abstract local supply
|
|
|
|
### Interaction Density
|
|
|
|
The generator should distinguish primary hurdles from interaction consequences.
|
|
|
|
Primary hurdle:
|
|
|
|
- the problem counted by `Hurdle Count`
|
|
- visible from the start or revealed by an explicit scheduled event
|
|
- has a named forecast and at least two viable responses
|
|
|
|
Interaction consequence:
|
|
|
|
- emerges from simulation because of a primary hurdle or player solution
|
|
- does not count against `Hurdle Count` unless it is deliberately generated as a primary hurdle
|
|
- must be forecast before it becomes critical
|
|
|
|
Example:
|
|
|
|
- Primary hurdle: fuel pipe leak near Generator A.
|
|
- Interaction consequence: coolant mist can suppress the heat but may electrify the wet floor if Breaker B remains on.
|
|
|
|
The generator can deliberately pair mechanics:
|
|
|
|
| Pair | Readable Interaction |
|
|
| ---- | -------------------- |
|
|
| fuel + power | generator uptime versus ignition risk |
|
|
| fuel + cooling | cooling delays ignition but leaks may create steam |
|
|
| cooling + power | coolant pooling creates electrical hazards |
|
|
| pressure + fuel | rupture converts liquid leak into vapor spray |
|
|
| pressure + doors | pressure difference blocks manual door operation |
|
|
| fire + doors | containment protects the reactor but may block access |
|
|
| smoke + diagnostics | predictions shorten until visibility is restored |
|
|
|
|
Difficulty can increase interaction density, but it should not make every hurdle interact with every other hurdle. A readable level usually has one dominant interaction and one secondary interaction.
|
|
|
|
### Hurdle Count
|
|
|
|
Defines how many major problems the level contains.
|
|
|
|
A hurdle is a meaningful obstacle that requires player attention, not just decorative damage.
|
|
|
|
Examples:
|
|
|
|
- a leaking pipe that prevents cooling from reaching the reactor
|
|
- a pressure route that will burst in 3 turns unless rerouted
|
|
- a locked door separating the player from a required generator
|
|
- a short circuit splitting the power network
|
|
- an overheating machine that must be cooled before activation
|
|
- a sector that must be sacrificed to protect the core
|
|
|
|
The generator should create an exact amount of primary hurdles.
|
|
|
|
Secondary consequences may emerge from simulation, but the initial readable puzzle should have the requested number of main hurdles.
|
|
|
|
### Difficulty
|
|
|
|
Difficulty controls pressure on the player, not randomness.
|
|
|
|
It can affect:
|
|
|
|
- max move distance
|
|
- starting global resource values
|
|
- distance between important machines
|
|
- urgency of scheduled failures
|
|
- amount of spare power, coolant, or fuel
|
|
- number of safe rerouting options
|
|
- repair costs
|
|
- density of damaged infrastructure
|
|
- how many hurdles interact with each other
|
|
|
|
Difficulty should not make the level less readable. Higher difficulty should create tighter tradeoffs and less slack.
|
|
|
|
### Solvability Validation
|
|
|
|
After generation, the level should run a deterministic validation pass.
|
|
|
|
Validation checks:
|
|
|
|
- every required system has a reachable activation path
|
|
- every primary hurdle has at least two possible solution plans
|
|
- no hard loss occurs before the player can take the shortest valid response
|
|
- every forecasted hazard has at least one visible cause
|
|
- generated interactions use only enabled mechanics
|
|
- movement hazards do not trap the player without a remote solution or alternate route
|
|
- final reactor startup has at least one safe or knowingly risky path
|
|
|
|
The validator does not need to find the best solution. It only needs to prove that the level is not impossible, unreadable, or dependent on hidden information.
|
|
|
|
## Hurdle Template Examples
|
|
|
|
### Cooling Pipe Leak
|
|
|
|
Problem:
|
|
|
|
Cooling does not reach the reactor. Reactor heat rises every turn.
|
|
|
|
Solutions:
|
|
|
|
- repair the leaking pipe
|
|
- reroute cooling through an alternate pipe path
|
|
- activate backup cooling
|
|
|
|
Difficulty modifiers:
|
|
|
|
- higher difficulty places the leak farther from the player
|
|
- higher difficulty adds a scheduled pipe burst
|
|
- higher difficulty reduces starting cooling
|
|
|
|
### Pressure Overload
|
|
|
|
Problem:
|
|
|
|
Pressure is building in a pipe network and will burst in a visible number of turns.
|
|
|
|
Solutions:
|
|
|
|
- rotate valve to redirect pressure
|
|
- vent pressure into a noncritical sector
|
|
- isolate the overloaded sector
|
|
|
|
Difficulty modifiers:
|
|
|
|
- higher difficulty creates consequences for every reroute
|
|
- higher difficulty gives fewer safe vent paths
|
|
|
|
### Split Power Network
|
|
|
|
Problem:
|
|
|
|
A required machine is not powered because the power network is split.
|
|
|
|
Solutions:
|
|
|
|
- reconnect cable
|
|
- toggle breaker
|
|
- activate backup generator
|
|
- deactivate a nonessential machine to free capacity
|
|
|
|
Difficulty modifiers:
|
|
|
|
- higher difficulty reduces spare power
|
|
- higher difficulty makes the player choose which machine stays offline
|
|
|
|
### Jammed Bulkhead
|
|
|
|
Problem:
|
|
|
|
A sector must be isolated, but a door is jammed or unpowered.
|
|
|
|
Solutions:
|
|
|
|
- repair door control
|
|
- restore power to the door
|
|
- take a longer route to another door
|
|
|
|
Difficulty modifiers:
|
|
|
|
- higher difficulty adds a countdown before the hazard spreads
|
|
- higher difficulty places useful resources behind the same door
|
|
|
|
### Overheating Machine
|
|
|
|
Problem:
|
|
|
|
A required machine cannot be activated until heat is reduced.
|
|
|
|
Solutions:
|
|
|
|
- route cooling to the sector
|
|
- reduce power load
|
|
- activate venting system
|
|
|
|
Difficulty modifiers:
|
|
|
|
- higher difficulty links cooling to another already stressed system
|
|
|
|
## Example Level: Cooling Sector B
|
|
|
|
### Starting Global Values
|
|
|
|
| System | Value |
|
|
| ------ | ----- |
|
|
| Power | 6/10 |
|
|
| Cooling | 2/10 |
|
|
| Pressure | 7/10 |
|
|
| Heat | 6/10 |
|
|
| Stability | 5/10 |
|
|
|
|
### Hurdles
|
|
|
|
1. Cooling pipe leak between the pump room and reactor chamber.
|
|
2. Pressure overload in the maintenance shaft, predicted to burst in 3 turns.
|
|
3. Bulkhead door can isolate the damaged sector, but doing so cuts off access to a generator.
|
|
|
|
### Player Options
|
|
|
|
#### Option A: Repair the Cooling Pipe
|
|
|
|
Cost:
|
|
|
|
- 2 actions
|
|
|
|
Effect:
|
|
|
|
- cooling reaches the reactor again
|
|
|
|
Tradeoff:
|
|
|
|
- the pressure overload remains unresolved
|
|
|
|
#### Option B: Rotate the Pressure Valve
|
|
|
|
Cost:
|
|
|
|
- 1 action
|
|
|
|
Effect:
|
|
|
|
- reactor pressure stabilizes
|
|
|
|
Tradeoff:
|
|
|
|
- pressure rises in the maintenance shaft
|
|
- pipe burst predicted there in 3 turns
|
|
|
|
#### Option C: Lock the Bulkhead Door
|
|
|
|
Cost:
|
|
|
|
- 1 action
|
|
|
|
Effect:
|
|
|
|
- damaged sector is isolated
|
|
- escalation stops there
|
|
|
|
Tradeoff:
|
|
|
|
- generator behind the door becomes unreachable
|
|
- global power will slowly decline
|
|
|
|
## Design Pillars
|
|
|
|
### Deterministic Systems
|
|
|
|
The same actions in the same state always produce the same outcome.
|
|
|
|
### Visible Consequences
|
|
|
|
The player should see upcoming failures and understand why they will happen.
|
|
|
|
### Meaningful Tradeoffs
|
|
|
|
The player should often solve one problem by making another problem worse.
|
|
|
|
### Procedural but Authored-Feeling
|
|
|
|
Generated levels should feel intentionally designed. The generator should use templates, validation, and readable system graphs instead of placing random damage everywhere.
|
|
|
|
### Resource Prioritization
|
|
|
|
The real puzzle is not a single lock-and-key solution. It is deciding which systems matter most and which losses are acceptable.
|
|
|
|
## Summary
|
|
|
|
This is an industrial chain-reaction puzzle game.
|
|
|
|
The player wins by understanding a deterministic machine under stress. Procedural generation creates replayable levels from a seed, a list of enabled mechanics, a requested number of hurdles, and a difficulty value. The generator's job is not to create chaos. Its job is to create readable, solvable, systemic problems with clear consequences and hard choices.
|