GOL-019 · technical companion
Safe Passage
Isolated cells follow their compass and cannot die. Other cells seek adjacent survival opportunities; competing claims cancel movement.
At a glance
- geometry
- Square lattice with mobile organisms
- neighborhood
- Moore destinations · radius-two survival inputs
- states
- Dead / alive + mobile compass + local birth stream + claims
- update
- Frozen proposals, no-winner conflicts, simultaneous Life and movement
- renderer
- Canvas 2D
What to explore
Reveal how local survival seeking reshapes Life when every organism has the same opportunity and nobody wins a collision arbitrarily. Movement, failed claims, and the difference between a site's next occupancy and its occupant's fate must be explainable. The intended question is whether migration and contention sustain themselves; verification found both settling and sustained regimes under composed masks.
Rules, update order and replay
Square Moore lattice, 80, 120 or 160 square; toroidal by default, optional bounded edges. Codes 0–7 proceed clockwise from NW: NW, N, NE, E, SE, S, SW, W. This puts east at three in this experiment; Compass Rose's north-zero labels are deliberately not imported. Each living organism owns heading and permanent rotation sense. Positions own independent seeded birth random streams. Complete state includes binary occupancy, headings, senses, private elapsed-turn counters, birth streams, clockwise assignment percentage, generation and previous-Step events/proposals/claims.
One synchronous Step freezes the board and all Moore counts. Each living cell considers only frozen-empty immediate neighbors. The candidate count is that position's frozen count minus one, removing the source organism. It qualifies if the survival mask includes this count. The nearest circular angular distance to the current heading wins; an equal distance favors the organism's rotation sense. The current heading is used first; a due compass turn happens after acting. The Compass turn interval is 0–15 Steps, default one. At N > 0, each organism turns one slot after its own Nth, 2Nth, etc. completed Step. Zero holds its heading indefinitely without disabling movement. Blocked Steps count too. Movers carry their elapsed counter; newborns begin at zero. This counts engine Steps rather than browser redraws, including during Fast playback. All living cells seek movement, including cells that could survive in place.
The isolated-cell rule has precedence over both masks: a living organism with zero neighbors in the frozen starting field cannot die this Step and proposes only its current compass direction, without testing destination survival. If that direction leaves a bounded field, it stays alive without selecting an alternative. A contested isolated move also stays alive in place. Protection lasts for this Step even if the destination puts it beside another organism; with one or more neighbors on a later Step, the ordinary rules apply again.
Each organism proposes once. Exactly one claim accepts a move and guarantees that organism's survival this Step. Multiple claims reject every contender; there is no retry, swap, chain into a vacancy or global priority. Nonmovers survive unconditionally at zero neighbors; otherwise they apply the survival mask at their original frozen count. Frozen-dead unclaimed positions apply the birth mask at their frozen count; a successful arrival supersedes a birth, while a contested destination may still have an ordinary birth. A departed source stays empty until at least the following Step. All results commit together. Arrivals do not get a second Life test on a changed board. Forecasting a candidate reads at most the source's radius-two field.
Movers carry their compass and elapsed counter. Stationary survivors tick too. Death removes organism compass state; a later birth draws a fresh heading and sense from that position's private stream. Newborns first act next Step. Randomness assigns compasses only and never breaks movement conflicts. Reset recreates the selected initial board and all hidden state from independent world and compass seeds. Clear recreates an empty field. Painting a new organism consumes a local birth assignment; erasing removes its compass. Painting clears transient evidence. Replay requires all state arrays plus dimensions, topology and configuration.
Reading the simulation
Canvas 2D: lime survivors, cream newborns, cyan arrivals, coral surviving blocked contenders; dead cells remain background. Inspector outlines eight candidates, marks the chosen destination, and reports frozen/source-adjusted counts, angular ranking, claims, current/advanced compass, source fate, next site occupancy and last-Step evidence. An explicit Isolation rule row and organism fate name protected movement, protected conflict, or protected boundary rest. The Turn clock row exposes elapsed Steps, remaining Steps, and Off; the heading pair reports whether the next Step holds or turns. Only the compass direction qualifies for an isolated organism; other directions are labeled Not heading and the destination counts are diagnostic. Written labels retain all causality when Color is simplified. Arrow keys select, Enter paints outside inspection, P toggles playback and S steps. Inspect pauses painting. The mobile randomizer follows the legend and instructions and uses the same reset/play handler as the rail.
Reproduce an opening
Download the example above, open the simulation, expand the controls, then use Share & reproduce → Import JSON. The example uses authored rules and a fixed seeded starting field; it is independent of the site’s editable default composition. Import starts paused at Step zero.
Share links and JSON reproduce the configured starting conditions, including hidden layers rebuilt by Reset. They do not save an evolved board, hand-painted cells, speed or display preferences. Determinism applies to the same rule version and Step sequence; real-time playback rates vary by device.
Larger fields and more involved rules can reduce playback speed. Read the configuration format and automated-access guide for compatibility details.