Hi all — I just shipped a solo side-project I’d love feedback on: EMERGENCE.
Live: https://emergence.method64.com
It’s a single-page, scroll-driven piece built around one idea: complex behavior emerging from simple local rules. Five canonical systems, each computed live in the browser (nothing pre-rendered, no recordings), and the part I care most about is, each scene becomes the next through a real state handoff, not a crossfade.
The five scenes:
- VOID — Rule 110, a 1D cellular automaton (Turing-complete, Cook 2004),
run on the CPU, stamped row-by-row into a scrolling space-time texture. - LIFE — Conway’s Game of Life (B3/S23) on the GPU, float ping-pong FBO,
seeded from Rule 110’s history (logic → life). - FLOCK — Boids, ~16k agents on the GPU via a spatial grid. Topological
neighbor coupling (~7 nearest, Ballerini et al. 2008) rather than a fixed
radius — that’s what makes it form moving shapes instead of a blob. The
cells from LIFE detach and become these birds. - PATTERN — Gray-Scott reaction-diffusion, fragment shader on a double FBO,
many substeps per frame. The boids’ motion stamps the initial V field. - MIND — a Kohonen self-organizing map (CPU), where the reaction-diffusion
pattern is the input distribution the net learns to drape onto.
Each scene reacts to the pointer in real time (paint cells, carve a vortex in the flock, inject activator, etc.), and the transitions pass actual state from one simulation into the next.
Stack: three.js + raw GLSL, Vite. No animation library — all motion comes from the simulations themselves.
I’d genuinely love critique — on performance (it’s tuned to hold up on a weak laptop and on iPhone, curious how it runs for you), on the handoffs, and on anything that feels off. Built by one person, so all feedback welcome.
