The fine print
in plain words

What’s real, and what’s ours.

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.

01From a touch to a twitch

every reaction runs through the same seven steps
  1. OursThe worldA sugar drop, a looming ball, dust, a wall.
  2. OursA sensorCode decides the fly “feels” it and how strongly.
  3. Real cellsInput neuronsThat feeling becomes random firing in recorded sensory neurons.
  4. Real wiringThe connectomeWho connects to whom, and how strongly, from the reconstruction.
  5. AssumedThe neuron modelEvery neuron is the same simple unit; that is the big simplification.
  6. Real cellsReadout neuronsWe listen to a few known command cells, like the escape neuron.
  7. OursA rule and a body“Above 20 Hz means feed”, plus all the animation.

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.

02The wiring and the simulation

Male CNS v1.0 · Shiu et al. 2024 settings
211,577
neurons in one male fly’s brain and nerve cord
25.2 M
connections between them, from 125 million synapses
0.1 ms
simulation step; every neuron updates every step
7
reactions tested against rewired brains (one more failed)

The data

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.

The simulation

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.

A sense, simulated

“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.

Brain copies

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.

03The reactions, and how each was tested

rules written down before each run; failures kept

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.

ReactionWhat is drivenWhat is readWhole-brain resultOur rule
Jump311 LC4 and LPLC2 visual neurons (looming)Giant fibre, DNp01 (2 cells)~404 Hz; best shuffled brain 34.5 HzJump on the first spike
TurnLC10a 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 oneTurn rate follows the difference
SingThe same LC10a inputpIP10, the song command38–47 Hz from either side; best shuffled brain 25 HzSing above 30 Hz
Feed86 LB3 sugar/water taste neuronsMN9, proboscis motor neurons66–78 Hz; 0 Hz in every shuffled brainFeed above 20 Hz
Refuse bitterSugar plus 57 LB1 bitter neuronsMN90–1 Hz. Sending only the bitter cells’ outputs to random targets left at most a third of the suppressionSame feeding rule
Groom335 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 HzGroom above 30 Hz
Back up288 foreleg touch bristlesMDN, “moonwalker” neurons (4 cells)16–17 Hz; 0 Hz from hind-leg touchBack 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.

04The runaway problem

the model’s biggest known flaw

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.

How the game copes

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.

Where it still shows

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.

05What this is not

so nobody quotes it wrongly
Fair to say

The wiring carries it

  • In this simple model, the recorded wiring routes each tested input to its command neurons, and random rewiring does not.
  • Cutting the connections onto those command neurons removes the reaction; you can try it on the replays.
Not shown

A working fly brain

  • That real neurons fire at these rates, or that the model reproduces fly physiology generally.
  • How far, how fast or how gracefully a fly moves: all of that is animation.
  • That these are the only routes; other senses and cell types were not used.
Check it

The records