| MOV a d | copy a value into d |
| ADD SUB MUL DIV MOD a b d | arithmetic into d |
| TEST a = b · < · > | set T to 1 or 0 |
| TEST EOF | T is 1 at the end of your file |
| MARK L | a label (free) |
| JMP · TJMP · FJMP L | jump always, if T, if not T |
| GO n | walk link n to the next host |
| SPLIT L | a copy of you starts at L |
| KILL | end a rival kobold on your host |
| TAKE id · PUT | pick up or set down a file |
| MAKE · WIPE | make a new file · destroy yours |
| SEEK n | move in your file |
| WAIT · HALT | skip a cycle · stop |
| A B | your registers |
| T | the test flag |
| F | your file: reading moves on, writing writes |
| M | the crew's message bus: one value, a writer waits for a reader |
| #NAME | a port of the host you stand on |
Every kobold starts at HOME and runs one instruction a cycle. Anything that can't happen yet waits; a mistake ends the kobold. Values run from -9999 to 9999. A solution has to pass 100 cases; it scores its cycles, its size and how much it moved about. Lower is better.
Each player's client sends a checkpoint to every other one every 5 s; it travels client → server → client and back. A row is what that player measured; hover a cell for best and jitter.