Artificial life from simple particle interactions. Explore self-organizing systems that produce life-like behavior — entirely in your browser.
Based on the original paper with demo by
Alexander Mordvintsev,
Eyvind Niklasson, and
Ettore Randazzo.
*This project extends the original with new tools and features. It is not affiliated with or endorsed by the original authors or Google Research.
Six interactive applications, all running on the GPU in your browser.
The original interactive demo by the paper authors. Pan, zoom, herd particles, capture creatures and save them to your zoo.
Code editor with a full Clojurescript REPL and DSL for scenario scripting with async/await, generators, and composition. Includes MIDI sonification of particle dynamics and WebGPU opt-in.
A scroll-synced educational narrative explaining how life emerges from simple rules. 17 chapters across three parts — from single particles to multi-species ecosystems.
Breed creatures with a genetic algorithm. Configurable fitness, mutation operators, Hall of Fame, creature comparison, and one-click presets.
Volumetric particle systems with WebGPU compute shaders, orbit camera, field-slice visualization, trails, and 15 presets.
Fullscreen ambient display that auto-cycles through zoo creatures with smooth camera tracking. Works as a screensaver.
The Scripting Lab is a full experiment workbench.
evolve() and direct engine accessEach particle follows two simple rules. Complex life emerges.
Every particle measures the density of others around it through a ring-shaped kernel function — strongest at a preferred distance.
A growth function rates conditions: not too lonely, not too crowded. The "ideal" density is where life thrives.
Short-range repulsion prevents particles from overlapping — everyone needs personal space.
Each particle moves to reduce its energy. No coordination, no global plan — yet complex structures spontaneously emerge.