Loading
Random rules are easy. Finding random rules that remain structured and in motion requires a definition of interesting—and exposes its limits.
Launch the simulation
0606 / 09Pressing Discover does not ask Particle Life to be creative.
It asks a much narrower question: among twelve random interaction matrices, which one best satisfies three measurements I chose in advance?
That difference is the whole feature.
Generating random rules is trivial. Most random worlds collapse, explode, freeze, or produce visually busy motion without durable structure. Search begins only when randomness is evaluated, compared, and rejected.
The hard part is not generating candidates. It is admitting that the score defines what “interesting” is allowed to mean.
All candidates in this run share one opening
These values were produced by the shipped DiscoverySearch: 12 asymmetric matrices, 400 particles, 8 simulated seconds, one shared evaluation seed per run, and tail metrics from the final 60 steps.
Discover creates twelve 5×5 matrices with values in [-1, 1], rounded to two decimals so they fit the same sharing contract as manual worlds.
Pure uniform randomness often produces matrices without enough directional tension. The generator therefore forces at least three distinct off-diagonal pairs to differ by more than 0.8: one direction lands between +0.5 and +1, the reverse between -1 and -0.5.
This is a prior. The search is not exploring every matrix impartially; it is biased toward asymmetry because the project already measured that asymmetric relationships create pursuit and persistent motion.
That bias makes the feature useful in seconds. It also means Discover cannot reveal whether an entirely different region of symmetric rule space contains an unfamiliar kind of interest.
Each candidate runs with 400 particles for eight simulated seconds in a fixed 1100×760 world. All twelve receive the same evaluation seed.
Using one seed is a fairness control. If every matrix received a different scatter, a weak rule could win because its opening happened to contain favorable local density. Shared initial conditions make matrix differences the primary variable.
One seed is not robustness. A rule that wins under this opening may fail under another. A research-grade search would evaluate multiple seeds and report variance; the shipped feature chooses response time over that stronger claim.
Metrics are sampled over the final sixty physics steps. The score is:
score = clusters × 2 + motion diversity − speed penaltyThe penalty is 1,000 points if average speed is below 3 px/s or above 80 px/s. It dominates any plausible structural reward, removing frozen and explosive candidates.
The shipped Discover score rewards clusters and speed diversity, then applies a 1,000-point penalty outside the 3–80 px/s motion band.
Clusters reward substantial same-type organization. Motion diversity rewards coexistence of faster and slower particles rather than uniform drift. The speed band is a coarse viability gate.
Nothing in this equation rewards novelty relative to previous discoveries, long-term persistence, membranes, reproduction, or surprise to a human observer.
Discover finds worlds that its metrics consider structured and moving. That is useful. It is not a universal definition of discovery.
Twelve candidates multiplied by eight seconds and sixty steps creates 5,760 physics steps. Running them in one synchronous block would lock the interface.
DiscoverySearch.tick() accepts a small time budget. It advances at least one step, continues until the budget expires, then returns control to the browser. The page schedules the next slice with requestAnimationFrame.
The search is deterministic for a given seed regardless of slicing. A test compares one uninterrupted run with many budgeted ticks and requires identical candidates, scores, winner, and monotonically increasing progress.
When evaluation finishes, the winning matrix becomes Custom and the live world interpolates toward it over ten frames. A toast offers to save it. Saved discovery and shared URL use the same matrix/count/seed codec as every other world.
Jeffrey Ventrella describes his Clusters system as an asymmetric particle system and documents how directional attraction and fear create ambiguous entities. His official history notes that Tom Mohr began Particle Life in 2018 as a simplified variation.
In 2024, Kumar and collaborators introduced Automated Search for Artificial Life, or ASAL. Their method uses vision-language foundation models to search for target behavior, open-ended novelty, and diverse simulation spaces across substrates including Particle Life.
The Discover button is inspired by the same broad problem—automatic search through lifelike simulation rules—but it is not an implementation of ASAL.
| Discover here | ASAL research system |
|---|---|
| Hand-designed clusters/speed metrics | Foundation-model representations |
| Twelve matrices, one local winner | Target, open-endedness, and illumination searches |
| One Particle Life substrate | Multiple ALife substrates |
| Browser-scale, interactive response | Research-scale optimization |
That distinction was blurred in the first version of the Science panel copy. The accurate claim is more modest: your browser is running a small automated rule search in the same problem family, not reproducing the paper's experiment.
Every automated search reflects its evaluator.
Reward clusters and you find clustering. Reward diversity and you find mixed speeds. Penalize stasis and you exclude quiet structures, whether boring or profound. A more sophisticated evaluator does not remove this problem; it moves the values into a more complex representation.
The next version I would trust more would use multiple seeds, persistence tests, novelty relative to saved discoveries, and a Pareto frontier instead of one scalar score. It would show why a candidate survived rather than presenting one winner as if the search had discovered truth.
Search principle: A winner proves that it optimized the score. Any stronger interpretation requires separate evidence.
Press Discover in the simulation. Save the winner, then press Discover again. Do not ask which is prettier. Ask which metric likely caused each one to survive.
Parts 1–6 have moved from force to rules, engine, rendering, measurement, and search. Part 7 turns toward the layer that lets a person understand and operate all of them: the interface.
More to read
A beautiful pattern is a discovery prompt, not a result. The project needed measurements that could disagree with my eyes.
The interface must invite play without hiding causality, expose evidence without becoming a dashboard wall, and work on a phone.
The renderer is not decoration. It makes distance, motion, relationships, and failure legible without changing the physics underneath.