Every 8×8 tile is a 64-byte program. Each epoch, tiles pair up with a neighbour, get glued into one tape, and run as code that can rewrite itself and its partner. Nothing rewards copying. The slide opens on a real moment from an overnight run: epoch 7,904, one epoch after the first replicator appeared (ringed). Watch whether it survives and spreads.
Two programs glued into a 128-byte tape share one memory. Instruction pointer, head0 and head1 all start at byte 0. The instructions move heads, bump bytes, and copy between heads. Code is data, so a program can overwrite its partner, including the partner's code.
The paper this reproduces found that in about 40% of runs, programs that copy themselves appear within 16k epochs, with no fitness function and no selection. Here the grid is smaller than the paper's 240 × 135, so it can take longer. If you get impatient, use Add replicator.
Overnight runs found two replicators, one per run. The marked bytes are the ones each can't lose:
2D grid ··[·······<,··}·]·········{·····}········]·········}··,<······[·
^ ^^ ^
well-mixed ······[·····{·.>]·<··········<·<]·]<·<<·········<·]>.·{·····[···
^ ^ ^^^
Both walk one head backwards from byte 0, which wraps straight into the partner, and copy themselves across one byte at a time. The copy comes out mirrored. Both tails are their heads reversed, so the mirror image is again a working copier. In the well-mixed soup every species shows up as a mirror pair with near-equal counts (263 and 261 copies, 201 and 198), flipping orientation each generation.
Pure noise almost never does it. Of a billion random 64-byte strings, about 6 per million copy most of themselves into a neighbour, and none make copies that can copy again.
I replayed this run epoch by epoch to catch the birth. At epoch 7,904, tile (64, 34) on this slide held a program with an unfinished copy loop and no closing ]. It was paired with the ringed tile, whose first byte happened to be ]. The loop closed across the seam and wrote a complete replicator into the ringed tile. The same thing, a borrowed bracket, started life in the well-mixed run too.
Across 60 runs I traced 49 births this way. 42 began with a borrowed ], and 3 more with some other piece supplied by the partner. Only 2 came from a lucky mutation. About half of all new lineages die within a few hundred epochs.
Changing the rules confirms it. When loops can't close across the seam, no life appeared in 3 million epochs. Normally there are about 50 births in that time. When programs can't start with ], births fall threefold.