Evo Lumen Life, creating a living ecosystem in the browser

Evo Lumen Life started as a shader experiment and became a living artificial-life sandbox where organisms swim, feed, reproduce, struggle, and evolve in a shared ecosystem.

Project repo: https://github.com/jclosure/evo-lumen-life

What it is

Evo Lumen Life is a browser-based simulation of emergent behavior. Instead of static entities, the world is populated by evolving forms (worms, flagellates, protozoa, and virus-like agents) whose movement and survival are shaped by local interaction rules, resource pressure, and reproduction strategies.

Evo Lumen Life ecosystem overview

Why?

I wanted something more alive than classic cellular automata: not just a pattern engine, but a watchable ecology. The design intent was to create a system that felt continuous and organic—something you could tune and observe like a tiny synthetic biosphere.

  • Continuous lifecycle instead of abrupt generation resets
  • Predator/prey pressure and resource competition
  • Egg-based worm reproduction and juvenile growth
  • Interactive controls for time, evolution speed, drift, and species-level behavior

Goals

  • Make emergence visible: behavior should unfold over time, not be hidden in static metrics.
  • Keep it playful: enough complexity to surprise, enough controls to steer.
  • Stay portable: run on Mac, Linux, and Windows in a browser.
  • Favor flow: births, deaths, and adaptation drive the simulation
Champion-focused view in Evo Lumen Life

What we learned

The strongest improvements came from treating the system as a controlled dynamical model and validating behavior under parameter sweeps.

  • State integration quality dominates perceived realism. We update organism state in small timesteps (position, velocity, energy, age), which reduces aliasing and prevents visual/mechanical discontinuities from coarse step changes.
  • Bounded nonlinear terms are mandatory. Core drivers (aggression, drift, growth, resource intake) are clamped to stable ranges. Without bounds, positive feedback causes blow-up modes (population spikes, lock-step clumping, or immediate collapse).
  • Energy economics creates meaningful behavior. A simple budget model (intake – metabolic cost – reproduction cost) produced emergent strategy differences more reliably than hand-scripted behavior trees.
  • Asymmetry produces richer phase space. Predator-prey and forager-resource interactions are intentionally asymmetric; this increases attractor diversity versus symmetric pairwise rules.
  • Fitness is multi-objective. Useful scoring required balancing persistence, exploration, locomotion efficiency, and survivability. Single-objective optimization collapsed diversity too quickly.
  • Continuity constraints matter to observers. Interpolated hatch/growth curves and decay on death states improved interpretability and made causal chains easier to track.
  • Live controls function as instrumentation. Real-time sliders effectively became online experiments: we could locate bifurcation-like regime shifts quickly and tune toward stable-but-interesting dynamics.

Bottom line: better outcomes came from numerical stability, bounded feedback, and measurable objective tradeoffs—not from adding more visual entities alone.

Where this could go next

  • Speciation tracking with lineage trees and trait inheritance maps
  • Courtship and mate selection behaviors before egg-laying
  • Objective-driven environments (seasonality, gradients, hazards)
  • Replay/annotation mode for interesting events
  • Networked multiplayer ecosystem tournaments
  • Hybrid mode: AI ecology + human strategic interventions

Leave a Reply

Discover more from Joel Holder's Select Field Notes

Subscribe now to keep reading and get access to the full archive.

Continue reading