simpleevolutionMathias’s original ↗

AN ARTIFICIAL LIFE PLAYGROUND

Eat. Replicate. Adapt.

Mathias’s Python simulation, reimplemented in JavaScript. No two lives quite alike.

Runs in your browser
● LIVE00:00
Tap/click to inspect · drag to pan · + / − to zoom
Organism Food Boost Attack

WHAT YOU’RE WATCHING

Little squares. Inherited differences.

01 / SURVIVE

Energy is everything.

Organisms seek food, pay for movement and grow old. Larger organisms can eat smaller ones. Greener squares have more energy relative to their reproduction threshold.

02 / INHERIT

A new generation.

Enough energy triggers reproduction. Offspring inherit size, movement, reproduction and bomb traits—with small variation and a 5% chance per numeric trait of a larger mutation.

03 / PUSH BACK

Not just a food race.

Blue bombs provide propulsion. Red bombs push and stun neighbours. Both cost energy; they don’t directly subtract health. If everyone dies, a founder is reseeded from an old survivor or a fresh genome.

About this port & differences from the original

Based on Mathias Karlsen’s 2022 Python/Kivy source. The starting 8 organisms, 90 food, energy equations, inheritance rules, predation condition, food propagation and bomb mechanics follow that version. This is a toy simulation, not a biological model.

Broken attack scheduling, missing-target handling and survivor reseeding are repaired. Timing uses fixed 1/60-second steps, with consistent centre coordinates. Organisms are not bounced or wrapped at the original world boundary. The browser view includes its surrounding food margin; drag to explore farther.

For browser safety: at most 240 living organisms, 1,501 food particles and 1,200 simultaneous bombs; extreme mutated values and zero timers are bounded. A full population defers reproduction. Time pauses in a hidden tab and slows if your device cannot keep up—it does not skip generations. No simulation or seed is saved or sent to a server.