Professor Oops

Electricity

Electricity

The current finds its own way through whatever you draw

Clip a toy battery to a drawing and the game works out the electricity on every tiny spot of the paper, in real volts, ohms and amps. Nothing tells it how the wires are joined. A copper line lights a bulb, a pencil line carries a trickle too small to see, salty water carries enough to turn sour at one clip, and too much current burns a bulb out with a pop.

Painted illustration of the painter stroking his beard as he looks at a light bulb in his hand, a magnifying glass and a crayon on the table.

Draw a shortcut round a bulb and it goes dark, because the game stores no wiring at all

A child picks up the battery, clips its two leads onto the page and draws. The battery and the bulbs are objects you can pick up. How they are joined is stored nowhere. Every spot of the paper knows only what lies on it: copper, pencil lead, salty water, a blob of ketchup, or nothing.

From that, the game works out a voltage for every spot, so the current finds its own way. Where a path splits, the current splits. Draw a shortcut round a bulb and nearly all of it takes the shortcut, and the bulb goes dark. Punch a hole through the wire and the current drops to exactly zero; an automated test checks it.

The current finds its own way through whatever you draw

For engineers

The current finds its own way through whatever you draw

A discrete ∇·(σ∇V) = 0 over the conducting part of a grid of up to 512 × 384 cells (each about 0.6 mm), with σ in siemens per square read from what lies on each cell, copper and pencil nearly eight orders of magnitude apart. It's solved by symmetric over-relaxed Gauss-Seidel inside a per-tick work budget, then put in series with the battery's own resistance by Ohm's law: I = V/(R + r). One bulb on the 1.5 V cell reads 0.273 A, against 0.272 A from an exact solve of the same grid.

Under the hood
Draw a shortcut round a bulb and it goes dark, because the game stores no wiring at all

Under the hood

Draw a shortcut round a bulb and it goes dark, because the game stores no wiring at all

The circuit keeps no map of its own. It reads layers of the page that other tools share: how much metal lies on a cell and what kind, pencil graphite, how wet the cell is, what is dissolved in its water, salty goop, and holes. Bulbs and steel pin points are stamped over that.

From the + clip it floods outward over every cell that conducts at all. If the flood reaches the − clip, the circuit is closed. Neighbours are joined as two half-cells in series, the harmonic mean of their conductivities, so copper beside pencil passes only what the pencil allows:

g = 2 σ1 σ2 / (σ1 + σ2)

The clips hold fixed voltages, and each free cell is pulled again and again toward the conductance-weighted mean of its four neighbours, a little past it to get there sooner. Once nothing moves any more, that is Kirchhoff's current law at every cell:

Vk ← Vk + ω · ( Σ g·Vnb / Σ g − Vk )

Engineers know this as successive over-relaxation Young 1954, and current spreading through a flat sheet was studied as early as 1845 Kirchhoff 1845. Those are the classic names for what the game does; we found the papers later. It runs in plain JavaScript in the simulation's Web Worker, with no WebAssembly twin.

A drawing pin pushed through two wires that don't touch joins them, because the game counts a pin's steel point as metal that conducts. The pin has no circuit code of its own, and a test pins that down. Two wires that cross are joined too. Drawn wire has no insulation.

Draw in the demo below. It runs the game's own rule and constants on a smaller page.

A copper line drawn from the battery's plus clip through a torch bulb to the minus clip, the bulb lit with a warm halo on the paper.
In the game: a copper line drawn from clip to clip through a torch bulb on the 1.5 V cell. The bulb gets 0.35 W, about half its rated 0.75 W, and the game draws it about half bright.
Try it: draw a circuit The game's own rule

The red + and the dark − are the battery's clips. Pick a starting drawing, then draw with copper, pencil or salty water, put bulbs down (up to four, as in the game) or rub things out. Draw on the page, or use the buttons: Draw a wire from clip to clip, Put down a bulb, Draw a wire round a bulb and Rub a hole in the wire. What to look for: two bulbs in a row go dim, side by side they stay bright, a wire round a bulb puts it out, and 9 V burns a single bulb out within a couple of seconds. In salty water, watch the ends of the wires: acid (pink) gathers where the current goes into the water and alkali (blue-violet) where it comes out. Turn on Voltage to see the volts on every spot, red at + and blue at −.

