# GOL-030: Orbital Drift

Travelers bend toward nearby headings. Distance-weighted influence steers eight compass directions, while collisions preserve every cell.

[Open simulation](https://100gol.com/experiments/030) · [Directory](https://100gol.com/experiments)

## What to explore

Explore whether quantized local alignment creates common travel directions,
separation, jams or persistent motion. Preserve literal quantization rather than
adding hidden continuous steering or guarantees of convergence.

## Rules, update order and replay

Square 80/120/160 lattice, toroidal by default, optionally bounded. Vacancies are
empty; occupied positions hold one persistent organism with a heading 0–7. No
birth, death, attraction, separation force or autonomous compass rotation occurs.
Headings start uniformly seeded among N, NE, E, SE, S, SW, W, NW. Field and
heading seeds are independent. Painting new life uses a seeded site stream.

One Step first freezes all positions and headings. Distance is Euclidean, using
shortest wrapped displacement on a torus. Every other organism at d <= R counts
once. Its weight is w = max(1, R-d)/R. For example, at R=20: d=20 contributes 1/20, d=10 contributes 1/2. The one-unit floor
keeps the boundary influential; beyond R influence is zero. Radius is 1–32.

Compass vectors have unit Euclidean length, including diagonals. Let W=sum(w),
A=sum(w*v_neighbor)/W and a=(strength/100)*min(1,W). The proposal is
(1-a)*v_self+a*A. Strength is 0–100%, initially 100%. Normalizing combined
influence prevents dense neighborhoods from extrapolating beyond their mean.
For one neighbor at weight 1/2 the blend is exactly half-and-half. Direction is
quantized immediately to the nearest of eight vectors. Cancellation and angular
ties keep the prior heading (a 1e-12 numerical tolerance defines equality).
There is no fractional heading retained between Steps. Close pairs may exchange
headings or block instead of converging; that remains an observable consequence.

All headings commit together even when motion is blocked. Movement distance 1–4
means that many synchronous adjacent microsteps using the one newly chosen heading.
At each microstep occupied sites, including departing occupants, block; bounded
edges block; multiple claims on one empty destination all fail. Blocked organisms
stop for the remainder of this Step; others continue. No retries, swaps,
follow-through or tunneling. Crossing diagonal edges without a common lattice
destination is allowed. One grid step along a diagonal traverses sqrt(2) geometric
units, as in the collection's Moore movement convention. Population is conserved.

Reset rebuilds occupancy, headings, site streams, generation and evidence from
the selected opening and both seeds. Clear empties the field and restarts streams.
Painting existing occupancy preserves its heading; erasing removes it; new life
draws a fresh seeded heading. Rule/topology edits preserve field/headings/streams,
pause and invalidate evidence. Replay includes board, headings, streams,
generation, carried previous heading/influence/movement evidence, rules and topology.

## Reading the simulation

Canvas 2D uses eight named heading colors, optional heading strokes, and binary
occupancy with Color off. Paused inspection shows current and proposed heading,
each neighbor's distance/weight/heading, total influence, blended vector, tie
reason, exact microstep outcome and next position, plus carried prior-Step evidence.
Only the selected orbit is outlined. Written compass labels preserve meaning
without color. Arrow keys select, Enter paints, P plays/pauses and S steps.
One centered mobile all-rules action follows the stage instructions.

## Reproduce a starting configuration

[Download example JSON](https://100gol.com/api/experiments/030/configuration). Import it using Share & reproduce in the simulation controls. It starts paused at Step zero. Files contain rules and initial conditions, not evolved boards or manual edits. See [format, limitations and automated access](https://100gol.com/agents).
