Each cube along the riverbank is a factory. A green-roofed factory has invested in pollution prevention — filters, treatment plants, safer process design — and pays a small, steady cost every tick but never pollutes. An amber-roofed factory skips that spend and discharges waste (the drifting particles) straight into the river, building up its own local waste stockpile, which is drawn as a glowing dome that grows the longer contamination goes unmanaged.
d(localWaste)/dt = emission · (1 − prevention)
d(river)/dt = Σ emission·(1−prevention) − decay·river
audit: P(catch) = inspectionRate·dt → fine + cleanup·localWaste, localWaste→0
river ≥ threshold → forced cleanup order (major cost), river partially reset
- Factories — how many discharge points feed the river; more polluters raise contamination faster for a given adoption rate.
- Prevention adoption — the share of factories that pay upfront to avoid pollution instead of risking downstream liability.
- Inspection rate — how often regulators audit a polluting factory; low inspection rates let liability sit unpaid until the river crosses the spill threshold.
- Fine severity — the regulatory penalty multiplier applied whenever an audit catches an active polluter.
- Cleanup cost — the multiplier on remediating a factory's accumulated local waste, whether triggered by an audit or a river-wide spill order.
Real-world relevance: because cleanup and fines scale with how much contamination was allowed to accumulate, waiting to be caught is rarely cheaper than steady prevention spending — the total liability bar tends to overtake prevention spend as adoption drops and inspection stays lax.