A page with two battery clips; draw copper, pencil or salty water and place bulbs, and the current is worked out on every cell
  • +
  • −
  • 1.5 V battery
  • 9 V battery
Start from
Draw with
Battery
current
—
page
—
bulb 1 (1 = full power)
—
bulb 2
—
bulb 3
—
bulb 4
—
solver
—
sweeps
—
acid made
—
alkali made
—

One rule decides how well everything conducts, from copper to pencil

Copper, a pencil line, salty water and ketchup all go through the same short rule: how much of each thing is on this spot, times how well that thing conducts. Copper over pencil in a puddle adds up. In the game plain water carries nothing, because nothing is dissolved in it; real tap water carries a little. A crayon line carries nothing at all, and a test checks that too.

The range is enormous. Copper conducts fifty million times better than the heaviest pencil line, and both sit on the same page in the same calculation. A test lays wire, pencil, salty water, ketchup and steel on one page and checks that every cell in the circuit gets exactly what the rule says.

A drawn copper line has the resistance of a real 0.5 mm copper wire, length for length: 0.083 Ω a metre in the game, against 0.086 Ω a metre from copper's resistivity (HyperPhysics lists 84.2 Ω per km for 24-gauge wire).

The pencil is honest too. A pencil line really does conduct, and the game really does send current through it: with the real tools, 27 µA at 1.5 V over most of a page, 160 µA at 9 V. That is far too little for a torch bulb, as in real life, and nothing on the page shows it. So the game never pretends a pencil drawing can light a bulb.

Ketchup, mustard and tomato sauce conduct too. In the released game how well each one conducts is a number typed in by hand. In the next update next update it comes from their real salt share times their water, so ketchup (2.5 % salt) and tomato sauce (1 %) conduct in the ratio of their salt times their water. A test pins that ratio.

Under the hood
One rule decides how well everything conducts, from copper to pencil

Under the hood

One rule decides how well everything conducts, from copper to pencil

Each cell's conductivity, in siemens per square, is one sum: how much of each conducting thing lies there, times how well that thing conducts. Metal counts by its kind, pencil by how much graphite is down, and water only by what is dissolved in it, each dissolved thing with its own weight, and only as far as the cell is damp. Salty goop adds its share by its height. A hole conducts nothing. Dry salt crystals don't count; only dissolved salt does.

The copper is calibrated against a real wire. A real 0.5 mm copper wire, by R = ρ/A with ρ = 1.68 × 10⁻⁸ Ω·m, is 0.086 Ω/m. A line drawn with the wire tool comes out at 0.083 Ω/m, measured by shorting the 1.5 V cell with a known length of it. The thin steel wire lands at 14 to 15 Ω/m: the right range for fine steel, not calibrated like the copper.

Pencil: each stroke adds graphite, up to full cover, so pressing harder or going over a line conducts better.

How well each thing conducts, on one page (siemens per square, log scale)

Copper wire conducts 10,000 siemens per square, a pin's point 300, steel wire 100, steel wool 1.5, a bulb 0.42, salty water 0.02, ketchup 0.016 and the heaviest pencil line 0.0002.

How well each thing conducts, on one page (siemens per square, log scale)0.000010.00010.0010.010.1110100100010 000100 000coppersteelbulbketchupS per squareHow well each thing conducts, on one page (siemens per square, log scale)0.000010.00010.0010.010.1110100100010 000100 000copperwoolketchupS per square
Data table
How well each thing conducts, on one page (siemens per square, log scale)
conductance
copper10 000
pin300
steel100
wool1.5
bulb0.42
salt water0.02
ketchup0.016
pencil0.0002

Source: The game's values at full cover: copper wire, a pushpin's steel point, thin steel wire, steel wool, a bulb in its holder. Salty water is fully salted and wet through; ketchup is the released game's typed value (0.034 by its real salt in the next update); pencil at graphite 1, the heaviest line. Plain water and crayon are 0, so they have no bar. Copper to pencil: 5 × 10⁷.

