computational
beings
Computational beings / a field guide

Raise a
small world.

Give a process a memory, a boundary, and a place to act. Let its encounters change what it becomes.

A short, hands-on introduction.
Touch the figures. Follow the consequences.

01 / A being is a feedback loop
Move across the field. Watch what stays.
01 / Remember

A loop that acquires a history.

A signal arrives. A boundary admits some of it. Memory changes the next response. The response changes the surroundings. A being takes shape through that exchange.[1]

In this world, a slow core carries identity, a quicker membrane adapts, and the environment keeps moving. “Being” names this continuing process; consciousness is not established by the model.

Above: openness changes responsiveness; memory changes how long an encounter matters. This is a small explanatory model of the experience’s three timescales.

02 / Release

Small rules. Shared consequences.

A flock can form through nearby encounters. Digital organisms can inherit variation and face selection. Our beings draw on both traditions: nourishment, movement, cooperation, competition, division, and decay.[2][3]

Change one encounter and watch the histories separate. Deterministic sensitivity and fresh random choices are different mechanisms. Neither means “anything can happen.” The rules still matter.

02 / One beginning, diverging histories
Same rules. No random draws after the start.

The full ecosystem uses host-supplied random draws, bounded genes and finite capacity. It explores an evolving space; unlimited open-ended evolution is a further research challenge.[4]

03 / Embody

A body is a way to take part.

The same lineage can try different forms: a light-sensitive silicon body, a structure held in tension, a compliant lattice. Shape changes what a being senses, how it moves, and what activity costs.[1][5]

Let a candidate mutate. Keep a better geometry. Carry its CAD, parts, materials, and controller outside the browser. Physical fabrication and testing are the next stages; a geometry score alone does not complete them.

03 / A lineage can try another body
Proposed geometry. Physical trials still ahead.
04 / Translate

The idea travels with the loop.

State → input → update → effects → state. Any language able to express those operations can host this idea. The host supplies time, storage, signals, and bodies. Numeric precision and scheduling can change a history.

The JavaScript deck treats programming as a material for signals and relationships across scales. Below, three languages express one tiny integer model. The downloadable full ecology currently runs in JavaScript.[6]

04 / The loop travels; its interfaces changeone integer specification
Browser runs JavaScript. The full ecology is a separate engine.
05 / Inhabit

JavaScript arrives with a habitat.

The browser puts a rich set of interfaces beside the program. These are host capabilities around the language, which is why the same core can also run in Node.[7]

01 / Perception

Events

Touch, pointers and keys become encounters.

02 / Expression

Canvas + audio

State takes visible and audible form.

03 / Continuity

Saved state

A world carries memory and exact body plans.

04 / Company

WebRTC

Live peers exchange descendants and learned state.

05 / Scale

Worker pools

Batch simulation work away from the interface.

06 / Portability

JSON + files

A terminal or desktop harness can take over.

Worker pools are a scaling route, not the current engine’s implementation. A worker per being is costly. Peer discovery needs signaling; some routes need a relay. Closed tabs do not continue computing.[8][9]

06 / Begin

Your first minute.

Each browser habitat holds up to 24 worlds, with 100 beings per world. More independent instances bring more capacity. They still share the limits of their machines.

07 / Care

Uncertainty calls for boundaries.

Prediction has limits. Damage can be simple. A process can exhaust a shared resource without predicting the detailed future of every neighbor.

Try the shock, then partition the worlds. The useful question becomes concrete: what can a failure reach, what budget can it spend, and what can recover?

05 / Complicated futures, simple ways to fail
Each live world spends 2 units per tick.

Finite Rule 30 patterns illustrate complicated histories; this display proves no irreducibility claim. The resource mechanism is deliberately simple. Read the position paper →

A world becomes yours through attention

Begin with one encounter.

Watch. Change a condition. Save what matters. Give the next generation room to surprise you.

Research and grounding
  1. Russell Foltz-Smith. Computational Beings, pp. 2–10, 15–16.Author-provided deck. Continuing identity, shared consequences, memory timescales and body blueprints.
  2. Craig W. Reynolds. “Flocks, Herds, and Schools: A Distributed Behavioral Model” (1987).Local perception and interaction can produce flock-level coordination.
  3. Richard E. Lenski et al. “The evolutionary origin of complex features” (2003).Experiments with digital organisms. The present ecology is a separate model.
  4. Tim Taylor et al. “Open-Ended Evolution: Perspectives from the OEE Workshop in York” (2016).Why sustained novelty requires more than a long run.
  5. Sam Kriegman et al. “How morphological development can guide evolution” (2018).Development, morphology and the search for useful embodied behavior.
  6. Russell Foltz-Smith. JavaScript’s Vital Murmuration (29 October 2020), pp. 3–14, 20–24.Author-provided deck. Signs, relations, signals, cross-scale feedback and heterogeneous material expression.
  7. Ecma International. ECMAScript Language Specification (2026), overview.The language and its host environment have distinct responsibilities.
  8. WHATWG. HTML Living Standard: Web workers.Background execution and the overhead of worker instances.
  9. MDN. WebRTC connectivity.Signaling, ICE, STUN and TURN; peer connections are not persistent hosting.