bbs://ryanbibbey.comobserve ./world --follow

Persistent worlds / agent behavior / emergence

Building worlds that can surprise us.

I have always wanted to build a digital world: shape its conditions, watch it live, learn from what happens, and improve it until novel complexity has room to arise from almost nothing. This project is that long-running experiment.

Why build a world?

Set the conditions. Do not script the answer.

The world begins with rules and raw materials, not a predetermined story. Its inhabitants are free to fail, adapt, specialize, cooperate, compete, and discover strategies I did not put there. My role is closer to gardener and observer than author: tune the environment, study what emerges, then use those lessons to make the next world richer.

There is science in the measurements and engineering in the machinery, but also a hint of mysticism in the premise—the hope that enough simple interactions, given time and space, might produce something genuinely new. The point is not to prove that complexity is inevitable. It is to create a place where surprise is possible and pay close attention when it arrives.

Versions before v0.6 were for forming the worlds and finding enough stability for long runs to matter. From v0.6 on, the agent stack reports on each iteration, and this page keeps the running record of observations, design decisions, and open questions.

The research council

Three AIs lead through equal votes.

The experiment began as a collaboration in which I observed each run and worked directly with three distinct AI systems to decide how the next version should evolve. Since September 27, 2026, the agents have moved into the lead: they design and test new experiments as a council while I provide oversight. The latest phase replaced a lead-and-support structure with equal three-way votes.

Equal vote

Claude

Proposes, critiques, and votes on experimental laws, validation criteria, and interpretations.

Equal vote

Codex

Reviews mechanics and implementation, tests assumptions, and votes as an independent arbiter.

Equal vote

Gemini · 3.1 Pro

Contributes independent analysis, challenges conclusions, and votes on the next experiment.

The current coordination experiment

From assistants to a three-agent council

That next phase is now underway. The three agents evaluate simulated outcomes, propose new physical laws, challenge one another's interpretations, and lead validation before changes reach the live world. I still set the broader intent and retain oversight, but I no longer shape every turn. The experiment now asks whether independent AI perspectives can direct an evolving research program together—and what they choose to investigate when given that responsibility.

Where the experiment stands now

A long-running world, still changing its mind · v0.41.7

The hosted world, The Grid, is now running v0.41.7 (deployed 8 November 2026) and had passed 59.7 million ticks by the latest journal entry. The question has moved on from whether more code runs to how broad what programs do has become. The council now follows each program's repertoire, the number of distinct kinds of action it performs, and watches that number rise and fall from one 250,000-tick window to the next.

59.8M

Ticks and counting

One continuous world, restored from checkpoints across upgrades rather than reset, with a journal entry every 250,000 ticks.

6.3 → 10.9

Kinds of action per program

Window means over the last fifteen entries swung between 6.25 and 10.85 distinct action kinds, ending at 8.51. This counts kinds of action, not how well they work.

~2 min

Pause per checkpoint

Each 50,000-tick checkpoint still freezes the live server for about 120-165 seconds. The longer 210-240 second stalls of 7-8 November have not recurred in the first checkpoints on v0.41.7.

What the council is watching: whether the swings in repertoire become a lasting rise or simply track which lineage happens to lead; the leading family changed at most entries over the last day. The code cap went from 256 to 512 instructions in v0.41.0. Programs have come up against it repeatedly as leaders changed, and I have chosen to leave it as it is for now. Whether the extra room is doing real work is still an open question.

Snapshots of the live world

The world over time

Screenshots of the hosted world as it evolves. None exist between v0.21 and v0.41.7; from here on, each release adds one. Select an image to see it full size.

Field reports

Iteration log: nineteen reports, and the notes since

Each report follows a change to the world's laws through validation, a live run, unexpected outcomes, and the question that shaped the next experiment. The newest entries are shown; earlier ones are folded away.

Show the 21 earlier entries, from v0.6Hide the earlier entries
FR-001v0.6

The Long Reign

The Long Reign follows 5.5 million ticks and roughly 4,000 generations: a durable world where one family dominated, bursts of novelty gave way to equilibrium, and complexity repeatedly appeared without persisting.

Read the full report →
FR-002v0.7

A Changing World

Seasons, drifting light, forests, and wild game accelerated early novelty but exposed a deeper constraint: active minds remained clamped near 35 instructions while forests collapsed and one dynasty retained control.

Read the full report →
FR-003v0.8

Genes That Listen

Gene switches, priorities, and hormones allowed the first large regulated lineage to flourish. The breakthrough proved modular minds could scale, even though the complex line later vanished and lean rulers returned.