Try it: why a pencil can't light a bulb Illustration

A copper circuit with one bulb, and a gap in the wire bridged by a strip 6 cells wide (3.6 mm at full size). It uses the game's conductances, battery, bulb rating and burn-out rule, but adds up the circuit as resistors in a row (the rest of the page's 5.3 Ω, the strip, the battery) instead of solving every cell, and its steel wool is a solid strip where the game's is a loose tangle. Choose what the strip is made of and how long it is. What to look for: copper and steel wire hardly change anything. Pencil carries well under a milliamp, and the bulb stays dark. Steel wool lights the bulb dimly on 1.5 V; on 9 V it lets through enough to burn the bulb out.

A copper circuit with one bulb and a gap bridged by a chosen material; the bulb glows by the watts it gets
  • copper
  • steel wire
  • steel wool
  • salty water
  • ketchup
  • pencil
  • crayon
  • burnt out: press Reset
  • no current at all
  • too little to light it
  • enough to burn it out
  • the bulb lights
  • 1.5 V
  • 9 V
Strip of
Battery
20 cells
strip
—
strip length
—
current
—
bulb
—
bulb, under a milliwatt
—
glow
—

Bulbs in a row go dim and side by side stay bright, and nobody wrote that rule

Put one bulb on the 1.5 V cell and it glows at about half its rated power. Put two in a row and each glows at about a quarter of that. Put two side by side and each stays nearly as bright as the single one, while the battery pushes out nearly twice the current. Real bulbs on a real battery do the same, in kind. Nowhere in the code is there a rule for "in a row" or "side by side". The grid of spots works it out.

Ohm's law says what to expect. If one bulb's path is 5.3 Ω, two in a row should be 10.6 Ω, and two side by side should be 2.65 Ω. The game's grid gives 10.6 Ω and 2.65 Ω, and the currents follow: 0.139 A and 0.526 A against 0.273 A for one.

We are careful about what this proves. The battery's own step is the school formula, written into the code: current equals voltage divided by the page's resistance plus the battery's own. So the same 5.3 Ω coming out of both batteries is built in, not a discovery. What the grid really computes is the page's resistance, and that is what we check: against an exact solve of the same grid, against Ohm's law for series and parallel, and against a real copper wire.

Under the hood
Bulbs in a row go dim and side by side stay bright, and nobody wrote that rule

Under the hood

Bulbs in a row go dim and side by side stay bright, and nobody wrote that rule

The solve runs at 1 V and is scaled afterwards. The page's conductance is read from the heat the voltages make, summed over every link between cells, and then the battery goes in series by Ohm's law:

G = Σ g·ΔV² , R = 1/G
I = Vbat / (R + r) , Vt = I·R

Batteries: 1.5 V with r = 0.2 Ω; 9 V with r = 2 Ω, about what real ones have. Constant: no charge, no sag.

Figures measured on the released engine and reproduced by an independent re-creation: one bulb 0.273 A at 1.5 V and 1.233 A at 9 V, both 5.3 Ω; exact solve of the same grid 5.31 Ω, 0.272 A. In a row 0.139 A; side by side 0.526 A against an exact 0.525. The automated tests check that bulbs light, dim and burn out as they should, with margins, not these exact figures.

0.273 A
One bulb: glow 0.47
0.139 A
Two in a row: glow 0.12 each
0.526 A
Side by side: glow 0.435 each
7.11 A
Wire round the bulb: bulb dark, a real short
Two torch bulbs in a row on one copper wire between the clips of the 1.5 V battery, each with only a faint yellow glow and no halo.
In the game: two bulbs in a row on the 1.5 V cell. Each gets about a quarter of what a single bulb gets: no halo, only a faint glow. Nothing in the code says "series".
Series and parallel, on the 1.5 V cell

One bulb: 0.273 A and a glow of 0.47. Two in a row: 0.139 A and 0.12 each. Side by side: 0.526 A and 0.435 each.

Series and parallel, on the 1.5 V cell0.00.10.20.30.40.50.6one bulbtwo in a rowside by sideamps, or glowSeries and parallel, on the 1.5 V cell0.00.10.20.30.40.50.6one bulbtwo in a rowside by sideamps, or glow
  • battery current (A)
  • each bulb's glow (1 = its rated 0.75 W)
