Skip to content
ARTIFICIAL LIFE · 1,048,576 AGENTS · LIVE ON THE GPU

Life,
grown live.

A million simple agents, each following one rule, kept alive in texture memory. No one scripts the shapes they make — they organize themselves. Move your cursor and the colony flows toward it.

Watch it think Move your cursor through the colony
Agents
1.05M
Rule
1sense + turn
Memory
2ping-pong buffers
Repeat
0frames alike
01 / DEPOSIT

A million wanderers leave a trail.

Every agent drops a faint chemical mark wherever it goes. Alone, each mark is nothing. Together, over thousands of frames, they become a map the colony can read.

02 / SENSE

Three sensors. One simple rule.

Each agent sniffs left, ahead, and right, then steers toward the strongest scent. That is the entire intelligence — no planning, no memory, just a turn toward more of what it already laid down.

03 / REINFORCE

Paths that work get wider.

The trail diffuses and fades every frame. Routes that agents keep reusing are reinforced faster than they decay; the rest dissolve. Efficiency survives. Waste evaporates.

04 / EMERGE

Networks no one designed.

From that loop — deposit, sense, reinforce — vein-like networks appear, split, and heal. It is the same math a real slime mold uses to solve mazes. Move your cursor and the whole colony comes to you.

HOW IT WORKS

Compute without a compute shader.

Agents live in a texture

Each pixel of a 1024×1024 float texture stores one agent's position and heading — over a million lives in one image.

Ping-pong framebuffers

A fragment pass reads the agent texture and the trail, computes each new state, and writes to a second texture. Then they swap.

Deposit as points

A million-vertex draw reads each agent's position in the vertex shader and additively stamps it into the trail map.

Diffuse & decay

A blur-plus-fade pass spreads and dims the trail every frame, so only reinforced paths persist.

Scroll changes the rules

Sensor angle, distance, and turn speed shift as you read — watch the same colony reorganize into new regimes.

Raw Three.js + R3F

Hand-written GLSL, custom render targets, manual pass sequencing. Honors prefers-reduced-motion.

SIMPLE RULES. ENDLESS FORM.

It's alive,
and it's yours.