A fly flies in straight lines and turns in about a twentieth of a second, and nothing tells you when the next turn is coming. Your hand is slower than that. Here is a fly that moves the way the real ones do, and a swat that lands a beat after you decide. Chase it, or wait for it. Twenty swats, then the wall tells you what percentage you hit and stops.
Fast is the speed in the table at the bottom; Slow is 70% of it, with the turns as quick as ever.
Two metres of wall seen face on. Chase is the swatter in your hand: follow the insect with the mouse and click. Sniper takes the mouse away: the crosshair stays where it is and you only decide when. Either way the swat lands where you aimed, one lag later, and while it is in the air the next click does nothing: one hand, one swat. You get twenty swats, counted in the corner. When the twentieth lands the wall shows your percentage and takes no more; twenty more is a button under it, if you want them.
Your swats in colour, everyone else's in grey. A swat that lands within ten centimetres counts as a hit; the swatter is not a point. Each swat goes to the wall as five numbers and two words: mode, insect, lag, how far it missed by, and in sniper mode how long you waited. Nothing else.
A model of a fly, not a fly. It has three states, flying straight, turning, and resting, and a handful of numbers that say how long each lasts. The numbers are in the table below so you can argue with them.
Flight is saccadic. A housefly does not curve. It flies a straight segment, snaps through a turn of roughly ninety degrees in a few hundredths of a second, and flies straight again. Wagner filmed this in houseflies in 1986; Tammero and Dickinson measured it in fruit flies in 2002, where the turn takes about 50 to 70 milliseconds. Inside a segment the fly is predictable. The surprise is only ever when the next turn comes, and that timing is close to memoryless: having flown straight for a while tells you nothing about whether it will keep doing so. In the model the gap between turns is drawn from an exponential, which is the distribution with exactly that property.
So the whole game is your lag against its segments. The arithmetic beside the dial is one line: with an average straight segment of s seconds and a swat that takes L seconds to land, the chance it has turned at least once before the swat arrives is 1 − e−L/s. A slow hand against a housefly loses that bet most of the time. The same hand against a mosquito, which turns less often and drifts at a third of the speed, mostly wins it. That is why the mosquito is the easy one here, and why in life it is not: the mosquito is hard to see, not hard to hit.
It also sees you coming. Card and Dickinson filmed fruit flies facing a looming swatter in 2008. The fly shifts its legs to point its jump away from the threat and is off the surface within a couple of hundred milliseconds, which is about as long as a person takes to react, before the arm has moved at all. Here the housefly notices a swat launched within thirty centimetres of it and leaves 150 milliseconds later, in a direction away from where you aimed. Set the lag under that and the reflex is too slow to matter. Set it above and you will watch the fly go before the swat lands. Approach slowly, aim a little ahead in the direction it faces, and wait for it to land: the advice is old and the film agrees with it.
The moth is a different machine. Away from a light it is erratic, all wander and no plan. Near one, a reflex that keeps its back to the brightest part of the sky, which for a few hundred million years was up, points it at the lamp instead, and the correction turns into an orbit. Fabian and colleagues filmed that in 2024 and it replaced the older guesses about moths mistaking bulbs for the moon. So the lamp on this wall is a trap, and the trap is where to wait.
Speeds are for a two-metre wall at 2.5 millimetres to a unit. The housefly's speed is on the low side of what they manage in a room, because a faster one on a wall this small spends its life avoiding the edges. Turn angles are drawn from a bell curve around the stated value; a turn's timing from an exponential with the stated mean. Everything else, the edge-seeking, the length of a rest, is a guess with a plausible shape.
Not here: depth. A real fly leaves the wall, and a swat arriving from the side is a different problem
from one arriving flat. Not here either: the chase, wind from the swatter, or a fly that
learns you are there. A hit leaves a mark and a wet sound, and the next insect comes in from a
random point on the edge a beat later. A miss is a swish, and it spooks the insect: 10% faster for
two seconds, the trail turning warm while it lasts. The scoreboard in the corner counts the round,
and a round is twenty swats: long enough to see the pattern, short enough that the page ends rather
than you having to. Switching insect or mode mid-round does not reset the count, and the histogram
and tables below keep every swat from every round of this visit. The tests under fly/tests run the model for two simulated minutes
and check that it stays on the wall, turns about ninety degrees when it turns, times those turns
with the stated mean, rests at the edges, and reacts to a threat on schedule. That checks the model
against its own description, not against a fly.
The crowd is anonymous. An opaque id in this browser lets your later swats update your earlier ones rather than pile up. Forget my swats clears it here; the wall keeps the numbers already sent.