Data table
Series and parallel, on the 1.5 V cell
battery current (A)each bulb's glow (1 = its rated 0.75 W)
one bulb0.2730.47
two in a row0.1390.12
side by side0.5260.435

Source: Measured on the released engine, and reproduced to 0.01 A by an independent re-creation with the same constants. Ohm's law from one bulb's 5.3 Ω predicts 0.139 A and 0.526 A.

A small cell beats a big battery on a shortAlong the bottom, the resistance as a power of ten: −3 is 0.001 Ω, 0 is 1 Ω, 2 is 100 Ω.

At 0.001 Ω the 1.5 V cell gives 7.46 A and the 9 V block 4.5 A; at 100 Ω they give 0.015 A and 0.088 A.

A small cell beats a big battery on a short02468−3−2−1012resistance of the drawing, power of ten (Ω)current (A)dead shortthey crossone bulbA small cell beats a big battery on a short02468−3−2−1012resistance of the drawing, power of ten (Ω)current (A)dead shortthey crossone bulb
  • 1.5 V cell, 0.2 Ω inside
  • 9 V block, 2 Ω inside
Data table
A small cell beats a big battery on a short
resistance of the drawing, power of ten (Ω)1.5 V cell, 0.2 Ω inside9 V block, 2 Ω inside
−37.46274.4978
−2.957.45824.4975
−2.97.45314.4972
−2.857.44744.4968
−2.87.4414.4964
−2.757.43394.496
−2.77.42594.4955
−2.657.4174.495
−2.67.4074.4944
−2.557.39584.4937
−2.57.38334.4929
−2.457.36934.492
−2.47.35364.4911
−2.357.33624.49
−2.37.31664.4888
−2.257.29494.4874
−2.27.27064.4858
−2.157.24364.4841
−2.17.21354.4822
−2.057.184.48
−27.14294.4776
−1.957.10164.4749
−1.97.05594.4719
−1.857.00524.4684
−1.86.94934.4646
−1.756.88764.4603
−1.76.81974.4556
−1.656.7454.4502
−1.66.66314.4442
−1.556.57364.4375
−1.56.4764.43
−1.456.36994.4216
−1.46.25494.4122
−1.356.13074.4017
−1.35.99724.39
−1.255.8544.3769
−1.25.70134.3624
−1.155.53934.3462
−1.15.3684.3281
−1.055.18814.308
−154.2857
−0.954.80464.261
−0.94.60274.2335
−0.854.39564.2031
−0.84.18424.1696
−0.753.97014.1326
−0.73.75444.0918
−0.653.53884.047
−0.63.32463.9979
−0.553.11313.9442
−0.52.90573.8856
−0.452.70363.822
−0.42.50793.753
−0.352.31953.6784
−0.32.13923.5983
−0.251.96763.5124
−0.21.80513.4208
−0.151.65213.3236
−0.11.50863.2208
−0.051.37463.1128
01.253
0.051.13462.8828
0.11.02822.7616
0.150.93022.6373
0.20.84042.5105
0.250.75822.382
0.30.68332.2527
0.350.61512.1233
0.40.55311.9947
0.450.4971.8678
0.50.44611.7434
0.550.40021.6222
0.60.35881.5047
0.650.32141.3917
0.70.28781.2835
0.750.25761.1806
0.80.23041.0831
0.850.20610.9912
0.90.18420.9051
0.950.16460.8247
10.14710.75
1.050.13130.6808
1.10.11730.6169
1.150.10470.5581
1.20.09350.5042
1.250.08340.4549
1.30.07440.41
1.350.06640.369
1.40.05920.3319
1.450.05280.2982
1.50.04710.2677
1.550.0420.2401
1.60.03750.2153
1.650.03340.1929
1.70.02980.1727
1.750.02660.1545
1.80.02370.1383
1.850.02110.1236
1.90.01880.1105
1.950.01680.0988
20.0150.0882

Source: Ohm's law, I = V/(R + r), with the game's two batteries. The curves cross at 0.16 Ω. Below that the 1.5 V cell pushes more current; on a dead short, 7.5 A against 4.5 A.

