Practical guide

How to Tune Particle Life Parameters: A Practical Guide

Good Particle Life worlds are not designed particle by particle. They are encouraged by changing a few relationships and observing what survives.

Particle Life is an emergent particle simulation: five colored families push and pull on each other with simple rules, and everything you see — colonies, membranes, chases — assembles itself. But the default view only scratches the surface. The difference between random dots and something that looks alive is parameter tuning.

This guide covers every control in the simulator — what it does, what you will see when you move it, and where the interesting zone lives. It also opens up what each preset changes under the hood: the attraction matrix, friction, and interaction radius. Whether you want calm cell-like structures or restless swarms, these parameters are your toolkit.

Start with one question

Before moving every control, decide what kind of behavior you want to explore. A stable colony needs a balance between gathering and separation. A chase needs an uneven relationship. A chaotic cloud needs enough energy to prevent particles from settling. Keeping one goal in mind makes each adjustment easier to read.

The four live controls

The simulator keeps the control surface deliberately small. Four inputs shape everything on screen:

Around those four sit Pause, Reset, Randomize, and pointer disturbance: press or drag on the canvas to scatter nearby particles and inject energy into the system. The sections below take each control apart.

Particle count: density comes first

What it does. The Particles slider sets how many particles exist in the world. More particles means more neighbors inside every particle's interaction radius, so forces compound: each particle gets pulled and pushed by more families at once. Count is the fastest way to change the visual density of a simulation.

What you'll see. At 90–140 particles the world reads sparse: small clusters, wide empty space, and every single interaction easy to follow. Between 200 and 320, structures become continuous — walls connect, colonies merge into tissue-like sheets. At 360–420 the field is dense and busy, and on phones the frame rate usually drops before the visuals get more interesting.

Recommended range. 200–320 is the sweet spot for most presets. Drop to around 150 while you are learning cause and effect, and keep phones under about 260 for smooth motion. Desktop handles the full 420.

Try this. Load the Cells preset at 120 particles: you get isolated drifting pockets. Now drag the slider to 360 without touching anything else — the pockets merge into a connected membrane network. Same rules, different density, different organism.

Forces: how hard families push

What it does. The Forces slider multiplies every interaction the simulation applies — the mid-range pull of the attraction matrix and the built-in short-range push that keeps particles from stacking into one point. Default is 1.00x.

What you'll see. Below roughly 0.7x, families barely hold together: colonies dissolve into slow drifting dust. Between 0.8x and 1.2x, structures form crisp, stable shapes. Above about 1.4x the world turns jittery and explosive — particles overshoot every attraction, and clusters blast apart as fast as they form.

Recommended range. 0.8–1.2x. When you want to change the mood, move Forces before switching presets — a single preset covers a wide emotional range on this slider alone.

Try this. On Swarm, push Forces to 1.6x and watch the field boil. Then ease it back down to 1.0x slowly and watch order condense out of the chaos. That reassembly is the whole point of the toy.

Motion: pace and top speed

What it does. Motion scales how quickly particles travel and raises or lowers their top speed. 1.00x is the tuned default; below about 0.7x the world becomes slow and contemplative, above 1.4x it becomes energetic.

What you'll see. Low motion makes orbits, rings, and loops easier to study because nothing blurs past — chases turn into slow drifting pursuits. High motion turns the same rules into a race: trails stretch, collisions get violent, and delicate structures break before they finish forming.

Recommended range. 0.8–1.2x for general watching. Drop to 0.5–0.7x when you want to study one structure in detail. Push past 1.3x when a world feels stagnant and you want to stress-test it.

Try this. On Orbit, set Motion to 0.6x. The rings and loops that usually flicker past stay visible long enough to trace. Then jump to 1.5x and watch those same rings shred into streaming chaos.

Presets: four curated rule worlds

What it does. Each preset swaps in a complete rule set: a new palette, a new attraction matrix, new friction, and a new interaction radius. Your Particles, Motion, and Forces settings carry over, so the same sliders feel different in every world.

What you'll see. Bloom breathes — soft colonies pulse, split, and rejoin like microscopic organisms. Orbit is about the chase: opposing families wind each other into rings, loops, and rotating knots. Cells builds walls — short-range attraction and strong repulsion create membranes, pockets, and drifting cell-like blobs. Swarm is restless: long detection range and fast families scatter and pursue across the whole field.

Recommended starting point. Bloom for a first session, Cells for structure, Orbit for motion, Swarm for energy.

