Loading
Every control, four guided experiments, deterministic sharing, saved discoveries, screenshots, JSON, CSV, mobile use, and troubleshooting.
Launch the simulation
0808 / 09This is the operational manual for the Particle Life simulation.
You do not need to read the previous seven parts first. If you want the physics behind a control, each section links back to the relevant idea. If you want to run a useful experiment now, begin with the sixty-second start.
A professional result starts before Run: state the question, isolate one change, pin the seed, duration, measurements, and evidence.
+0.90 toward +0.40.You have now run a controlled intervention and preserved its opening.
The five particle colors correspond to matrix types A–E. Color is identity, not energy or health.
The top bar shows particle count, render FPS, cluster count, stability, and simulated time. On mobile, only particle count and FPS remain visible. The caption below the canvas interprets one current event or metric trend at a time.
The matrix reads row feels force from column. Positive values attract in the middle force zone; negative values repel; zero leaves only universal close-range separation. See Part 2 for the complete language.
Loads Galaxy, Cells, Soup, Chaos, or Custom. Loading a named preset preserves the current particle positions while the matrix transitions over ten frames.
Changes one directional relationship from -1 to +1 in steps of 0.01. Any manual change marks the world Custom.
Pause freezes physics and simulated time while rendering continues. Use it before a controlled matrix edit.
Ranges from 0.25× to 3×. Speed changes how many fixed steps are performed; it does not stretch the timestep. Trails disable above 1.5×.
Desktop choices range from 500 to 2,250. Changing count respawns the world with a new seed while preserving the matrix. Mobile begins lower for performance.
Respawns the selected base count with a new random seed while keeping the current rules.
Arm Spawn, then click or tap the canvas. Each action adds up to twenty particles and cycles through the five types. The hard maximum is 2,250.
Question: does global rotation require every edge of the five-type cycle? Compare cluster count and average speed before and after removing A ← B.
Question: is cross-repulsion responsible for the visible separation? Moving A ← C to zero removes exclusion without creating attraction.
Question: does changing one asymmetric pair redirect a local chase or reorganize the longer chain?
Question: can a world remain fast while forming almost no counted clusters? Record thirty seconds and inspect average speed versus cluster count.
Discover generates twelve asymmetric matrices, evaluates each with 400 particles for eight simulated seconds, and applies the winner. It may take a moment but runs in browser-sized slices so the interface remains responsive.
When the winner appears, use the toast or the My Discoveries form to name it. Saved discoveries live in local storage on this browser, newest first, capped at fifty. Clearing site storage removes them. They are not synced to an account.
Load replays the encoded opening. Delete removes the local entry. A corrupted entry is discarded safely.
Share copies a locale-aware URL containing a base64url state code. The code includes:
{
"matrix": "5×5 values rounded to two decimals",
"presetName": "galaxy | cells | soup | chaos | custom",
"count": 1500,
"seed": 123456789
}The recipient gets the same opening, not the exact later frame you were viewing. If you need the later positions, export a snapshot.
Malformed, tampered, or out-of-range links fall back safely to the default simulation.
The camera icon downloads a PNG of the current canvas, named with preset and timestamp. It documents appearance, not underlying state.
The download icon exports version, time, preset, seed, count, matrix, force parameters, every particle's [x, y, type], and current cluster/stability/speed metrics.
Use JSON when you need a reconstructable observation or want to analyze spatial state elsewhere.
The record icon starts sampling emitted metrics. Press it again to download:
frame,clusters,stability,avgSpeed
0,8,0.14,14.72
1,8,0.16,13.91Recording is capped at five minutes. Use CSV when the question concerns change over time rather than one spatial frame.
Tap Matrix near the lower-right corner to open the bottom sheet. The sheet scrolls; the canvas does not. Share is available in the sheet header. Close by tapping the backdrop.
The compact bottom row uses icons for screenshot, export, recording, and core controls. The initial world uses fewer, smaller particles. Shared links still honor their encoded count, so a dense desktop world may run slowly on a phone.
| Problem | What it means | What to do |
|---|---|---|
| “Initializing renderer…” persists | WebGPU is starting or fallback is being created | Wait briefly; reload once if it never resolves |
| Graphics unavailable | Neither WebGPU nor WebGL2 initialized | Update browser, enable hardware acceleration, or try another device |
| Low FPS | Particle count/effects exceed device budget | Reduce count and return speed to 1× |
| Share says copy failed | Clipboard permission or secure-context restriction | Copy the address bar after Share updates the URL |
| Reset changed the pattern | Reset intentionally chooses a new seed | Save/share before resetting if reproducibility matters |
| Saved discoveries disappeared | Browser storage was cleared or unavailable | Use Share URLs and JSON exports for durable preservation |
| Trails vanished | Speed is above 1.5× | Return to 1.5× or below |
Before calling a pattern a result, record:
The simulator is playful by design. A procedure does not remove that play; it gives surprise a way to become evidence.
More to read
The interface must invite play without hiding causality, expose evidence without becoming a dashboard wall, and work on a phone.
The project began as a visual experiment. It ended by teaching me that spacing, measurement, reproducibility, and interfaces are the same scientific problem.
Random rules are easy. Finding random rules that remain structured and in motion requires a definition of interesting—and exposes its limits.