The current heats the same paper a match does

Wherever current flows, it warms the spots it passes through, in joules, into the same temperature the matches, the iron and the sun through a magnifying glass write to. So everything heat does follows. Steel wool on the 9 V battery passes 500 °C within two seconds and catches fire where the clips bite; in the test the paper under it catches too. The warmth of a hot wire rises into the air above it. A fly on a glowing wire is off it at once, unhurt, by the same "too hot to sit on" it uses for anything hot. Automated tests check each of these.

Why does steel wool burn on 9 V and not on 1.5 V? A pad 36 mm long is about 9.5 Ω. On 9 V that lets through about 0.78 A, nearly 6 W into a tangle of thin strands that hold very little heat, so they warm by hundreds of degrees a second before much heat can leave. On 1.5 V it's about 0.23 W, and the game's general cooling keeps up, so the wool only gets warm.

A copper line straight across the 1.5 V cell carries 7 A, yet stays under 60 °C, which a test checks. The cell's own 0.2 Ω limits the current, and a small cell can push more than the big battery: on a dead short the 1.5 V cell gives 7.5 A and the 9 V block only 4.5 A, because the block's insides resist ten times as much.

Bulbs have a limit of their own. The game's torch bulb is rated 0.75 W. Run it far past that for more than a moment and it burns out with a spark and a pop. One bulb on 9 V gets about 7 W, so it goes; a test checks it. Wear adds up: a bulb that was overdriven for a moment is closer to its end.

Metal that gets hotter than its melting point melts through there, with a spark, and opens the circuit like a fuse. The code does this; no test covers it yet.

Under the hood
The current heats the same paper a match does

Under the hood

The current heats the same paper a match does

Each cell's watts come from the same voltages the current is read from, half of the heat on each of its links (Joule heating, P = I²R, cell by cell):

P = ½ · Σlinks g·ΔV² · Vt²
ΔT = P·Δt / C

C is the cell's heat capacity in J/K: the paper, plus metal, water and goop by how much of each lies there. A bare cell holds about what 0.6 × 0.6 mm of ordinary 80 g/m² paper holds. The heat goes into the same temperature the fire uses, through the fire step and its bit-exact WebAssembly twin. Summed over the circuit, the watts equal I·Vₜ exactly once the voltages have settled, because the reading and the heating use the same sum.

Heat goes in physically. It goes out by the fire's general rules (spreading along metal, a steady loss), which are not in real units. So heating rates are physical and steady temperatures are not.

Bulbs: the glow eases toward the bulb's watts over its rating. Well past the rating, overload time adds up, and after a short limit the bulb opens for good. Melting: copper 1085 °C, steel 1450 °C, their real melting points.

One honest gap: a cell of copper holds the heat of a real 0.6 mm length of 0.5 mm wire, but a drawn wire is about two cells wide. So a drawn copper wire holds about twice a real wire's heat and warms about half as fast.

What happens as a wire gets hotter
TemperatureWhat happens
150 °CA calm safety word about hot thin wire or steel wool
170 °CHot spots start to glow on screen
230 °CPaper catches fire
250 °CYou hear the wire sizzle
450 °CSteel wool burns, from any heat
1,085 °CCopper melts through: the circuit opens
1,450 °CSteel melts through
1,600 °CThe current can heat nothing further

The game's own thresholds, from the circuit, the fire and the drawing.

A strip of steel wool between the clips of the 9 V battery, glowing white-hot and catching fire where each clip bites into it.
In the game: steel wool between the clips of the 9 V battery, a second after the second clip goes on. Where the clips bite, the current squeezes through a few strands, so it glows there first and catches fire. By the code, a match should light the same steel wool, because above 450 °C it burns, whatever heated it.

Salty water turns sour or alkaline wherever the current goes in or out

Pour salty water on the page and clip the battery into it. The game puts a few small bubbles at the clips, hard to tell apart from the salt. The water by the + clip turns sour, and the water by the − clip turns a little alkaline. On paper dipped in red cabbage juice you can see it: the water by the + clip goes pink. A test checks it.