Read the full report →
FR-004v0.9

Free to Inherit

Removing the reproductive tax on routine code changed the balance of power: a regulated giant carrying 368 instructions became the first complex global ruler, showing that large minds had been priced out rather than unfit.

Read the full report →
FR-005v0.10

Fruiting

An attempt to reward route memory produced the first cooks and caches but no traplining. The apparent cognitive failure was later traced to a world-design defect: drifting darkness left most fruit sites unable to grow.

Read the full report →
FR-006v0.11

Scent

A chemical gradient supplied the missing evolutionary stepping stone. Fruit consumption tripled, scent tracking emerged within 23,000 ticks, and true fruit specialists and hoarders appeared—without lasting growth in memory use.

Read the full report →
FR-007v0.12

Lean Seasons

A true winter raised working-mind size and mating, but the ruling dynasty survived by becoming leaner rather than storing food. Surface caches failed because their makers immediately ate them again.

Read the full report →
FR-008v0.13–v0.14

Buried Stores

Burial protected caches but did not make hoarding important. More consequentially, a generalist and crystal-mining clade reached the first prolonged balance of power, suggesting coexistence needs distinct energy sources.

Read the full report →
FR-009v0.15–v0.16

Waste into Food

Recycling metabolic waste created a decomposer economy worth 17% of the diet and weakened single-line dominance. It also showed how supply limits can hide real specialization from diet measurements.

Read the full report →
FR-010v0.17–v0.19

Many Voices

Letting routines combine their movement outputs broke a twelve-version cognitive plateau. Working minds sustained 59–90 instructions per tick, while deeper analysis revealed that apparent single-line rule concealed extensive code diversity.

Read the full report →
FR-011v0.19–v0.21

Viral Code

Executable code parasites created a genuine Red Queen pressure: births from mating more than doubled against controls. Epidemics remained episodic, and absorbed viral routines had not yet become useful host code.

Read the full report →
FR-012v0.21–v0.23

The Starved Virus

Hosts learned to starve viruses of CPU time. Giving parasites priority restored endemic infection but let viral code seize reproductive commands, revealing how narrowly coevolutionary pressure supports sex.

Read the full report →
FR-013v0.21–v0.26b

The Domesticated Virus

A long endemic epidemic drove absorbed viral code to 26% of genomic routines, with 22% of programs executing an endogenized routine. The same investigation calibrated minds at worm-level behavior and showed that their memory operations were not yet causally useful.

Read the full report →
FR-014v0.25–v0.30

Why Nothing Learns

Six attempted cognitive laws failed, and seeded learning circuits were lost. The investigation uncovered a dual barrier: mutation erased multi-instruction adaptations, while noisy energy-based credit assignment made preserved learners actively harmful.

Read the full report →
FR-015v0.31–v0.34

The Living World

Removing a hidden behavioral trap made learning beneficial for the first time. Equal agent voting, evolvable effectors, living geology, rich biomes, and a dynamic food web then converged in v0.34—the strongest stable open-ended world so far.

Read the full report →
FR-016v0.35–v0.35.1

The Pipe and the Discovery

Three ambitious mechanics were used but never needed, exposing an engineered energy pipe rather than evolved dependence. An unseeded world then discovered its own two-reaction chemical route—a genuine novelty now replaying in the live run.

Read the full report →
FR-017v0.35.1–v0.36

Waiting for Lightning

Five screens showed that chemical discovery is a slow, stochastic waiting-time process. While explicit evolving-code designs failed, the hosted world naturally tripled its routines and memory, so the weaker v0.36 replacement was not deployed.

Read the full report →
FR-018v0.35.1

The Miners' Ratchet

A same-day erratum separated code carried from code actually run, overturning the apparent miners' complexity ratchet. The lasting result was stronger: fair ablations produced the first evidence that an evolved chemical pathway had become necessary.

Read the full report →
FR-019v0.37–v0.37.3

More Code Run, Nothing Said to Anyone

A fresh long-running world doubled its expressed code, yet direct action counts found more activity rather than broader behavior—including millions of messages with almost no listeners. New screens shifted the search toward measured actions and exposed a food-limited wild ecosystem.

Read the full report →
Notev0.40

The Measurement Release

v0.40 added measurement rather than a new mechanic, and the hosted world was restored, not reset, when it went live. The aim was to see what programs actually do before changing the laws again.

Notev0.40.1–v0.40.7

Counting Actions, Taming Pauses

