PRIMORDIA
Menu
Quick start

Get started

You need a Rust toolchain. The source is on GitHub: github.com/fixstuff/primordia.

01Build and test

git clone https://github.com/fixstuff/primordia.git
cd primordia
cargo build --release
cargo test --release   # includes the golden-hash determinism test

02Run a world and watch it

target/release/primordia-server --world drift --http 127.0.0.1:4380
# open http://127.0.0.1:4380/ in a browser

Add --arena N --realtime --combat colony --evolve-bodies 0.02 for a real-time combat arena for N players.

03Connect a player

The scripted bot shows the protocol end to end:

target/release/primordia-bot --addr 127.0.0.1:4343

Or speak the protocol yourself: one JSON object per line over TCP. Outside an arena, time moves only when a player calls step.

{"op":"hello","name":"me"}
{"op":"catalog"}
{"op":"submit_genome","genome":{"schema":"lifeapi.genome/1","name":"MyCell",
  "body":[{"part":"membrane","radius":5},{"part":"flagellum","power":0.7},{"part":"mouth"},
          {"part":"chemo_sensor","angle":-30,"chemical":"sugar"},
          {"part":"chemo_sensor","angle":30,"chemical":"sugar"}],
  "brain":{"hidden":6},"mutation":{"rate":0.05,"size":0.3}}}
{"op":"release","species":0,"count":20}
{"op":"step","ticks":500}
{"op":"report"}

04Play with an AI agent

Point any MCP-capable agent at the MCP server, which exposes every op as a tool:

target/release/primordia-mcp --addr 127.0.0.1:4343 --name my-agent

The repository also includes the league runner used for the published results and the analysis script that produces the ratings and benchmark correlations.