Nothing marks a wire's end as special. Besides the clips themselves, the game looks for spots where water that carries current by its dissolved salt meets something that carries it as metal does: a copper wire, a pencil line, a bulb. Where the current goes from the metal into the water, the water goes sour. Where it comes out of the water into the metal, it goes alkaline, with twice the bubbles. So the end of any wire dipped in the puddle should work the same way. That follows from the code, and the demo above shows it; the game's test covers only the clips.

The acid made at the + clip is the same acid as vinegar's, so the cabbage dye shows it without knowing it came from a battery. In the next update next update the − clip makes a soapy alkali, like bar soap, that doesn't fizz with the acid. In the released game it makes dissolved baking soda.

Under the hood
Salty water turns sour or alkaline wherever the current goes in or out

Under the hood

Salty water turns sour or alkaline wherever the current goes in or out

When the circuit looks over the page, it marks the electrodes: cells that carry current mainly by dissolved ions and sit under a clip or beside something that carries it as metal does (metal, graphite, a bulb). Each tick it adds up the current crossing between the metal side and each such cell.

current into the water → acid , current out of the water → alkali

The amount made is proportional to the charge that passed, the form of Faraday's law, with the rate turned up so it shows in seconds. Bubbles come by chance in proportion to the charge too, twice as many at the − side; a bubble is a dab of fizz, a foam bubble and a hiss. Nothing is used up.

The acid and alkali it makes count as ions too, so electrolysis feeds its own conduction a little. The direction matches a school practical: in brine with an indicator, the + electrode goes acid and the − alkaline (Royal Society of Chemistry). With the real sieve and pour on 9 V we measured about 7 mA, + at pH 3.8, − at pH 7.2 to 7.4.

A bar of copper lying loose in the water, joined to neither clip, should by this rule work as two electrodes at once, as real metal strips do. That follows from the code; no test runs it yet.

We keep the colours honest. With the real tools, the + side goes clearly pink. The − side only gets a faint bluer purple, not green, because with the real tools the game makes too little alkali for that. And we don't name the gas: real salty water makes chlorine at the + side, and a test makes sure the game's electricity code and its list of features never name oxygen or chlorine next update.

Paper dyed purple with red cabbage juice, salty water between the two clips of the 9 V battery, a pink patch round the plus clip and none round the minus clip.
In the game: salty water on cabbage paper with the 9 V battery. Pink gathers at the + clip. The circuit writes acid; the cabbage chart reads it; neither knows the other.

The circuit fits a cheap tablet's budget, and we show the one case it gets wrong

Working out the voltage on every spot is real computing, and it has to share a cheap tablet with the water, the fire and the air. So the circuit sleeps entirely until both clips are on the paper, and it only works on the spots that conduct, not the whole page. A copper wire with one bulb is a few hundred spots.

Its work is counted and capped each tick. A test floods a whole page with salty water and checks that the circuit stays close to its share of the work on the slowest setting, and that the current still arrives within 15 seconds of game time. The test counts work units, not milliseconds, so it shows the circuit keeps to its share, not how long a tick takes.

It also has one real weakness, and we show it. Draw a pencil line that closes a circuit through a bulb, then draw copper over the pencil line. The game keeps its old answer as a starting point, because no new spots joined. That answer now reads like a dead short: 7.4 A and a dark bulb. The sweeps then crawl toward the truth, and on the released game they settle at 0.555 A after about 16 seconds, where the true answer is 0.272 A. The simple circuits a child starts with come out within about half a percent.

Five attempts at an exact solver were each worse somewhere, so the work is parked. A theorem gives some comfort: the way the game reads the current, any error can only make it too high, never too low.

Under the hood
The circuit fits a cheap tablet's budget, and we show the one case it gets wrong

Under the hood

The circuit fits a cheap tablet's budget, and we show the one case it gets wrong

The reading is Σ g ΔV². By Thomson's (Dirichlet's) principle the true voltages make the least heat, so a voltage error shows only to second order, and always upward. That is why the shortest-path guess alone reads a short within 0.04 %.

