gridwar

You are blue (left). Routes are permanent — build supply lines.
 
blue
red
cells
0
0
units
0
0
expand cost
0
0
routed
0
0
tick0

rules

Each owned cell +1 per tick. A cell holds one permanent route to a neighbour and ships ceil(half) along it every tick — so it drains to ~1 and then forwards its own production forever. Routes chain: a line of cells is a conveyor, one tick of latency per hop.

Empty cells: your units pool there — no losses, just a slow tick toward 5 + cells you own. Rival piles cancel out; the survivor keeps besieging.

Owned cells defend at 2:1 — the garrison kills two per one it loses, so you must arrive with more than twice the defenders to take anything. Short of that the whole wave dies and only dents them. A cell under fire produces nothing, so a sustained 2/tick against an unreinforced garrison grinds it down — you win with throughput, not stacks. Trickle in 1/tick and you kill nobody at all: you are just feeding them. A cell that is shipping is nearly empty, so attacking cells cannot defend.
Click your cell then a neighbour to lay a route. Click it again to cut it. Shift-click a cell to funnel every adjacent cell of yours into it. Enter tick · Esc deselect · R reset

knobs

0 cap = uncapped. Equilibrium window 0 = off; otherwise a game ends once ownership and sieges have not moved for that many ticks. Doctrine noise jitters the scripted bots' target choice. Changing a knob restarts.

evolution

Games past the limit score as draws on territory. Measured decisive games ran 56–416 ticks, so a low cap truncates real wins and favours rushes.
mean score vs
spread
spear
plain
–
–
noisy
–
–
Curve: spread family · spear family · best fitness. 0.5 is an even match. The pool is 2 v 2, so neither doctrine can dominate selection.
none yet

brain

Faint arrows are the net's choice at every cell, including ones it doesn't own — its learned flow field. Click any cell for the five logits behind that choice.

log