You are the operator. One number matters: grid frequency, and it should read 60.00.

Generation and demand have to match at every instant. When they don’t, the mismatch goes into or out of the kinetic energy of every spinning machine on the grid, and they all speed up or slow down together. That shows up as frequency. It is the only number you need, and it is never still.

What you’re actually doing

Dragging output bars, and thinking three steps ahead while you do it.

Coal takes forty-four seconds to cross its range, so you move it before you need it. Gas is quick and expensive. A peaker synchronises in seven seconds and costs ten times what nuclear does. Hydro answers instantly but the reservoir is a budget for the whole day. Wind is free, and it lies to you. Solar dies at exactly the hour demand peaks.

And underneath all of it: inertia. Spinning machines store kinetic energy, and that energy is the only thing standing between a disturbance and a blackout. A grid full of coal is filthy, expensive and forgiving. A grid full of inverters is cheap, clean, and moves four times as fast when something breaks. That trade-off is the whole game.

Twelve shifts, one lesson each

From a quiet midday with three machines and nothing wrong, through the morning ramp, regulation, weather, the duck curve, a night where the problem is too much generation, a plant tripping off the grid, the cost of safety, energy budgets, and finally a full day on a grid with nothing burning in it.

Plus a daily grid seeded from the date — same fleet, same weather, same faults for everyone who plays that day — and an endless mode that keeps going until it takes you.

The physics is real

Not thematically real. The frequency comes out of the swing equation. Governors respond on 5% droop, limited by how fast that particular machine can actually move. Automatic generation control trims fifteen percent of a unit and no more, so it handles the noise and you handle the trend. Under-frequency relays shed load in stages at 59.30 Hz and only give it back once you have held 59.85 for three seconds — which means balancing supply and demand is not enough to recover, you have to deliberately over-generate. Grid-forming inverters emulate inertia. Synchronous condensers burn nothing, produce nothing, spin, and are the reason the last shifts are survivable at all.

Listen to it

A transformer hums at twice grid frequency. So does this game — the hum is a real tone driven by the simulation, and when the grid sags you hear it sag before you look at it. After a while you stop watching the needle.

Controls

  • Drag a unit’s bar to dispatch it · 1–8 select · arrows trim 10 MW · shift+arrows 50 MW
  • G regulation · B breaker · Space pause · H rules · M mute · F fullscreen
  • Works with touch, in landscape, on a phone.

How it’s built

One HTML file. No engine, no asset packs, no network calls. Every sound is synthesised in the browser, the font is a 5×7 bitmap drawn glyph by glyph, and the whole console is painted into a single canvas.

Every shift was balanced against bot operators of different skill — one asleep at the desk, one leaning on the autopilot, one reading the forecast — until the careless one loses customers and the careful one doesn’t. Along the way the harness found eight shifts that were physically unwinnable and two places where the simulation punished you for something that wasn’t your fault. Those are fixed.

It was built with the help of an AI assistant (Claude), which wrote the code, the simulation, the balance harness and the sound synthesis. Directed and tested by a human.

Free. Tip jar’s right there if it earned one.

Development log

Leave a comment

Log in with itch.io to leave a comment.