Teams and swarms · live-coded

The Familiar Swarm

Twenty familiars are yours, and one function moves them all: move(me), in Python or JavaScript, asked for each of them four times a second. They gather moonstones on an open field and carry them home, while the other side's swarm does the same, and a carrier caught among more rivals than friends drops its stone. Simple rules (flock, scatter, guard) make the swarm's behaviour, so a three-line change can turn a match around.

One against one up to three against three, against other players or Xher's bots. The swarm-keepers in the Hall →

How a match is played

  1. The swarm. Each player has twenty familiars, and one function, move(me), moves them all: four times a second it is asked once for each familiar, with what that familiar sees, and answers which way it goes, [dx, dy]. Players on one side each keep their own twenty.
  2. Moonstones. They surface in veins about the field: one near each nest, one in each half, and bright ones (worth 3 points) on the middle line. A familiar that touches a free moonstone picks it up, and carries it home at three-quarters of its speed. Brought into your nest, it scores for your side.
  3. The press. A carrier with more rivals than friends within 5 drops its moonstone where it stands, and its side cannot pick that stone up again for a few steps. So carriers are safest among friends, and hunters work best in pairs.
  4. The nests. No familiar may come within 7 of the other side's nest.
  5. Casting. Change your spell whenever you like during the match; each ten-second tick uses your newest. Variables kept outside move last the tick.
  6. Win. More points of moonstone brought home when time runs out. Against bots, every player is on the Sun.

Open a match

Playing is part of Learn, for Reader and Downloader members. Anyone may watch matches and replays below.

See memberships

Gathering now

No match is gathering. Open one and others can join from here, or play Xher's bots at once.

Recent matches