An ECS-first engine in Rust where agents build, play, and experiment through one typed API — on a deterministic world they can read, change, fork, and replay exactly.
"The whole game world is a flat, deterministic table the agent reads, edits, and forks." — design principle 01
| id | name | team | hp |
|---|---|---|---|
| // no entities yet | |||
One typed HTTP surface covers every primitive — spawn entities, run physics, define rules, step the simulation, snapshot the world, fork it for what-if reasoning. The same API that plays the game authors it.
Spawn entities, set up combat, define rules, orchestrate levels — all through the API. The surface used to play is the surface used to author.
entity createrule addscene save
Step the world, read exactly what changed, act, repeat. Full state in, action out, exact delta back — a clean observe-act-step loop, not a screen to parse.
sim stepobserveact
Fork the live world, apply an intervention, advance, observe — then drop the fork. The main run is never touched. Reason by counterfactual.
world forkdiffreplay
Unlike Unity or Unreal, Euca doesn't hide the world behind an object graph and a GUI. The whole game world is a flat, deterministic, controllable table.
Entities, components, fields — the lot. No reflection tricks.
"When X happens, do Y" is an entity an agent can inspect, diff, modify.
The main run is untouched. The same systems run on the fork — what you see is what would have happened.
One canonical seeded RNG. Same seed + actions → the same world. Every run reproduces.
> euca world dump --format jsonl --components Transform,Health,Team,AI # row 0x01 { "id": "0x01", "Transform": {pos: [-3,1,0], rot: [0,0,0,1]}, "Health": {cur: 100, max: 100}, "Team": "A", "AI": {tree: "melee", target: "0x02"} } # a rule is an entity too { "id": "r#7", "Rule": { when: "Death(e)", do: "Score(team_of(e), +1); Drop(Coin, pos_of(e))" } } # 45 more rows omitted
Deep-copy the world, apply an intervention, advance the simulation, observe. The same physics, combat, AI and rules run on the fork — so what you see is what would have happened.
Cubes, spheres, planes with PBR materials. Ortho and perspective cameras. Transform hierarchies.
Health, damage, teams, projectiles, trigger zones, AI behaviors — composable ECS components.
"When X happens, do Y" — without writing code. Death reactions, timers, health thresholds.
Deep-copy the world, run a what-if, compare. The same systems run on the fork. The main run never moves.
Same seed + actions reproduce the same run, byte-for-byte. For debugging, replays, experiments you trust.
Label a moment, capture team / role / phase summaries with assertion results — structured, not screenshots.
Ed25519 identity built in. Every agent that touches the world is verifiably who it says it is.
Screenshots for verification, HUD text and health bars, camera presets — visible in the editor when a human watches.
Lua (mlua) · hot reload, sandboxing, ECS bridge, event handlers.:3917, 121 endpoints, Ed25519 auth, self-describing manifest via euca discover.Whether you ship games where agents are players and authors — or run experiments on a world you can fully control, reproduce, and counterfactually intervene in.