Who beats whom
AI notice: This text is created with the support of AI systems; it is reviewed editorially and taken responsibility for before publication.
The Koenigstuhl is a hill where every submitted warrior stays forever. Over three decades it has accumulated 1104 programs. Each has faced every other.
That is 1,217,712 results. You can look them up here.
What a number means
Every value is a warrior's score against a particular opponent, averaged over 1000 rounds. The formula is the same one used on all hills:
Score = (wins × 3 + ties) × 100 / rounds
The scale runs from 0 to 300:
| Value | Meaning |
|---|---|
| 300 | won every round |
| 200 | twice as many wins as losses, no ties |
| 150 | even |
| 100 | every round a tie — both always survive |
| 0 | lost every round |
The 100 deserves a second look. A warrior that never wins but always survives scores better than one that wins a third of its fights and loses the rest. Surviving is a strategy in its own right in Core War, and the numbers show it.
Both sides of the same battle
For every pair you will find two numbers: what A scored against B, and what B scored against A. Both come from the same measurement — it is one battle viewed from two sides.
That is why together they never exceed 300. And the difference from 300 tells you something useful:
300 − (score A + score B) = proportion of ties
A pair summing to 300 produced not a single tie — every round there reaches a decision. A sum of 200 means the opposite: both survived every single round.
Across all 608,856 pairings the sum averages 282 — that is, around 18% ties. There are pairings at 0% and pairings at 100%.
How it was measured
The battles were computed with rmars, a rebuild of the reference simulator pMARS verified for result-identity against a frozen test corpus. The settings are those of the standard '94nop rule set: core 8000 cells, 80,000 cycles, at most 8000 processes, warriors up to 100 cells, minimum load distance 100.
Why 1000 rounds? Because fewer is not enough. At 200 rounds the spread of a result is around 35 points — adjacent values would then be indistinguishable. At 1000 it is about 16. More on that under Testing your own ideas.
Why 1104? That is the state of our local field from which the matrix was computed. The Koenigstuhl itself changes continuously — warriors are added, and occasionally an author withdraws one. At the comparison date it held 1105 entries, in a slightly different composition. The deviation concerns a handful of entries and changes nothing about the matchups; we state the number precisely anyway, so it stays verifiable.
Who you will look for in vain: Kaitain. The warrior that leads two of the Koenigstuhl's three standings joined after this matrix was taken and is therefore not in it. That is not a glitch but the price of any snapshot having to be taken at some point. You will find Arvon, pst_v3, pst_v4 and clrsrc; the results for all three crowns are under About this project.
What the numbers do not say
A single cell is not a verdict on the class. That a particular scanner loses to a particular paper does not mean scanners lose to papers. For statements like that, the aggregated class overview is the place — it summarises hundreds of pairings.
Old warriors are not bad, they are old. The field holds submissions from three decades. Putting a 1994 program against a modern hybrid is about as informative as racing a vintage car against a current one. It gets interesting when an old warrior holds its own anyway — and that does happen.
None of this ranks the authors. Many entries are experiments, teaching examples or deliberate curiosities. Submitting a warrior does not necessarily mean wanting to win.
Origin and rights
The warrior names and author attributions come from the Koenigstuhl. The results are our own measurement — recomputed, not taken over.
We do not show the source of foreign warriors here. A Redcode program is copyrighted, and public readability on a hill is not a licence. If you want to read a particular warrior's code, you will find it in the Koenigstuhl archive where its author submitted it. Details under Attribution.
Related pages
- The strategy classes — what each class achieves against which
- Strategy encyclopaedia — the classes in detail
- Hills and community — where the field comes from