Play Solstice
The latest version, running on this server.
Solstice is a chess engine written in C++. It searches with alpha-beta (principal variation search with null-move pruning, late-move reductions, singular extensions and correction histories) and evaluates positions with an efficiently updatable neural network (NNUE with 16 king buckets and 8 output buckets, 768×16→1024×2→1) trained with bullet on 4.8 billion positions from Leela Chess Zero's training data. Here it runs in your own browser, compiled to WebAssembly, on a single thread for the time you choose (on this server if your browser can't run it). Rated about 3690 CCRL Blitz (3687 ±14; 640 games at 60+0.6 on one thread against eight engines rated 3529–3745).
The fly is the wiring of an entire adult fruit-fly brain (FlyWire, 139,000 neurons) with its synapse strengths trained to judge chess positions. It sees the board through its eyes (8×8 patches of photoreceptors; one eye takes the side to move, the other the opponent) and smells the material: each piece type has its own odour on its olfactory receptors. Activity runs through its connections for eight steps, and its descending neurons, the ones that drive its body, give the verdict. Each move it looks a few moves ahead using that brain on a GPU; below the board you can watch its brain at work. The 3D stage and brain view are inspired by Chess vs. a Fruit Fly Connectome. Rated about 1450 (95% range 1330–1570; 47 games against Stockfish 19 at calibrated strengths of 1320–1900 Elo, 2 seconds a move, measured with an earlier brain and search). Training progress
How the fly works
A real brain's wiring, not a chess engine
Scientists in the FlyWire project imaged an adult fruit fly's brain with an electron microscope and traced every neuron and every synapse: 138,639 neurons joined by about 54 million synapses. That map, the fly's connectome, is the opponent you are playing. Nothing about its layout was designed for chess: which neuron connects to which, and whether each connection excites or inhibits, comes straight from the fly.
How the brain is simulated
Each neuron is a number between 0 (silent) and 1 (firing as fast as it can). At every step, each neuron adds up its inputs, each input being the sending neuron's activity times the strength of the connection, and turns that sum into its new activity. A connection's sign comes from the chemical the sending neuron uses: acetylcholine excites, GABA and glutamate inhibit. Its starting strength comes from how many synapses join the two neurons. The simulation uses the 4.9 million connections made of at least three synapses, which carry about three quarters of all synapses. One look at a position is eight steps of activity spreading through the brain.
How it sees and smells the board
Eyes. The fly's 5,640 photoreceptors (light-sensing neurons) were mapped onto the 64 squares using where each one actually sits in the eye, so neighbouring receptors watch neighbouring squares. The left eye sees the board from the side to move, the right eye from the opponent's side. Each receptor fires according to the piece on its square.
Smell. Its 2,275 olfactory receptor neurons are split into ten groups, one per piece type and colour (pawns to queens, its own and the opponent's). Each group fires in proportion to how many of those pieces are on the board, so the fly can literally smell the material balance.
How it gives its verdict
The descending neurons (1,299 of them) are the cells that carry commands from the brain to the body: walking, flying, grooming. Here they are read out instead: their activity at the end, and averaged over the eight steps, is combined into one number, how good the position is for the side to move. The same neurons also vote on which move to play, a second readout used to help training.
How it was trained
The wiring and the signs stay fixed. What training changes is how strong each existing connection is (it can grow or shrink, never flip between exciting and inhibiting), how sensitive each neuron is, how the receptors respond to each piece, and the final readout. The fly studied about 50 million positions from games that the chess engine Solstice played against itself. For each position it was shown what Solstice thought of it (75%) and who went on to win the game (25%), plus the move Solstice actually played. Training took about 19 hours on one graphics card. It has never been shown a chess rule: everything it knows about chess is stored in the strengths of its connections.
How it chooses a move
The brain judges positions; a small search decides the move. The fly looks one move ahead, then two, then three (iterative deepening), each time considering every legal move for both sides. At the end of each line it follows captures for up to three more moves, the six most promising ones, so it does not stop in the middle of a trade. Then the brain evaluates every position at the end of every line, tens of thousands at once on the GPU, and the fly assumes both sides play the move it judges best (minimax). Deeper rounds look only at the moves that did best in the round before. It searches roughly 7,000–16,000 positions a second, often reaching three moves ahead in two seconds; give it more time and it gets there more often.
What you can watch
Below the board, the brain view replays the fly looking at the current position: which neurons light up compared with its brain at rest, step by step, ending at the descending neurons that give the verdict, together with the moves it weighed.
What this is not
It is a simulation built on a real wiring diagram, not a living fly, and real neurons are far richer than these simple firing rates. Its chess knowledge was learned by adjusting connection strengths for this task. A real fruit fly does not play chess; the question here is how far its wiring can be pushed when it is given eyes on a chessboard.
- eyes: the board
- smell: the material
- optic lobes
- central brain
- descending neurons: the verdict
- Step
- —
- Responding neurons
- —
- Strongest motor commands
- —
138,639 neurons of the FlyWire connectome (CC-BY) at their real positions. Shown is the response to the board, activity above the same brain at rest, step by step as the fly looked at the position before its move. It is a firing-rate model, so this is activity, not spikes. The 3D stage and this view are inspired by Chess vs. a Fruit Fly Connectome.