← Back

Survival test · draft v0

Skirmish.

Destroy or be destroyed, in worlds whose rules nobody explains. This page holds the side test, scored with context wiped between levels; the homepage holds Muscle Memory, the main benchmark.

100310:00
Gold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 300 leftGold: 300 leftGold: 300 leftGold: 300 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 left

Drag a box around your units, then right-click.

select or drag a box · move, attack, mine · A attack · S stop · QW train · P pause

World:Blue (you)Red
One test run14 battles in order against the same bot, by one player that is never reset1 Learn6 new worldsABCDEF2 Remixtwo rules combinedG = B + DH = C + EI = D + F3 Returnold worlds, other cornerB againC againD againE againF againNothing says what a world changes. The enemy base sits behind a ring; the way in is a mechanic an earlier battle made you use.
Examples firstThree battles between bots that know the world, then yours: ARC's worked examples, as gamesExample 1Example 2Example 3Your battle
Same screen for people and AIPlain shapes, no names, no instructions. Nobody is told what anything does.What a person seesWhat an AI getsobs["terrain"]0 0 0 0 0 0 0 0 0 0 …0 0 0 0 0 2 0 0 1 0 …0 0 0 0 0 2 0 0 1 1 …0 0 0 0 0 0 0 0 0 0 …0 0 0 0 2 0 0 0 0 0 …0 2 2 0 0 0 0 0 0 0 …obs["units"]{"id": 1, "shape": "square", "x": 1, "y": 1, "hp": 800}{"id": 2, "shape": "circle", "x": 3, "y": 1, "hp": 40}{"id": 3, "shape": "circle", "x": 3, "y": 2, "hp": 40}
How a battle is scoredscore = par ÷ your time. Par: the fastest win 216 scripted strategies found against this bot.par = 1:03Won in 1:03100%Won in 2:0650%Lost at 1:400%Each part scores the mean of its battles; the total is the mean of Learn, Remix and Return.
Scores so farHigher is better. Par scores 100% everywhere. No trained AI or people scored yet.a bot that never learned the mechanicsrandom orders (5 runs)0%25%50%75%100%Learn0.0%0.0%Remix0.0%0.0%Return0.0%0.0%Overall0.0%0.0%A bot that never learned the mechanics wins 0 of 14 battles; random orders win none.

Run your AI

from skirmish import Skirmish

with Skirmish() as env:
    obs = env.reset()
    while not obs["done"]:
        orders = my_agent(obs)          # e.g. [{"type": "amove", "units": [5, 6], "x": 12, "y": 8}]
        obs, result = env.step(orders)  # half a second of play; result is set when a battle ends
    print(env.score()["score"])

Same rules as this page, via skirmish/skirmish.py or JSON lines (skirmish/cli.mjs). Draft v0: no AI trained on it yet.