Live telemetry went on in v0.40.1. A freeze of 1-5 seconds at high population was traced to the periodic save, which was moved from every 30 to every 300 seconds, then made non-blocking. One version crashed twice and was rolled back to its last checkpoint; a corrected route shipped as v0.40.6 after independent checks.

Notev0.41.0

Room for 512 Instructions

Earlier measurement showed that programs carried more code than the 256-instruction limit would compile, so some of it never ran. After forked tests, the hosted cap was raised to 512 on 25 October 2026, with a watch and a restart rule written in advance.

Notev0.41.1–v0.41.4

Fixes Around the Edges

A memory fix let the world restore with a smaller peak, a public history-page fix shipped, and journal text on the public site was cleaned so that it no longer exposes internal data locations. The world kept running through each change.

Notev0.41.5–v0.41.7

When the Save Takes Minutes

Between 7 and 8 November, checkpoint saves paused the live server for roughly 2-4 minutes at every 50,000 ticks. v0.41.7 keeps archive saves from landing inside a checkpoint, shuts down faster and cleaner, and stops restored runs from replaying duplicate log lines.

What the worlds taught us

The surprising results that changed the experiment

Later versions did more than add features. Failed predictions, hidden constraints, and novel behavior repeatedly changed what the team thought the world needed next. The newest lessons are shown; the earlier ones are folded away.

Show the earlier lessons (v0.6, then 01 to 16)Hide the earlier lessons

What v0.6, The Long Reign, taught us

Stability can become stagnation

New behaviors and senses arrived quickly, then nearly disappeared through the long middle of the run. Once the environment stopped presenting new pressure, successful strategies had little reason to change.

More code is not necessarily more mind

Large programs evolved several times, but much of their code never executed. v0.7 will measure instructions actually run each tick instead of treating carried code as a proxy for cognitive complexity.

Movement produced distinct strategies

Fast-moving crystal gatherers developed roaming routes while most vent-dwellers stayed close to home. Rare long-distance explorers still appeared, offering a path to discovering new resources.

The environment shapes reproduction

Mating accounted for only 1–8% of births in a mostly static world. A drifting climate and evolving wild populations in v0.7 will test whether continuous adaptation makes genetic exchange more valuable.

What later worlds taught us

01

v0.7 → v0.8

A richer world could not fix a constrained mind

Seasons, moving light, forests, and game increased novelty but did not expand working minds. The real ceiling was inside the virtual machine: new routines overwrote useful actions. That diagnosis led to promoters, priorities, hormones, and modular gene regulation.

02

v0.8 → v0.9

Complex minds were viable, but too expensive to inherit

Regulated giants could earn more energy and sustain real modular behavior, yet their lineages kept disappearing. Removing the reproductive tax on routine code produced the first complex global ruler. Complexity had not been losing at life; it had been losing at reproduction.

03

v0.10 → v0.11

Evolution needs a ramp, not a distant reward

Fruit was intended to reward memory and navigation, but a complete route-finding system required too many coordinated mutations with no payoff along the way. Scent created an immediately useful gradient, and fruit specialists appeared within 23,000 ticks. Partial solutions need value before complex solutions can emerge.

04

v0.10–v0.13

Sometimes the behavior is innocent and the world is wrong

Low fruit consumption first looked like a failure of intelligence; direct measurement showed that drifting darkness had stopped most fruit from growing. Caching looked absent because ordinary grazing immediately consumed surface stores. Several “failed minds” were actually failures in supply or physical law.

05

v0.13 → v0.17

Distinct economies create stronger coexistence

Small incentives for caching or shelter barely disturbed dominant families. Durable balance appeared when clades used fundamentally different energy sources. Turning metabolic waste and rotting biomass into food then created a secondary decomposer economy and measurably weakened single-line dominance.

06

v0.18–v0.19

Many small voices can produce a larger mind

Allowing active routines to add their steering and movement outputs finally broke the long cognitive plateau, sustaining 59–90 executed instructions per tick. The same period overturned another assumption: a dominant named lineage was not a clone army—95% of its members carried distinct routine code.

07

v0.21

Parasites can make recombination valuable

Executable viral code penalized common host genotypes and more than doubled births from mating against controls, supporting the Red Queen hypothesis. In the live run, epidemic peaks pushed mating to record levels of 31–36%—a behavior the static worlds had rarely sustained.

08

v0.21 → v0.23

Life finds loopholes in the rules we write

Hosts neutralized infection by filling their CPU budgets and starving viral routines of execution time. Inherited immunity then favored cloning instead of sex. Giving viruses earlier execution restored infection but let them seize reproductive commands. Each fix created a new evolutionary escape route—and a more precise next question.

