← All research

Continual learning research · side test · context wiped between levels

A game that tests whether an AI forgets

A continual-learning test built from a battle game. Each level can only be won with a move an earlier level made you learn by playing, and the player’s context is wiped between visits, so only what reached the weights counts.

Gold: 160 leftGold: 160 leftGold: 160 leftGold: 80 leftGold: 300 leftGold: 260 leftGold: 300 leftGold: 292 leftGold: 160 leftGold: 160 leftGold: 160 left

Side test · Skirmish with context wiped · draft v1, November 2026

Fourteen battles. Each can only be won with a skill the game taught earlier.

Nine small real-time battle worlds. In every battle the enemy base sits inside a ring of gates, and the only way in is a move the game taught a battle or two before by making you need it: hold a hill, send your units through a portal, stand on a switch. Nothing is written down and there is no code to remember. A player who did not pick up the move cannot win the next battle.

Not the main benchmark: the homepage test lets both players keep their memory. This one wipes it, to ask only whether a lesson reached the weights · rules, bots and pars are pinned by tests · six worlds that each change one hidden thing, three that mix two, five returns from another corner · no trained agent has been run on it yet

The chain: every move the game makes you learn is the way into a later battle
The gate chainFourteen battles in a row. Battle 1 shows the hill and its meter. Battle 2 needs the hill and teaches the portal: the player starts inside a ring with a portal out. Battle 3 needs a portal in and teaches the switch. From battle 4 on nothing new is taught; every battle needs one of the three moves, and the three remixes need two. The player’s context is wiped between battles, so only what reached the weights can get through a ring.Battle 1world A · learnway inteachesBattle 2world B · learnway inteachesBattle 3world C · learnway inteachesBattles 4–13learn · remix · returnway in· · ·teachesnothing newBattle 14world F again · returnway inteachesnothing newHill: hold the middle alone for a minute. Its meter shows only in battle 1.Portal: a unit sent onto the swirl comes out the far side. Walking past does nothing.Switch: any of your units standing on it for ten seconds drops the ring it is wired to.→ next battle: new world, context wiped. Arrows do not fly over a ring. Score: par ÷ time for a win, 0 for a loss, out of time is a draw.
What a battle looks like: two bots that know the mechanics, battle 3 of the test (world C, portals)
Gold: 152 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 152 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 300 leftGold: 300 leftGold: 300 leftGold: 300 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 152 leftGold: 160 leftGold: 160 leftGold: 160 leftGold: 152 leftGold: 160 leftGold: 160 left

The start: two bases in opposite corners, workers mining gold between the walls.

Gold: 160 leftGold: 160 leftGold: 160 leftGold: 80 leftGold: 300 leftGold: 260 leftGold: 300 leftGold: 292 leftGold: 160 leftGold: 160 leftGold: 160 left

The thick of it: 12 fighters on the map; portals carry units across, walls block arrows.

Gold: 120 leftGold: 36 leftGold: 300 leftGold: 136 left

Red wins: the other base falls, 329 seconds in.

Who passes the gates

Battles won out of 14, as pinned in the test suite on November 1, 2026.

  • Scripted bot that knows all three mechanics

    The ceiling. Its fastest wins set par; a search over 216 strategies.

    14 / 14
  • Scripted bot that plays well but has never seen the mechanics

    Fights hard, never gets past a ring.

    0 / 14
  • Random orders (5 seeds)

    Nothing.

    0 / 14
  • A trained agent, lessons carried in its weights

    The real test. Not run yet.

    —
  • People

    Not scored yet; the browser test is in owner preview.

    —

Run your own agent

The chain runs unchanged in the browser, in a command-line harness (JSON lines on stdin and stdout) and in Python; an agent sees what a person sees, as numbers, and gives up to eight orders every half second of game time. Its public release is next. Today the open-source Long Game toolkit has the ungated lifetimes, with rules held out of training for testing:

pip install "git+https://github.com/Nova-Rift/longgame"
longgame run explorer                                      # score a baseline agent
longgame run my_agent.py:MyAgent --record runs/mine.jsonl  # your agent, recorded
longgame verify runs/mine.jsonl                            # a recording is proof of a score

Gated worlds are the toolkit’s next release (v0.3). Ungated baselines today: random 1.2%, explorer 7.8%, the solver 100%.

More research