A new or much-changed circuit starts from a first guess built from the shortest paths by resistance to each clip (Dijkstra's algorithm), which is already exact along a plain series path. Then come sweeps forward and back, with a reading now and then, until the reading stops moving.

The fault has two parts. The warm start: copper over pencil adds no cells, so no new guess. And the stall: copper conducts thousands of times better than the bulb, a sweep can barely move a stretch of copper against the bulb's weak pull, the reading hardly changes, and the settle test passes at a wrong answer. Other known cases: 20 rows of wire across a full page read 2.8 A where 0.297 A is right; two bulbs side by side in series with a third, with no history at all, 0.207 against 0.184.

Every stage can pause mid-way and pick up on the next tick, all on one shared budget, and the old answer keeps running while the next look at the page is built. Only what is drawn crosses from the simulation's worker to the main thread.

  1. Look

    what conducts, from +

  2. First guess

    new circuits only

  3. Sweeps

    most of the work

  4. Reading

    from the heat made

  5. Effects

    heat, bulbs, water

What the circuit does each tick, inside one counted budget.

Share of the work the circuit may spend each tick, at each detail level0 = the most detail; a slower device steps down.

Detail 0 may spend 100 %, detail 1 80 %, detail 2 60 %, detail 3 40 % and detail 4 24 %.

Share of the work the circuit may spend each tick, at each detail level0%20%40%60%80%100%detail 0detail 1detail 2detail 3detail 4share of the workShare of the work the circuit may spend each tick, at each detail level0%20%40%60%80%100%detail 0detail 1detail 2detail 3detail 4share of the work
Data table
Share of the work the circuit may spend each tick, at each detail level
share of the work
detail 0100%
detail 180%
detail 260%
detail 340%
detail 424%

Source: Work budget per tick by detail level, relative to the top level. No millisecond timing of the circuit exists, so we give none.

Try it: watch the solver work The game's own rule

Top: a strip of the page, coloured by voltage. Bottom: what the solver reads, sweep by sweep, against an exact solve of the same grid (dashed). It runs the game's budget at its top detail level, at 60 ticks a second. In the fault case the bulb starts dark and brightens only as the sweeps creep in: the false current runs through the copper, not the bulb. Try: the fault case with the warm start, as the game does it, then the same with a fresh guess. Then turn the over-relaxation down to 1 (plain Gauss-Seidel) and see how much slower it gets.

A strip of page coloured by voltage, and a plot of the solver reading against sweeps, compared with an exact solve
  • +
  • −
  • 0.1 A
  • 0.3 A
  • 1 A
  • 3 A
  • 10 A
  • 0
  • 400
  • 1,000
  • 2,000
  • 5,000
  • 10,000
  • 15,000
  • 20,000
  • 30,000
  • 50,000
  • sweeps
  • exact solve
  • what the solver reads
Case
Start from
1.75
sweeps
—
reads
—
exact
—
off by
—
solver
—
The known fault: copper drawn over a pencil line

The sweeps start at 7.49 A, still read 6.55 A after 2,048 sweeps and 1.74 A after 8,192, and stop at 0.353 A after 14,080, against a true 0.272 A.

The known fault: copper drawn over a pencil line024680200040006000800010 00012 00014 000sweepscurrent read (A)The known fault: copper drawn over a pencil line024680500010 000sweepscurrent read (A)
  • what the sweeps read
  • the true answer, 0.272 A
Data table
The known fault: copper drawn over a pencil line
sweepswhat the sweeps readthe true answer, 0.272 A
07.4920.272
167.209
1287.148
10246.915
20486.548
40965.262
61443.381
81921.743
10 2400.847
12 2880.478
14 0800.353
14 5000.272

Source: A re-creation of the game's method on a 240 × 120 page, same constants: it starts from the old voltages, which read as a dead short, and the settle test passes at about 0.35 A after some 14,100 sweeps. In the released game the same case settles at 0.555 A after about 16 s. The good case beside it: copper and a bulb, 64 sweeps from the guess, 0.273 A against 0.272 A.

Electricity talks to everything else through the paper

The circuit writes heat into the same temperature as the fire, and acid into the same dissolved acid as vinegar's. It reads metal, pencil lead, water and salt that other tools lay down. None of these links is written as a special case.

Shared: current → temp

Draw steel wool between the clips of the 9 V battery

It passes 500 °C within two seconds and bursts into flame where the clips bite.

Heat and fire · a test checks it

Shared: acid

Clip the battery into salty water on cabbage paper

Pink at the + clip. The circuit writes acid, the cabbage chart reads it.

Chemistry and pH · a test checks it

Shared: salt in goop → ions

Bridge a gap in a wire with salted dough, on the 9 V battery

Salt dough lights the bulb dimly and warms; bread dough carries over 10 mA, unsalted dough less than a tenth of that.

Dough, mould and time · a test checks it

Shared: temp

Let a fly land on a glowing wire

It's off at once, unhurt, as off anything too hot to sit on.

Animals with their own minds · a test checks it

Shared: temp → air

Leave a hot wire on the page

Its warmth rises into the air above it, like any warm spot's.

Air that really moves · a test checks it

Shared: bodies

Push the battery or a bulb with your hand

They slide along like any other object on the table.

Things that push things · a test checks it

Copper carries current fifty million times better than pencil, and one rule handles both

5×10⁷
How much better copper conducts than the heaviest pencil line. Both go through one rule on one page.
0.083 Ω/m
A drawn copper line, per metre. A real 0.5 mm copper wire is 0.086 Ω/m (arithmetic from copper's resistivity).
0.5 %
How close simple circuits come to an exact solve of the same grid: one bulb 0.273 A against 0.272 A.
196,608
Spots on a full-size page (512 × 384), each one a possible resistor.
0
Work done by the circuit while the battery's clips aren't both on the paper, pinned by a test.

Where we simplify, and why

Real electricity is a 3D field problem with batteries that wear out and bulbs whose resistance climbs as they heat. We keep the parts a child can see and check, in real units, and drop the rest on purpose.

In real life. Current flows through 3D wires and puddles, by Maxwell's equations

In the game. One flat sheet, siemens per square, steady (DC) current: ∇·(σ∇V) = 0. Diagonal-only contact doesn't conduct

Why that's enough. Paper is thin and toy batteries are DC. Lost: thickness (deep and shallow water conduct alike), and any capacitance or switching transients

In real life. A bulb's filament resistance rises about 14 times from cold to hot (tungsten's resistivity goes as T¹·², running near 2700 K, Rose-Hulman lab manual)

In the game. A fixed resistance of about 4.7 Ω, and brightness linear in watts

Why that's enough. Series and parallel come out right. Lost: the surge at switch-on and the true dimming curve; a dim bulb looks brighter than a real one would

In real life. A battery's voltage sags, it warms up and it runs flat

In the game. Constant volts and internal resistance (1.5 V, 0.2 Ω; 9 V, 2 Ω). A hard-worked battery only turns a little red

Why that's enough. No hidden state to puzzle over. The internal resistance is kept, because it's what limits a short circuit

In real life. Tap water conducts a little

In the game. Plain water conducts exactly nothing; only what's dissolved in it carries current

Why that's enough. A clean lesson: salt makes the difference. We say it's our simplification

In real life. An exact solve every moment

In the game. Sweeps inside a work budget, stopped once the reading stops moving

Why that's enough. Simple circuits land within 0.5 %. Lost: some high-contrast pages settle too high, as shown above

In real life. Salty water makes chlorine at + and hydrogen at −; the + side bleaches the indicator

In the game. Acid at +, alkali at −, unnamed bubbles, no gas in the air, nothing used up

Why that's enough. Deliberate: the game has one poisonous gas, in the bleach lesson. Amounts follow charge, tuned to show in seconds

In real life. A bulb lights up the room

In the game. A halo painted on the paper, growing with the bulb's watts. It casts no light other things can see and doesn't warm the paper

Why that's enough. It reads as "on" at a glance. Plants, shadows and animals don't respond to it

In real life. Heat leaves a wire by conduction, convection and radiation

In the game. Heat goes in in joules; it leaves by the fire's general cooling, which isn't in real units

Why that's enough. Heating rates are physical, so wool burns and copper doesn't. Steady temperatures aren't a real reading