drag to turn
Soft-bodied creatures grown from genome strings and bred by how well they feed themselves. Nobody drew any of them.
The archive
The search does not keep the best animals. It keeps the best animal of each kind — one per cell of a grid over body shape, size, speed and efficiency. A fast wide creature never competes with a slow narrow one, so the population stays varied instead of collapsing onto a single optimum.
Each square is one cell of the grid, shaded by how much energy its occupant nets per second. Empty squares are kinds of creature the search has not reached — some are simply unvisited, others are combinations a body of this design cannot physically be. Click any filled square to grow that genome and watch it swim.
Specimen
The finding
Two runs of the same search, from the same hand-written starting animals, under the same physics. The only difference was what fitness meant.
| After 60–80 generations | Bred for speed | Bred for food |
|---|---|---|
| Top-20 elites keeping tentacles | 2 of 20 | 20 of 20 |
| Mean tentacles across top-20 | 1.1 | 24.8 |
| Champion bell radius | 5.5 | 20.1 |
| Champion tentacles | 0 | 24 |
With distance as the only reward, a tentacle is drag and nothing else. The search correctly throws them away and builds a narrow dart — four times narrower than anything written by hand.
Add drifting food and a metabolism and the same search, from the same seeds, builds something four times wider that keeps every tentacle it can afford to feed.
How it works
Every gene sits in the range 0 to 1, and each maps onto a span of real values chosen to be survivable. No mutation can produce a malformed animal, which is why 3,840 consecutive evaluations produced no broken body at all.
Rings of particles, hooped and braced and joined to their neighbours, with one muscle per rib. The travelling contraction wave is not animated — it emerges from the solver's own propagation delay.
Thrust comes from squeezing water out of the cavity under the bell, not from paddling. Drag alone produced 0.019 body-lengths per second; adding the jet produced 1.58.
The creatures above are being simulated in this page right now, grown from their genomes when you click. The entire physics engine is 32 KB.