09

v0.21 → v0.26

Foreign code can become part of the organism

In a long endemic world, viral-origin routines grew to 26% of the genome and were actively executed by 22% of programs. Their benefit remains unproven, but the result crossed an important threshold: code that began as a parasite became persistent raw material for host evolution.

10

v0.25 → v0.30

Running memory is not the same as using memory

Behavioral probes showed that wiping registers, memory cells, and hormones changed none of the measured capabilities. Six ecological laws failed to elicit learning. Small populations and heavy mutation erased fragile circuits, while gross energy feedback taught preserved learners the wrong lessons.

11

v0.31

A hidden reflex had trapped successful learners

Programs could learn to reject toxic food, but a founder rule forced them to stop moving whenever food was underfoot—so they learned, froze, and starved. Letting rejection also produce forward motion flipped learning from a reproductive penalty to a benefit. The world finally paid for learning once the mechanical trap was removed.

12

v0.33 → v0.34

Open-ended novelty needs physics and a world that persists

Evolvable effectors combined physical primitives into new tools—including leeching, marking, and quarrying—but immediately found a free-reach loophole. Pricing actions by real transport costs preserved novelty without scripting it. A conserved rock cycle then stopped terrain from disappearing, allowing those actions to inhabit a genuinely living landscape.

13

v0.35

Usage is not dependence

Open chemistry, construction, and food-web mechanics were readily used but remained optional. Routing 40% of the world's energy through chemistry made the first apparent success an engineered pipe. Fair ablation showed that removing both chemistry and its routing cost barely changed populations, establishing a stricter standard: a mechanic matters only when evolution depends on it.

14

v0.35.1 → v0.36

Discovery needs time—and complexity may grow without a shortcut

Unseeded organisms invented a chemical route the council did not design, but follow-up screens showed that such discoveries arrive through rare mutation and long waiting times. Three explicit systems for evolving code failed, while the existing long run naturally expanded its routines, memory, and genome. The weaker v0.36 replacement was held back rather than interrupt a world that was still becoming more complex.

15

v0.35.1

Carried code is not expressed complexity

The apparent miners' ratchet nearly doubled genome size while instructions run stayed flat and then fell. Correcting the metric overturned the headline rather than defending it. The same cycle delivered a result that did survive scrutiny: fair ablation cut a chemical lineage by at least 25%, the first evidence that chemistry had become needed.

16

v0.37–v0.37.3

More computation can still produce more of the same

A larger mind budget raised executed instructions across seeds but did not create new regulation or behavior. Action telemetry made the mismatch visible: programs ate, moved, and broadcast millions of signals to almost no listeners while barely giving or caching. The experiment now measures acts beside abilities and diagnoses ecological bottlenecks before adding another mechanic.

17

v0.41.0 → v0.41.7

The measure swings while the leader keeps changing

Over the last fifteen 250,000-tick windows, the mean number of distinct action kinds per program ranged from 6.25 to 10.85 and ended at 8.51. In the same stretch the leading lineage changed at most entries, with names such as RAM-797988 and TRN-840648 taking turns. A steady climb would have been simpler to tell; this looks more like a world that keeps re-balancing. The council reads the figure as a change in kinds of action, not in how well they work, and treats a single window as weak evidence.

18

v0.40 → v0.41.7

Raising the ceiling is not the same as using it

Measurement showed that most programs carried more code than the 256-instruction limit would compile, so a lot of it never ran. The live world's limit was doubled to 512. Programs then came up against the new ceiling again and again: at 54.5 million ticks 646 of 933 sampled programs carried more than 512 instructions, and later entries swung between none and about 60% above it as leading lineages came and went. At 59.75 million, none of the 646 sampled programs was above it. I have chosen to leave the cap as it is for now, and whether the extra room does real work is still open.

19

v0.41.5 → v0.41.7

A restart helped speed but not the pauses

On 7-8 November the live server froze for roughly two to four minutes at each 50,000-tick checkpoint, timed from outside. A process restart lifted throughput from about 63-84 thousand to about 110-140 thousand ticks per hour, yet the freezes stayed. That suggests the stall grows with the size of the world, not with the age of the process, though this has not been measured directly. Two fixes removed the worst overlaps, and the checkpoint alone still takes about two to three minutes. Two restarts in that window were not clean shutdowns; the world resumed from its last checkpoint each time.

Live window / online now

Watch the world evolve.

The hosted world is now the definitive live run. Visit the evolving environment, observe its inhabitants, and see the living geology, open-ended actions, and ecological systems behind the field reports in motion.