GOL-031 · technical companion
Orbital Bloom
Travelers align nearby headings, reproduce behind their shared direction, and die by local crowding. Freedom to move can protect life.
At a glance
- geometry
- Square lattice
- neighborhood
- Euclidean orbit + Moore lifecycle
- states
- Occupancy + compass heading + seeded paint streams + carried evidence
- update
- Frozen alignment and excluded movement, protected death, rearward ranked birth
- renderer
- Canvas 2D
What to explore
Keep GOL-030's literal steering and blocked movement while exploring renewal, trails, moving growth fronts and crowded attrition. Birth and death must be local, deterministic and separately switchable, with no hidden population target.
Rules, update order and replay
The 80/120/160 square world wraps by default; bounded edges are optional. An occupied site holds one organism with an eight-way heading. Initialization and painting use independent field/heading seeds and persistent site RNG streams. Steering is GOL-030's unit-vector blend with Euclidean weight max(1,R-d)/R inside radius R, strength-scaled capped total influence, nearest-eight quantization and old-heading retention on cancellation/ties. Movement uses 1–4 synchronous microsteps: occupied destinations (even departing), edges and contested empty destinations block. A block ends that organism's movement for this Step.
One Step freezes occupancy/headings and counts each organism's eight immediate Moore neighbors, excluding itself. It plans steering and all movement unchanged. Death matches strictly deathAbove < count < deathBelow. With protection enabled, at least one accepted microstep vetoes death, including a later-blocked stride. Deaths commit after planning movement; they do not free a path within this Step.
Each surviving organism matching birthAbove < count < birthBelow may create at most one child. Its group is itself plus all original adjacent living neighbors; their newly steered unit headings vote equally. Quantization uses the focal parent's new heading on cancellation/ties. The child inherits that combined heading. Candidates are the eight sites around the parent's ORIGINAL position, starting opposite the combined heading then proceeding in the chosen sense. Candidates must be originally empty and unused by ANY accepted movement microstep, even one belonging to a doomed organism. Thus no birth intercepts a moving cell or fills a newly vacated location. Deaths do not recursively alter neighbor counts or group votes. Each parent proposes its best remaining free candidate. Unique claims succeed together; tied claimants retry their next candidate in subsequent synchronous rounds (at most eight). A contested site is not permanently poisoned. No coordinate or iteration-order winner exists. Newborns begin acting next Step. Separate neighboring parents may each reproduce; there are no global group identities or pair deduplication.
Reset reconstructs every array, generation and evidence from the chosen field and both seeds. Rules/topology edits pause, preserve occupants/headings/streams and clear evidence. Complete replay includes occupancy, headings, site streams, movement evidence, carried Moore/death-protection evidence, birth parent and site-based death evidence. No evolution randomness is introduced.
Reading the simulation
Heading colors/arrows retain GOL-030's meaning. Optional lifecycle marks identify newborns and last-Step deaths, with text equivalents. Paused inspection reports Moore count, strict interval matches, movement protection, combined heading, ranked birth candidates and exact accepted result, alongside orbital contributions and carried previous evidence. Empty sites explain incoming births/deaths too. Cream outlines mark births; coral crosses mark death at the planned endpoint. Yellow squares identify Moore positions; dashed cyan marks orbit contributions. Moved/turned telemetry counts original organisms, including those that subsequently die. No running field-wide numeric report appears in the context 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.
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.