Try this. Switch from Bloom to Cells with every slider at default. Round, soft colonies flatten into walled pockets with visible boundaries — same controls, completely different physics.

Under the hood: matrix, friction, and radius

The four sliders are the live controls, but presets differ from each other through three internal parameters. Knowing them explains why each world behaves the way it does.

The attraction matrix. Every preset has five color families, and the matrix is a 5×5 grid of 25 rule cells. Each cell says how strongly family A reacts to family B, running from about −0.7 (strong repulsion) to about +0.68 (strong attraction). The matrix can be asymmetric: A can chase B while B flees from A. That one-sided tension is exactly what produces Orbit's looping pursuits. Cells stacks its diagonal — every family strongly attracts its own color, up to +0.68 — against strong cross-family repulsion, down to −0.62: stick with your own kind, wall off from the rest.

The force curve. A particle ignores everything beyond its preset's interaction radius. Inside that radius, the rule's push peaks at about half the radius and fades toward the edge. And inside the innermost ~18% of the radius, a built-in repulsion kicks in regardless of the matrix — that is why particles never collapse into a single dot.

Friction. Each frame, every particle keeps a fixed fraction of its velocity. Cells damps hardest (0.79): structures settle and hold their shape. Swarm damps least (0.90): particles glide, which is why its chases streak. Bloom (0.82) and Orbit (0.86) sit in between.

Radius. Cells sees only 62 pixels around each particle — interactions stay local and boundaries stay sharp. Swarm sees 92 pixels — distant groups influence each other, so motion coordinates across the whole field. Bloom (74) and Orbit (82) land in between. Particles also have a top speed that scales with the Motion slider, so even extreme forces cannot fling them to infinity — and the world wraps at the edges, so chases can loop forever.

Preset recipes: start here, then tweak

If you want a specific mood, start from the combination that actually produces it, then adjust one slider at a time.

Organic colonies — Bloom. Balanced matrix with every family self-attracting, friction 0.82, radius 74px. Use 220–300 particles, Forces 0.9–1.1x, Motion 1.0x. You'll see pulsing colonies that split and rejoin like microorganisms. Raise Forces for more energetic splitting; drop Motion to 0.7x to watch a single colony breathe.

Chase loops — Orbit. Strongly asymmetric matrix where one family is attracted toward its target while the target is repelled back, friction 0.86, radius 82px. Use 200–280 particles and Motion 0.8–1.1x. You'll see rings, loops, and rotating knots. This is the preset to slow down: at 0.6–0.8x Motion the geometry stays visible long enough to trace.

Cell membranes — Cells. Self-attracting diagonal against repelling walls, the heaviest friction (0.79) and the shortest sight (62px). Use 200–360 particles, Forces 1.0–1.2x. You'll see membrane-bound pockets and drifting cells. Raise the count and the pockets connect into tissue; drop Forces below 0.8x and the walls soften and leak.

Restless swarm — Swarm. The most glide (friction 0.90), the longest sight (92px), and the most aggressive cross-family values, near ±0.7. Use 180–300 particles and Motion 1.0–1.4x. You'll see fast scatter-and-reform cycles. Disturb it with your pointer — it reorganizes quicker than any other preset.

How the parameters interact

No parameter works in isolation. These are the interactions worth understanding:

Frequently asked questions

Why does my colony explode when I raise Forces?

The Forces slider multiplies every interaction, including the short-range repulsion that keeps particles apart. Above roughly 1.4x, particles overshoot every attraction and clusters blast apart as fast as they form. Drop Forces below 1.2x, or lower Motion so particles cannot travel as far between frames.

Can I edit the attraction matrix myself?

Not in the current version. Each preset ships a hand-tuned 25-cell matrix. The practical way to customize is to pick the closest preset and bend it with the Forces, Motion, and Particles sliders — one preset covers a wide mood range.

Why does the same preset look different every time I load it?

The rules are fixed, but starting positions are randomized. Reset steps through repeatable layouts in order, while Randomize draws a completely new one. If a pattern you like disappears, Reset walks back through recent starting layouts.

Which settings make cell-like patterns?

Use the Cells preset with 200–360 particles, Forces at 1.0–1.2x, and Motion at 0.9–1.1x. Membranes appear within a few seconds — give the world time to assemble before you judge it.

There is no single best configuration. The useful habit is observation: identify one visible behavior, change one cause, and compare the result. Open the simulator, pick the closest preset, and use its controls as your starting laboratory.