[Modifying Paper] Spatial Dispersal Algorithms and Avoiding Colony Self-Overwrite
Why a zero dispersal step causes self-cannibalism, and how tuning dispersal stride spreads colonies across the arena
The most critical parameter in a Paper replicator is its clone dispersal distance—how far away each new colony is spawned. If the dispersal step is #0 or too small, the parent keeps overwriting the same spot instead of expanding across memory!
Right now, line 5 (0004) has ADD.AB #0, $1, so clones never spread out to reach the enemy Stone at 0400.
🎯 Your Task Change the highlighted A (Left Value) on row 0004 from #0 to #200 (or any value 100+) and press [PLAY] so your expanding clones overwrite and defeat the enemy Stone!
1. The Replicator's Trap: Colony Cannibalism When Dispersal Is Zero
In Step 27, you modified the 5th line of the Paper genome (Address 0004) from "ADD.AB #0, $1" to "ADD.AB #200, $1", enabling your colonies to expand across the Arena and engulf the enemy Stone at Address 0400.
First, let's diagnose why the unmodified organism with "ADD.AB #0, $1" failed to spread. At Cycle 0, Line 6 (Address 0005) holds an initial target pointer of #205 in its B-field. During its first replication cycle, the parent colony dutifully copies all 6 lines of its genome 205 cells ahead and fires "SPL" to awaken Daughter Colony #1. However, when Line 5 executes "ADD.AB #0, $1", it adds 0 to the dispersal pointer! On the very next replication cycle, the parent colony copies Daughter Colony #2 directly on top of Daughter Colony #1—overwriting and corrupting the first child while it is in the middle of executing!
Just as plants in nature must disperse their seeds away from the parent tree to avoid competing for the same patch of sunlight and soil, a digital replicator must advance its dispersal pointer after every birth so that new colonies do not cannibalize existing ones.
Bad Dispersal (#0) : Parent [0000] ──► Overwrites [0205] again & again! (Colony traffic jam)
Good Dispersal (#200): Parent [0000] ──► Clone 1 [0205] ──► Clone 2 [0405] (💥 Overwrites Enemy at 0400!)2. How Paper Kills: Offensive Overwrite and Assimilation
Here, a fascinating question arises: "Stone kills enemies by throwing DAT bombs. Paper ('Mice') doesn't have a single DAT instruction anywhere in its 6-line genome! How, then, did Paper kill the enemy Stone and win the battle?"
The answer is DEATH BY OVERWRITE (Assimilation)! When you set the dispersal step on row 0004 to "#200", the replication targets advanced from ~0205 to ~0405. Remember that Paper's copy loop ("MOV.I <-1, <4") writes its 6 lines backward from the pointer address (covering 0405 down to 0400). Sitting right inside that 0400–0403 zone was the enemy Stone warrior! As your Paper transcribed its daughter colony into 0400–0405, it completely overwrote the enemy Stone's instructions with Paper DNA!
Once an enemy's code is overwritten by your clone, one of two fatal things happens to the enemy's execution pointer: 1. It steps onto a cell whose B-field or A-field is being mutated during transcription and crashes into a zeroed cell, OR 2. Even more diabolically, the enemy's execution pointer begins executing YOUR Paper instructions—effectively brainwashed into replicating your green colonies until it eventually hits a DAT! Because Paper's copy loop overwrites 6 contiguous cells in a tight block, any compact enemy warrior (like a 4-line Stone) caught inside that 6-cell landing zone has its entire body replaced in a single generation.
3. The Mathematics of Optimal Dispersal Distance
In high-level CoreWar engineering, choosing the dispersal distance in Line 5 is an art similar to designing a hash function in computer science. Because the parent colony, its daughter colonies, and its granddaughter colonies all run the exact same code with the exact same ADD constant, a poorly chosen step size can cause 2nd-generation cousins to collide with 3rd-generation aunts.
To minimize self-collisions while rapidly blanketing every sector of the Arena, champion Paper warriors use large prime-like steps or steps approximating the Golden Ratio of the core size (such as #253 or #303 in an 800-cell core). In distributed computing and peer-to-peer networks (such as Distributed Hash Tables / Chord), this exact mathematical technique is used to assign nodes evenly around a circular ID ring so that no single cluster becomes congested while leaving other regions empty. Feel free to experiment with different numbers in Row 0004 to watch how the geometry of your swarm changes!
🔒 MISSION CLEAR Unlocks the Full Lecture Note
Complete the experiment in the simulator above to automatically unlock the full deep-dive article—or click below to read the full text immediately.