GOL-032 · technical companion

Crowd Drift

Life reshapes the crowds that steer travelers. Switch between neighboring and personal crowding, configure birth and survival, or turn Life off to keep movement alone.

At a glance

geometry
Square lattice
neighborhood
Euclidean orbit + immediate Moore counts
states
Occupancy + compass heading + seeded birth/paint streams + carried Life and steering evidence
update
Frozen crowd alignment and configurable Life, inherited newborn headings, surviving-cell movement
renderer
Canvas 2D

What to explore

Compare two ways local crowding steers travelers while configurable Life births and deaths reshape those crowds. Neighbor crowding weights surrounding headings by their adjacent life. Own crowding controls receptiveness using the traveler’s own adjacent count. The primary Enable Game of Life switch lets you compare with movement-only behavior.

Rules, update order and replay

Freeze occupancy and headings. Count each cell’s eight immediate living Moore neighbors, excluding itself. Every other living cell inside the chosen Euclidean orbit supplies a unit heading. Distance limits reach but never changes weight. Neighbor crowding weights each neighbor by its count divided by eight, averages those headings, and blends toward that mean at strength times min(1, total weight). Own crowding averages orbit headings equally and blends at strength times the focal count divided by eight. No orbit neighbors means no steering. Quantize immediately to eight directions; cancellation and exact ties retain the old heading.

When Life is enabled, the same frozen Moore counts select births at originally empty sites and survival at living sites. Unselected survival counts cause death. Birth and survival masks independently select counts 0–8, initially Conway B3/S23. Empty birth disables birth; empty survival kills all old cells. A newborn inherits the equal-unit-vector sum of its originally living Moore neighbors’ original headings, including neighbors dying this Step. Cancellation, exact ties and birth-at-zero use a reproducible seeded site fallback. Every actual birth advances that site’s stream once. Newborns begin acting next Step.

Commit Life before movement. Deaths free space; newborns block their birth sites. Surviving originals attempt zero to four synchronous adjacent microsteps. Occupied destinations, bounded edges and contested destinations block. A block ends that traveler’s movement this Step. No swaps, following or collision winners. Distance zero reproduces ordinary Life occupancy. With Life off, population is conserved and the saved masks are retained.

Reset reproduces occupancy, headings, paint/birth streams and evidence from the opening and two seeds. Switching Life or crowd models pauses and preserves the field. Version-two presets/shared openings contain all seven rules and complete initial conditions. Complete version-one records explicitly restore with Life off and retain their original trajectories. These files describe starting configurations, not evolved boards.

Reading the simulation

Compass colors and tiny edge/corner dots identify headings. Show direction dots, Color and Show Life events are independent display controls. Cream outlines mark newborns; coral crosses mark deaths at original sites, which may now hold an incoming survivor. The Enable Game of Life checkbox stays beside Transport, with retained settings visible while off. Set movement distance to zero for a pure-Life comparison, and Conway B3/S23 restores only the Life masks.

Paused Inspect cell reveals frozen Moore count, Life result, incoming survivor or newborn, inheritance/fallback reason and the original headings of each living Moore input. For living sources it also shows orbit weights, actual blend, quantization, movement and prior evidence. Gold squares mark Moore inputs; dashed cyan outlines mark the orbit. The fourteen randomizers cover individual parameters, Life masks, movement rules and complete compositions. Life-only, all-rules and everything randomization preserve enablement. Only Randomize Life switch changes it. Randomize everything except Life switch changes the other rules, both seeds and density. Each resets and plays. Fixed 1,000-Step Conway openings retain movement and turnover in both crowd models; different rules can still extinguish, saturate or jam.

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.

Large fields, dense populations and large interaction radii increase the work per Step. Start with a small field and radius, then increase them while paused. Read the configuration format and automated-access guide for compatibility details.