Balance Lab
Batch-simulate one specimen on the real game engine — sweep movement/feeding/eyespot tiers, the diet triangle and food richness, and measure intake, survival and travel in isolation.
---
.. toc::
Movement × intake, isolated
The arena couples everything — rivals, hunters, the NPC ecosystem, colony economics — which makes it hard to tell whether a build starved because its movement couldn't reach food, its feeding part couldn't take it, its eyes never saw it, or the dish was simply too poor. This lab strips all of that away: one specimen, the exact engine the game runs (EVO.tick — same movement archetypes, feeding cones, diet-class triangle and energy economy), in a dish reshaped to food only at a chosen richness.
.. admonition::How to use it :color: blue
▶ Watch one run renders the dish in slow motion so you can *see* a mechanic work (or not — a pseudopod at poor, say). ⚡ Run batch executes N headless runs fast and reports per-run intake: prey eaten, dna banked, mean/min energy, survival or the starvation tick, distance covered and speed. Every batch's aggregate lands in the session history, so sweep one dial at a time (tier, diet, richness) and compare rows.
.. exec::docs.balance_lab.balance_lab
Reading the numbers
- survival % — the headline: a balanced build at *medium* richness should mostly live.
- prey μ / dna μ — the intake rate. Herbivores bank dna from grazing (prey stays 0);
carnivores need kills — exactly as in-game, the feeding part picks the eating lane (a jaw hunts even on a herbivore's body, a filter grazes).
- energy μ / min — how close the run skated to exhaustion; a low min with survival
means the build lives tick-to-tick.
- dist / u-per-tick — what the movement tier actually buys; compare none → great with
the same feed to separate "couldn't reach food" from "couldn't eat it".
Findings tuned here port straight into the game: the engine constants live in lib/evolution/config.py (ENERGY, SPAWN, diet classes in lib/diet.py) and this lab reads them live — change a constant, restart, re-run the same sweep.
---
*Source: /balance-lab*
Note for AI agents: This is the static, prerendered view of an interactive Dash application served because we detected a non-JS user agent. Full prose docs:
- /balance-lab/llms.txt — LLM-friendly documentation
- /sitemap.xml
- /robots.txt