Ein Kampf, erzählt
KI-Hinweis: Dieser Text entsteht mit Unterstützung von KI-Systemen, wird aber vor der Veröffentlichung redaktionell geprüft und verantwortet.
Du musst nichts über Core War wissen, um das hier zu verstehen. Alles Nötige steht unterwegs.
Was du siehst, ist ein echtes Duell, aufgezeichnet mit derselben Engine, die auch die Ranglisten rechnet. Jede Zahl auf dieser Seite stammt aus dieser einen Aufzeichnung.
Der Schauplatz
Ein Speicher aus 8000 Zellen, zu einem Ring geschlossen: Hinter der letzten Zelle kommt wieder die erste. Jede Zelle enthält eine Maschineninstruktion.
Wichtig, und für den Ausgang entscheidend: Der Speicher ist nicht leer. Vor Kampfbeginn steht in jeder der 8000 Zellen dieselbe Instruktion — eine, die jeden Prozess tötet, der auf sie läuft. Das Spielfeld ist also ein Minenfeld, das komplett aus Minen besteht.
Die beiden Programme sind die einzigen Stellen, an denen etwas anderes steht.
Die Kontrahenten
An Position 0 liegt clrsrc, 83 Zellen lang. Ein Scanner: Er durchsucht den Speicher nach Abweichungen. Weil der leere Core überall gleich aussieht, bedeutet jeder Unterschied, dass dort jemand ist.
An Position 5465 liegt Fixed, 100 Zellen lang. Ein Stone, also ein Bomber: Er sucht nicht. Er wirft blind Sprengfallen in gleichmäßigen Abständen durch den ganzen Speicher und wartet darauf, dass der andere hineinläuft.
Keiner der beiden weiß, wo der andere liegt. Sie laufen abwechselnd, je eine Instruktion.
Schritt 36
Der Scanner findet den Bomber — nach 36 Schritten. Das ist praktisch sofort; zum Vergleich, der Kampf wird über 80.000 Schritte dauern.
Er schreibt daraufhin eine tödliche Instruktion in Zelle 5537.
Rechne kurz nach: Fixed beginnt bei 5465 und ist 100 Zellen lang, belegt also 5465 bis 5564. Die Zelle 5537 liegt mitten im Körper des Bombers — 72 Zellen hinter dessen Anfang.
Der Scanner hat also keine Bombe irgendwo im Speicher abgelegt, sondern eine Zeile im Programm seines Gegners durch eine tödliche ersetzt. Und dann läuft er weiter, als wäre nichts gewesen.
Und dann passiert: nichts
Der Bomber merkt es nicht. Warum sollte er — die veränderte Zeile liegt in einem Teil seines Programms, den er gerade nicht ausführt. Er arbeitet weiter, wirft seine Bomben, sucht nichts, findet nichts.
Der Kampf läuft. Und läuft.
Zwischendurch trifft der Bomber sogar den Scanner: Von dessen 83 Zellen sind am Ende nur noch 57 unversehrt. Der Scanner verliert also fortlaufend Substanz, während sein Gegner 98 von 100 Zellen behält — er ist praktisch unbeschädigt.
Nach jeder vernünftigen Zwischenbilanz liegt der Bomber vorn.
Schritt 80.023
Der Bomber erreicht in seiner Ausführung die Zelle 5537.
Er stirbt.
79.987 Schritte liegen zwischen dem Stellen der Falle und dem Moment, in dem sie zuschnappt. Der Scanner hatte zu diesem Zeitpunkt noch genau einen Prozess übrig — er hat mit dem letzten überlebt.
Endstand: 98 von 100 Zellen intakt, und trotzdem verloren. Wegen einer einzigen Zeile, die vor fast achtzigtausend Schritten ausgetauscht wurde.
Was du daran gesehen hast
Ursache und Wirkung liegen in Core War weit auseinander. Das ist der Punkt, an dem das Spiel aufhört, wie ein Duell zu funktionieren. Wer nur beobachtet, wer gerade Treffer landet, liest das Ergebnis falsch — der entscheidende Zug war lange vorher getan.
Zerstörung ist nicht das Ziel, sondern nur ein Mittel. Der Bomber hat mehr Schaden angerichtet und verloren. Es kommt nicht darauf an, wie viel vom Gegner noch übrig ist, sondern nur darauf, ob er noch läuft.
Ein Warrior stirbt nicht daran, getroffen zu werden. Er stirbt daran, auf eine tödliche Zelle zu laufen. Der Unterschied klingt spitzfindig und ist der Kern des ganzen Spiels: Die Waffe wirkt erst, wenn das Opfer selbst sie ausführt.
Und noch etwas Unsichtbares: Von den 183 geladenen Zellen der beiden Programme unterscheiden sich nur 154 vom leeren Speicher. Ein knappes Sechstel eines Warriors sieht für einen Scanner aus wie unbenutzter Speicher — und ist damit unauffindbar.
Weiterlesen
Wenn du wissen willst, wie man so etwas selbst schreibt: Der Lernpfad fängt bei einem Programm an, das aus einer einzigen Zeile besteht.
→ Der erste Warrior · Schritt 1 von 5
Wenn dich interessiert, welche Strategien es gibt und welche wirklich welche schlägt — nachgemessen an 349.866 Kämpfen:
Aufzeichnung: clrsrc gegen Fixed, Standard-Regelwerk '94nop, Core 8000, Ladeposition 5465. Aufgezeichnet mit rmars (Commit b891921); alle Angaben — Zellnummern, Schrittzahlen, verbleibende Prozesse — stammen aus dieser Aufzeichnung.