Reference
2026-07-18 · 10 min read

Strategy encyclopaedia

AI notice: This text is created with the support of AI systems; it is reviewed editorially and taken responsibility for before publication.

This page describes each strategy class in detail: how it is built, what it beats, what beats it — and which of that is measured rather than handed down.

A narrative introduction to the same classes is in the learning path under The strategy classes. This page goes into detail.

The matchups

The basis is the class matrix of the Koenigstuhl field: 349,866 pairings of 1000 rounds each between 837 warriors whose class could be determined reliably from their authors' own strategy notes.

Each cell is the mean score of the row class against the column class. Above 150 means an advantage, below 150 a disadvantage.

against → paper stone scanner clear oneshot imp vampire
paper 117.7 152.6 142.6 154.5 114.9 138.4 173.7
stone 107.3 136.7 144.6 158.2 130.6 137.0 153.6
scanner 134.4 139.9 145.1 165.8 143.3 166.9 150.1
clear 118.9 123.9 123.5 144.1 122.8 145.8 133.3
oneshot 158.8 152.1 149.7 169.7 148.9 170.2 163.8
imp 102.4 127.4 112.6 130.0 108.5 125.6 135.4
vampire 98.8 124.5 134.9 150.0 124.6 138.0 139.7

Three things stand out immediately:

The oneshot row has no weakness at all. It sits above the mean against every class. That comes with a caveat — see oneshot.

The diagonal lies below 150 almost everywhere. A class against itself produces many ties. Most pronounced with paper against paper (117.7): two populations that cannot exterminate each other.

The classic rock-paper-scissors now holds on only one edge. Scanner beats paper is false today, stone beats scanner is nearly even. Why, see hybrids.

The classes

Stone

Principle: scatter bombs without searching.

A stone throws DAT instructions through the core at regular intervals. It does not know where the opponent is and does not need to — it simply covers the whole memory until the other one walks into it.

step    EQU     2667
start   ADD.AB  #step, $bomb
        MOV.I   $bomb, @bomb
        JMP.A   $start
bomb    DAT.F   #0, #0

The step size is the real craft. It must satisfy two conditions: small enough not to skip over a warrior, and chosen so the pointer covers the core evenly instead of circling in a small region. Because everything is computed modulo the core size, this depends on the greatest common divisor of step size and core size.

The classic step size is 2667 — roughly a third of 8000, coprime to it, and thus a coverage that reaches widely separated regions quickly.

Strengths: at full effect immediately, tiny, ideal as the second component of a hybrid. Weaknesses: blind against replicators that create copies faster than it can hit them — only 107.3 against paper, the worst value in its row.

Beware of self-destruction: with an unfortunate step size the bomb pointer eventually hits the warrior's own code. A dwarf with step size 6 therefore loses 656 out of 2000 rounds against an opponent that cannot kill it at all. Details in the learning path under Your first warrior.

Paper

Principle: reproduce faster than the opponent can destroy.

A paper copies itself to new locations and starts further processes there. It does not attack. It becomes a population that can no longer be caught in full.

The most widespread construction is silk. Its trick: it starts the new process at the target address before the copy is even finished. Every process passing through then copies one more cell — reproduction runs in parallel rather than sequentially.

        ORG     boot
boot    SPL     1, 0          ; 1 process -> 2
        SPL     1, 0          ; 2 -> 4
silk1   SPL     @0, }2143     ; child waits at the target address
        MOV     }-1, >-1      ; copies one cell towards the target
silk2   SPL     @0, }5227     ; second stage, different distance
        MOV     }-1, >-1
        MOV     bomb, }2667   ; a bomb in passing
bomb    DAT     <5334, >667

Note the double duty: the fields of the SPL line are simultaneously the copy pointers of the line below. Two stages with different distances spread the copies across the whole core in a tree pattern.

This example is runnable and verified against the engine — it is the teaching warrior that takes first place in the tournament further down.

Strengths: the best value against vampires in the entire matrix (173.7) and a clear advantage over stone (152.6). Very robust — a hit removes a copy, not the warrior. Weaknesses: only 117.7 against other papers (a sea of ties) and inferior to oneshots (114.9).

Anti-imp capability is mandatory. A pure paper cannot kill an imp — it runs straight through the copies. Modern papers therefore carry a small countermeasure, usually a gate or a targeted bomb.

Scanner

Principle: find the opponent, then strike precisely.

A scanner compares two locations in the core. Because empty core looks identical everywhere, a difference means somebody is there.

; sketch — not runnable, ptr and found are undefined here
dist    EQU     100
scan    SEQ.I   $ptr, $ptr+dist
        JMP.A   $found
        ADD.AB  #dist, $ptr
        JMP.A   $scan

A complete, runnable scanner is in the example corpus as lehrscanner.red.

Strengths: the best value against imps (166.9) and clears (165.8). Strikes precisely instead of scattering. Weaknesses: loses to paper (134.4) — contradicting the folklore, see hybrids. And it is slow: while it searches, it does nothing.

Two blindnesses worth knowing. A scanner comparing only B-fields overlooks opponents whose B-fields happen to match. And a scanner with a fixed grid is blind to anything between its probe points or anything moving faster than it probes — which is why imps do so well against some scanners.

