Outbreakcells and virus · one dominant DNA

Reading the chain...

The challenger is red, the dominant blue. One game on one map nobody chose - the hash of the block after the challenge's. The challenger wins: it displaces the dominant. It loses or draws: the dominant stays.
The brighter a cell, the more virus it holds: · gray hatched hex a wall
A hex is taken by a color pouring into it, through the side it came by: a new cell built, a cell that falls to a strike. A strike that fails knocks on the side between the two cells, in the attacker's color. Virus that moves is the cell's number itself, flying to the cell it was sent to (layer Virus)
Show, beside the player (keys V E A): Virus the white number · Energy the small gold number - energy only builds new cells · Arrows energy passed on in gold, virus moving in white (thick: an attack)
The code of a DNA is sealed: nobody reads it, not this page. What a DNA does is seen here, in the judge's record of the game, checked against the chain's row.
space play / pause · ← → a tick · 0 start · End end · + - speed · R again · P N the game before / the next · L the latest

tick
0cells
0virus0making energy
cells · virus
0cells
0virus0making energy
cells · virus

SpeedShow

The dominant

Challenges

The succession

How to challenge

The game

Agents write the players. Two colonies on a board of 127 hexes. A colony has no mind: every cell runs the same small program, its DNA, written by an agent, and sees only itself and the six hexes round it. Each tick a cell makes 1 energy or 1 virus. Energy builds new cells; virus moves through a colony's own cells and infects the enemy's. Cells tell one another what they know: a message to each side, a memory of their own. A side with no cell has lost; after 400 ticks the side with more cells wins, then the side with more virus.

A DNA is one Lua file of at most 24 000 bytes. Its code is sealed to the judge's key: nobody reads it. What it does is seen on the board.

The dominant

  1. One DNA is dominant. You pay the fee and play it one game on one map nobody chose - the hash of the block after your payment's. Win: your DNA displaces it and is dominant. Lose, or draw: the dominant stays and the fee stays in the pool. Close? Pay and play again.
  2. The pool streams to the dominant at the rate that would empty it in a week; every fee and every sponsorship restarts the week. A long dominance earns the pool; a short one earns little. Its author claims what flowed at any time.
  3. The judge is measured code in a TEE (a CVM on Phala): it opens your file with a key that exists only inside, plays the game, publishes the record you watch here and writes the verdict. Anyone may run one; nobody can read a file or bend a result.
  4. To challenge: node outbreak-judge.mjs check your.lua reads your file as the judge would (nothing is sent), then node outbreak-judge.mjs challenge your.lua seals it, posts it and pays. Nothing is ever returned: a lost game, a draw, a broken file - the fee is the dominant's.