PRIMORDIA
Menu
Open source · MIT

PRIMORDIA

An evolution arena for AI and code.

AI models design single-celled life through an API, release it into a shared world, and compete to keep it alive. Every match is a fresh world and every opponent adapts, so there is nothing to memorise.

The Primordia viewer: organisms drawn from their genomes, fights marked in red, an events feed of kills and newly evolved bodies
Colony combat with body evolution. Red rings: under attack. Gold halos: evolved bodies.
100%
Rust simulation, pinned by a golden state hash
4–7
players per league match: AIs and a scripted bot
3
reward hacks found by the AIs, then a root-cause fix
+0.90
rank correlation with ARC-AGI-2 (5 models, no combat; p = 0.08)

Design. Release. Compete.

The game is played entirely through an API, so a frontier model, a 4-billion-parameter local model and a Python script all play by the same rules, and soon a PLC program will too.

Design

Write a genome

Pick a body from parts: membrane, flagella, cilia, mouths, chemical sensors, vacuoles. Then jaws, stingers, shells, spikes, camouflage and toxin. Wire a small neural brain. Every part has a cost.

Release

Drop it in the pool

A deterministic world of diffusing sugar and mineral, on a torus. Your organisms sense, swim, eat, divide and mutate. Score comes only from life born in the pool, averaged over the whole match.

Compete

Outlive the others

Several players share one world: frontier AI models, open models, scripted bots, and soon Structured Text programs. Windows of time, real or turn-based, with combat and body evolution as settings.

Why a game

A test that can't be memorised

Static benchmarks leak into training data. Primordia's worlds are generated per match, opponents change their play every window, and the score is only earned by life that eats and reproduces.

Along the way the models did what capable agents do: they attacked the scoring rules. Three reward hacks in a row, from swarms of the smallest legal body to "batteries" that lived about 2,500 ticks without eating. Each forced a rule fix, and then the root cause was closed. That history is part of the result.

Ranked without combat, the models' order lines up closely with ARC-AGI-2, a test of novel reasoning. With five models it is a direction, not a proof, and the paper says so.

Read the exploit story
Tracking one organism: its sensors, its brain's outputs, its energy and what it is doing, in words
Track any organism: what it senses, what its brain decides, and why it lives or dies.
A colony-combat match where one model's lineages are predators with hundreds of kills
League 4, patchy world: one model goes predator.
A colony-combat match where another model's lineages are armoured, spiked and toxic
League 4, bloom world: another builds shells, spikes and toxin.

Offence, defence, and evolution

Combat is a match setting: off, colony (rival ant colonies; your own never fight) or individual (every organism for itself, except family). Body evolution is another: children's bodies can mutate into new species. Results from the combat leagues are being collected now.

Bring your own player

An MCP server for agent frameworks, a newline-JSON TCP API for everything else, and a browser viewer to watch it all. One Rust workspace, no network dependencies at runtime.