A quickscanner is not a warrior of its own but an opening: a few widely spaced probe points in the very first cycles. If it hits, the battle is decided before the opponent runs. If it misses, the warrior switches to its actual strategy. Hence the notation qscan -> something in many strategy notes.

Oneshot

Principle: search once thoroughly, then stake everything on one hit.

A oneshot does not scan continuously but once — and carefully. If it finds the opponent, a devastating attack follows. If not, it falls back on an evasive strategy, often a clear or an imp.

Strengths: the only row in the matrix without a weakness. 158.8 against paper, 169.7 against clear, 170.2 against imp.

And the necessary caveat: the oneshots in the Koenigstuhl field are also its elite — best average hill score, best median rank of all classes. So the matrix measures these oneshots, not the class as an idea. Oneshots leading does not mean a home-built oneshot will win. It means good authors chose this construction.

Imp

Principle: copy yourself forward and run after the copy.

MOV.I   $0, $1

The imp cannot win — it writes only MOV instructions, and nobody dies on those. It can only survive.

In pure form it is weak: the worst row in the matrix after clear, only 102.4 against paper. As a component it is valuable: almost every top warrior carries an imp as a fallback. If the main body dies, the imp keeps running and salvages the tie — and a tie is worth a third of a win.

An imp ring distributes several imps evenly across the core so they repair each other. That is considerably more robust than a single imp; in the controlled tournament below, the ring beats both bombers.

A gate is the countermeasure: a cell that catches the imp as it passes. Anyone hoping to survive imp rings needs one.

Vampire

Principle: capture enemy processes instead of killing them.

A vampire bombs with JMP instructions pointing into a pit inside its own code. An enemy process running onto one is not terminated but redirected and works uselessly in the pit from then on.

Strengths: elegant against warriors with few processes. Weaknesses: the sharpest edge in the whole matrix — only 98.8 against paper, that is −75 points. You cannot enslave faster than the opponent creates new processes.

That is why vampires are rare today: they are structurally hopeless against the most common class in the field.

Clear

Principle: overwrite everything without aiming.

A core clear runs systematically through memory and overwrites every cell. Usually alternating SPL and DAT so that processes not currently standing there also get caught.

; sketch — not runnable, bomb, ptr and count are missing
clear   MOV.I   $bomb, >ptr
        DJN.F   $clear, <count

Complete as lehrclear.red in the example corpus.

In pure form the weakest class — the worst row in the matrix. A clear takes a long time and tells the opponent where it is by its trail.

As an endgame it is standard. After a successful scan the warrior roughly knows where the opponent lies; area overwriting is then the surest way to be rid of it. Almost every scanner and every oneshot ends in a clear.

Hybrids

And here the most important insight on this page.

Pure forms are teaching models. What wins on hills are hybrids. The most common combination in the field is paper with stone — a replicator that bombs on the side. Compared against the pure forms, facing the same opponent classes:

against paper+stone pure paper pure stone
paper 125.2 112.8 87.4
stone 166.6 148.4 122.1
scanner 161.9 133.4 132.6
Overall 149.4 130.6 114.1

The hybrid wins in every single column, not merely on average.

This also explains why the old rock-paper-scissors no longer holds: when the matrix says "paper beats scanner", "paper" overwhelmingly means hybrids. Their anti-scanner strength comes from the stone components. The folklore describes pure forms that barely exist in the field any more.

For your own construction that means: the question is not "which class" but "which two, and how do I combine them". Common combinations are paper+stone, stone+imp, scanner+clear — and practically always a quickscanner as an opening.

A controlled experiment

The matrix above measures the real field, with all the imbalances a grown field carries. As a complement, a clean counterpart: ten purpose-written teaching warriors, one per class, all in the same style and none tuned for strength. Each against each, 2000 rounds per pairing:

Rank Warrior Score
1 Teaching paper 231.5
2 Mice (replicator archetype, 1986) 208.8
3 Teaching imp ring 170.2
4 Teaching clear 148.3
5 Teaching quickscanner 118.7
6 Teaching stone 116.1
7 Dwarf (bomber archetype, 1984) 114.5
8 Teaching vampire 74.4
9 Imp 72.5
10 Teaching scanner 60.7

How reliable is this order? The gap between ranks 5, 6 and 7 is under three points — that is within measurement uncertainty, and those three are not distinguishable. The same tournament over only 200 rounds even had the teaching stone and the dwarf exactly level. The gaps at the top and bottom, by contrast, are unambiguous. Why that is, see Testing your own ideas.

Three observations from it:

The field is paper-heavy — deliberately. The hard anti-paper weapons (SPL carpets, gates) are intentionally absent from these teaching warriors. That is precisely why the tournament shows so clearly what replication achieves when nobody fights it specifically.

Repair beats speed. The teaching stone loses to the imp ring even though it carries an anti-imp bomb: the ring repairs itself faster than the stone destroys.

A B-field scanner is imp-blind by construction. The teaching scanner comes last because its grid systematically overlooks imps — not an implementation flaw but a property of the approach.

Both of those last points are also noted in the teaching warriors' own source comments. They argue against our own examples and stay in anyway — measuring rather than glossing applies to us too.


← Core War overview