A fruit fly’s nervous system has been mapped neuron by neuron. This project runs that map as a deliberately simple simulation and hangs a cartoon body off it. Some of what you see comes straight from the data, some is the simulation’s assumptions, and some is plain game engineering. This page keeps the three apart.
SoThe connectome only gets credit for step four, and only when cutting or scrambling that wiring makes the reaction go away. Everything on either side of it is a choice we made, and we say so.
FlyEM and its partners imaged a male fly’s whole central nervous system with an electron microscope, layer by layer, each layer thinner than a virus, and traced every neuron and synapse. The result, Male CNS v1.0, says which neuron touches which and how many times. It also predicts each neuron’s chemical messenger, which hints whether it excites or quiets its partners. That prediction is a machine-learning estimate, not a measurement.
Each neuron is treated as a leaky bucket of voltage. Every spike arriving from an exciting partner adds a small, fixed amount per synapse; every spike from an inhibiting partner takes some away. The bucket slowly leaks back to rest. When it reaches a threshold, the neuron fires and resets. That is the whole model, the same for every cell: a “leaky integrate-and-fire” neuron with settings from Shiu et al. (2024), reimplemented here rather than taken from their code.
Real neurons differ wildly in shape, speed and chemistry. None of that is in here. Neither are hormones, gap junctions or learning. Firing rates you see are the model’s, not a fly’s.
“Touching” or “seeing” means making a group of recorded sensory neurons fire at random, 150 times a second each. Which group gets that input, and when, is decided by the game’s code.
The whole brain takes about two seconds of computing per simulated second on a six-core PC, too slow for a game. So each reaction runs on a smaller copy: every neuron that fired when the whole brain got that stimulus, with all the wiring among them. A copy only counts if, on fresh random inputs, its readout neurons fire within 20% of the whole brain’s rate and stay silent with no input.
The game runs one copy per sense (25,151, 27,956 and 4,871 neurons), each starting at rest and reset after half a second without input. It is five separate brains wearing one body, not one integrated fly brain.
Each test was written before it ran: drive the input neurons, read the command neurons, and compare against 20 shuffled brains, the same neurons with the same number of connections each, wired at random. If scrambled wiring also produced the reaction, the recorded wiring could not take credit. Every reaction below beat all 20 (bitter used a different control, described in its row). “Whole brain” means all 211,577 neurons.
| Reaction | What is driven | What is read | Whole-brain result | Our rule |
|---|---|---|---|---|
| Jump | 311 LC4 and LPLC2 visual neurons (looming) | Giant fibre, DNp01 (2 cells) | ~404 Hz; best shuffled brain 34.5 Hz | Jump on the first spike |
| Turn | LC10a on one side (a small moving target) | DNa02, right minus left | +104 to +168 Hz for a right target, −139 to −154 Hz for a left one | Turn rate follows the difference |
| Sing | The same LC10a input | pIP10, the song command | 38–47 Hz from either side; best shuffled brain 25 Hz | Sing above 30 Hz |
| Feed | 86 LB3 sugar/water taste neurons | MN9, proboscis motor neurons | 66–78 Hz; 0 Hz in every shuffled brain | Feed above 20 Hz |
| Refuse bitter | Sugar plus 57 LB1 bitter neurons | MN9 | 0–1 Hz. Sending only the bitter cells’ outputs to random targets left at most a third of the suppression | Same feeding rule |
| Groom | 335 Johnston’s organ neurons, zones C and E (antenna pushed) | aDN1 and aDN2 (4 cells) | 199–204 Hz; best shuffled brain 3.25 Hz. Hearing zones A/B give 0 Hz | Groom above 30 Hz |
| Back up | 288 foreleg touch bristles | MDN, “moonwalker” neurons (4 cells) | 16–17 Hz; 0 Hz from hind-leg touch | Back up at 8 Hz, for at least 0.8 s |
Failed, and keptCourtship song from foreleg pheromone taste (ppk23 neurons to pIP10) gave 0–6.5 Hz against a required 10 Hz, so the game does not use it. One brain copy narrowly missed its right-turn check (−21% against a ±20% limit); the turn copy uses an older one that passed. Small hand-picked circuits, the project’s first approach, could not carry a signal through one or two relay neurons.
Give the simulated brain one strong input and, within a fraction of a second, 11,000 to 13,000 neurons are firing. Stop the input and most of them keep going indefinitely, some at the model’s ceiling of 435 times a second. The full 211,577-neuron brain does the same, so this belongs to the published model’s settings, not to our smaller copies. You can watch it happen in every replay except backing up.
It matters because leftover activity leaks into the wrong outputs: after a looming burst, the feeding neurons fire with no taste at all. Two fixes were written down in advance and tried: adding fatigue to every neuron, and silencing the 4,064 Kenyon cells (a learning centre where many of the restless neurons sit). Both failed, and neither was tuned until it passed.
Each sense gets its own copy that starts at rest, and a copy is wiped after half a second without input. Each reaction is read only from its own copy. That keeps every reaction close to the situation it was tested in: one stimulus, from rest, for about a second.
Sugar laced with bitter keeps MN9 near silent while the fly is touching it. But in the half second after contact ends, before the copy is wiped, leftover activity drives MN9 to 34–39 Hz (6 of 6 runs), which our 20 Hz rule would count as feeding. Separately, foreleg touch held for more than about a second can drift into a state where MDN falls silent (7 of 12 runs within 3 s). Both are on the record; neither is explained yet.