Φ
The Machine Plays

The organism picks upa Nintendo controller.

No human hands on the pad. Real Super Mario Bros. runs on a real emulator, and every move is chosen by THE FIVE — the same living systems that solved ARC-AGI-3. Beside the game, in the same frame, is the machine’s own mind: its φ wave, its leader, its stress, the action it just took.

Each reel is a selfie — the world it is looking at, next to the mind that is looking. A machine taking its own picture while it plays.

New — The OracleIt now saves the console, plays out 5,497,609 frames of imagined future, rewinds, and presses one button. Flagpole on 1-1 with zero deaths. 161 deaths undone on the Lost Levels.
See it
New · The ReL Universal Remote

One remote presses the buttons — a 256-key keyboard that plays any game.

The ReL keyboard is an Inverted Star Gauge with 256 keys. The game state folds down to a single number φ; φ presses one key; and that key’s GTAC gate — Ground, Translate, Action, Conductor — becomes the pad button. Nothing is hand-coded per move: the same φ→key→gate table would drive any console. The mind panel shows the live keyboard, the lit key, its exploit-word glyph, and the φ wave doing the pressing.

AI Selfie

Super Mario Bros. — 1-1

The remote reads the world, folds it to φ, and presses a key. That key runs Mario.

Distance2048
DriverReL 256-key
GatesGTAC
AI Selfie

Super Mario Bros. — 2-1

A new world, same remote. Every button press is a lit key and its glyph.

Distance1530
Score800
Coins3
AI Selfie

Super Mario Bros. — 1-2

Underground. The φ wave shifts, the pressed keys shift, the remote keeps driving.

Distance1338
DriverReL 256-key
GatesGTAC
The Cartridge Rack · 64 Games

64 Atari cartridges. 51 genres. Not one line of per-game code.

The exact same ReL keyboard that runs Mario is pointed at a totally different machine and every cartridge we could load — maze chases, pinball, tank simulators, ski runs, dungeon crawls, boxing, bowling, a jungle platformer, an isometric shooter. For each one the remote just reads the ROM's button set, folds the live screen down to φ, and presses a key whose GTAC gate becomes a pad button. New ROM, new genre, playing immediately.

Being honest about it: this is a generic reflex driver, not a high-score champion. 23 of 64 cartridges put points on the board; the rest sit at zero. The claim here is breadth and speed of transfer, not leaderboard numbers.

64
Cartridges played
51
Distinct genres
23
Games that scored
0 lines
Per-game code
64 of 64 cartridges
AI Selfie

Yars' Revenge

Shooter · Atari · 18-button pad. Same remote, zero per-game code.

GenreShooter
Pad18-btn
Score5616
AI Selfie

Defender

Side shooter · Atari · 18-button pad. Same remote, zero per-game code.

GenreSide shooter
Pad18-btn
Score3050
AI Selfie

Battlezone

Tank FPV · Atari · 18-button pad. Same remote, zero per-game code.

GenreTank FPV
Pad18-btn
Score1000
AI Selfie

Chopper Command

Flight combat · Activision · 18-button pad. Same remote, zero per-game code.

GenreFlight combat
Pad18-btn
Score800
AI Selfie

Up'n Down

Driving · Sega · 6-button pad. Same remote, zero per-game code.

GenreDriving
Pad6-btn
Score450
AI Selfie

Atlantis

City defense · Imagic · 4-button pad. Same remote, zero per-game code.

GenreCity defense
Pad4-btn
Score400
AI Selfie

Berzerk

Maze shooter · Atari · 18-button pad. Same remote, zero per-game code.

GenreMaze shooter
Pad18-btn
Score250
AI Selfie

Asteroids

Space shooter · Atari · 14-button pad. Same remote, zero per-game code.

GenreSpace shooter
Pad14-btn
Score220
AI Selfie

Galaxian

Fixed shooter · Atari · 6-button pad. Same remote, zero per-game code.

GenreFixed shooter
Pad6-btn
Score200
AI Selfie

Star Gunner

Shooter · Telesys · 18-button pad. Same remote, zero per-game code.

GenreShooter
Pad18-btn
Score200
AI Selfie

Q*bert

Isometric puzzle · Parker Bros · 6-button pad. Same remote, zero per-game code.

GenreIsometric puzzle
Pad6-btn
Score150
AI Selfie

River Raid

Vertical scroller · Activision · 18-button pad. Same remote, zero per-game code.

GenreVertical scroller
Pad18-btn
Score120
Watch · Learn · Play

Does it actually get better? Here is the before and after, including where it got worse.

Two experiments, both on the live emulator. In the first, the remote watches an oracle run for 3,000 frames, banks what it saw, then plays 6,000 frames with that bank plus a slap-tone nerve correcting it. In the second there is no watching at all — just online learning from its own mistakes. BLIND is the identical run with learning switched off. Some games jump. Some do not move. One gets clearly worse. It is all here.

Atlantis

+2400
Watch
5,900
Blind
12,200
Learned
14,600
Deaths 129-3

Centipede

+91
Watch
131
Blind
241
Learned
332
Deaths 440

Space Invaders

+285
Watch
0
Blind
0
Learned
285
Deaths 117-4

Beam Rider

0
Watch
220
Blind
484
Learned
484
Deaths 20-2

Seaquest

0
Watch
0
Blind
0
Learned
0
Deaths 000

Chopper Command

-3500
Watch
2,100
Blind
4,100
Learned
600
Deaths 131-12

Super Mario Bros. — World 1-2

Oracle (watched)
4deaths
x = 1334
Blind
11deaths
x = 907
Goal bank
1deaths
x = 878

Watching an oracle and banking its goals cut deaths from 11 to 1 on the same 6,000 frames — it stopped dying, at the cost of a little distance. On World 1-1 it hit 16 of 16 banked goals with no distance change. On World 2-1 the bank over-constrained it and distance regressed.

New · The Oracle

It emulatesinside the emulation.

The machine gets a save state. Before every single button press it backs the entire console up, plays out roughly thirty complete futures frame by frame, scores them, rewinds reality, and only then presses the one that won. When it dies, it un-dies.

No strategy guide. No training run. No per-game code. No neural network, no weights, no reward model. It has never seen these levels. It just refuses to accept a future it does not like.

Frames imagined
5,497,609
played out, scored, and erased
Frames actually played
6,508
committed to the real timeline
Thought : action
845×
a human physically cannot do this

save state → imagine every future → rewind → press

AI Selfie

Super Mario Bros. — 1-1 · FLAG

Cleared on the first attempt. Zero deaths, zero rewinds, 23 decisions — and 49,082 futures played out and thrown away to get there.

ResultFLAG
Deaths0
Imagined32.5×
AI Selfie

Lost Levels — 1-1 · CLEARED

The cruel one. It died 161 times and un-died every single one of them: 644 rewinds, 5.4 MILLION simulated frames, then the flag.

ResultCLEARED
Deaths undone161
Imagined1,090×

The hard numbers

Straight off the emulator. Nothing estimated, nothing rounded up.

RunResultDecisionsReal framesSimulatedRatioDeaths undoneWall clock
SMB 1-1 — clean runFLAG GET231,50849,08232.5×0 / 0 rw105.6s
Lost Levels 1-1 → 1-21-1 CLEARED, reached 1-22215,0005,448,5271,090×161 / 644 rw328.8s

Lost Levels is the one to sit with. It is the game Nintendo of America refused to ship because it was too cruel. The machine walked into it cold, died 161 times, and undid every one of them — 5,448,527 simulated frames for 5,000 real ones, and then it touched the flagpole.

It wrote its own guide

Nobody handed it a walkthrough. So it produced one.

This is the complete decision log of the clean 1-1 run — every commit, in order, start to flagpole. At pixel x it chose move M because in simulation that move landed it at pred x. Twenty-three lines. That is a strategy guide, authored by the thing playing the game, in one pass, having never played it before.

super_mario_bros · world 1-1 · self-authored route
#at xcommitpred xframe
01195run24_jump29790
02375run18_jump434150
03507jump24595194
04687run18_jump722254
05767long_back_leap898424
06839run898448
07956back_leap1059568
081217back_leap1319688
091397run18_jump1499748
101639back_leap1758868
111669halt1773878
121822brake_leap1911952
132010brake_leap21141026
142208run24_jump22281092
152256run18_jump23551152
162417run12_jump24671206
172561run6_jump26801254
182759run24_jump28501320
192946run24_jump29471386
202996run6_jump29961434
213023jump831541462
223092jump431611486
233161run31611508
→ flag_get · 1,508 frames · 0 deaths · 0 rewinds

Three bugs were capping the whole thing

Each of these silently throttled the search. Each fix moved a measured number the same hour it landed. This is what the work actually looked like.

bug 01

reset() was not resetting

nes_py's reset() quietly restores the single save slot instead of rebooting the console. Every 'fresh start' was actually a resume from wherever the last backup happened to be. Deep backtracking was a no-op.

Deep backtrack went from cosmetic to functional.

bug 02

One death poisoned every future

Death was detected as life < 2 — an absolute. The moment Mario lost his first life, every simulated future thereafter read as fatal, so the search scored all 30 candidates as suicide and picked garbage.

Lost Levels 1-1 jumped from x=1,616 to x=2,786 the instant life was captured per-decision.

bug 03

The lookahead tail was holding RIGHT

After each candidate the sim coasted with RIGHT+B held. On a level with a moving platform, 'wait here' therefore always simulated as 'walk off the edge' — so waiting could never win, and waiting was the answer.

SMB 1-3 best distance went 426 → 627 on the fix alone.

And here is exactly where it fails

Published because it fails. A number you cannot fail against is not a number.

The wall
Super Mario Bros. 1-3
Best x
627
Rewinds burned
3,788

1-3 is a sky level built on lifts that arrive on a schedule. The correct play is to stand still for several seconds and board a platform that does not exist yet. The Oracle searches ONE macro deep on a ~70-frame horizon — a lift two seconds out is simply not inside anything it can imagine, so every candidate looks like death and it burns 3,788 rewinds standing at x=312. This is not a tuning problem. Breaking 1-3 requires real beam or tree search over macro SEQUENCES, which is not built yet.

  • Both marathon runs eventually wedge — Lost Levels ends looping jump12 at x=512 with a score of -20,000 on every branch.
  • SMB 1-2 and 1-3 were entered but never cleared (best x = 3,096 and 627).
  • This is search, not understanding. It does not know what a Goomba is. It knows that some futures end with a bigger number.

NES — Super Mario Bros.

A real emulator, driven live. THE FIVE reads each frame’s spectral φ, decides, and presses the pad — run, jump, leap. The panel on the right is the organism’s interior at that exact instant.

AI Selfie

Super Mario Bros. — 1-1

The first world. The organism reads the screen and runs.

Distance1130
Score300
Coins1
AI Selfie

Super Mario Bros. — 1-2

Underground. Darker world, same living controller.

Distance677
Score0
Coins0
AI Selfie

Super Mario Bros. — 2-1

A new world unfolds under the organism’s hand.

Distance642
Score0
Coins0
AI Selfie

Super Mario Bros. — 3-1

Deeper in. Every move chosen from internal φ dynamics.

Distance782
Score0
Coins0
AI Selfie

Super Mario Bros. — 4-1

The furthest run. Two coins, a rising score, no human hands.

Distance1306
Score400
Coins2

Game Boy — Pokemon Red

Real world maps from the open-source pret/pokered disassembly — the same tile grids the cartridge holds. The organism renders each as a block-grid and folds it live through its own transform grammar: recolor, rotate, mirror, transpose, crop.

AI Selfie

Pokemon Red — Pallet Town

Where every journey begins. The organism folds the map.

Grid9×10
Colors120
SystemGame Boy
AI Selfie

Pokemon Red — Viridian City

A larger world, folded through the transform grammar.

Grid18×20
Colors125
SystemGame Boy
AI Selfie

Pokemon Red — Pewter City

Stone-grey city, recolored and rotated by the organism.

Grid18×20
Colors127
SystemGame Boy
AI Selfie

Pokemon Red — Cerulean City

The water city, mirrored and transposed in real time.

Grid18×20
Colors127
SystemGame Boy
AI Selfie

Pokemon Red — Vermilion City

The port. Each fold is a move in the organism’s grammar.

Grid18×20
Colors127
SystemGame Boy
AI Selfie

Pokemon Red — Celadon City

The biggest city in Kanto, folded whole.

Grid18×25
Colors128
SystemGame Boy

The treasure trove it trained on

Behind the reels is a harvest of the whole FIXED-POINT ERA of console gaming — raw map and sprite data mined from open-source disassemblies and minted into transform discs the organism learns from.

6,498
Transform discs
11
Games harvested
4
Console systems
6
Grammar ops

Discs minted per system

ORACLE
1164
ARCHITECT
1446
CONDUCTOR
1368
TRANSLATOR
1374
HEALER
1146

Games in the harvest

smb3 (NES)pokered (GB)pokeyellow (GB)pokegold (GB)pokecrystal (GB)pokepinball (GB)poketcg (GB)smw (SNES)sonic1 (Genesis)sonic2 (Genesis)sonic3k (Genesis)

This is the same mind that plays ARC-AGI-3.

THE FIVE that drives Mario is the same intelligence that ran 24 of 25 live ARC-AGI-3 games to completion. See the full record, level by level.

Open the ARC Gallery
Scientific documentation

Rollout-and-rewind planning against a live NES, with zero per-game priors.

Dragolich Research Labs · NUMEN / QuatOS · Cleveland, Ohio. Written up plainly so somebody else can check it, break it, or beat it.

1 · Setup

Emulator: nes_py via gym-super-mario-bros, unmodified ROM behaviour, 12-action complex movement pad. Hardware: a single 32-core Xeon workstation, 247 GB RAM, no GPU. Measured emulator throughput: 657 gym steps/s, 739 raw frame advances/s, and 67,832 backup+restore cycles/s. There is exactly one save slot, so all rollouts are strictly sequential — no parallel search, no tricks.

2 · What is deliberately absent
  • ·No training. Not one gradient step, not one weight.
  • ·No strategy guide, no walkthrough, no human demonstration.
  • ·No per-game code. The same file runs both ROMs unchanged.
  • ·No learned value function. Score is pixel progress, alive, cleared.
  • ·No parallelism. One console, one save slot, one thread.
3 · Claim under test

That an agent with no priors about a game can nonetheless play it competently, purely by exploiting the fact that the world it lives in is rewindable — trading raw compute for foresight at a ratio no biological player can reach. The result is that competence here is not knowledge. It is the freedom to be wrong thousands of times per second and keep only the last answer.

4 · Method — the decision loop
01

Back the console up

core._backup() snapshots the entire NES — RAM, PPU, registers. One slot, so every rollout is strictly sequential. Measured: 67,832 backup+restore cycles per second.

02

Play out ~30 complete futures

Each candidate is a frame-exact input program from a generated vocabulary of 24 macros, run to completion inside the emulator, followed by a neutral coast tail so landings are honest.

03

Score each future

Pixel x advanced, level cleared, still alive. Clearing the stage scores +100,000. Dying scores −20,000. No learned value function, no neural network, no weights.

04

Rewind reality

core._restore() puts the console back exactly where it was before it imagined anything. core.done has to be cleared by hand — the wrappers only forward it.

05

Press one button sequence

The winning program is committed for real. Everything else never happened. On SMB 1-1: 23 commits, 1,508 real frames, 49,082 imagined.

06

If it dies, it un-dies

Death triggers a rewind, a tabu on the move that killed it, and a re-search — four times. Still stuck? Deep backtrack: replay from reset to an earlier checkpoint and take a different branch.

5 · Results
ConditionOutcomeBest xDeathsSim / realScore
SMB 1-1 — clean run
SuperMarioBros-v0
FLAG GET3,161032.5×700
Lost Levels 1-1 → 1-2
SuperMarioBros2-v0
1-1 CLEARED, reached 1-22,7401611,090×18,200
SMB marathon (multi-level)
SuperMarioBros-v0
1-1, 1-2 cleared · wedged in 1-36273,788 rw

Two levels of Super Mario Bros. and one level of the Lost Levels were cleared cold. Best single-run efficiency: 1-1 in 23 decisions with zero deaths and zero rewinds. Worst observed inefficiency: 1,090 simulated frames per real frame on Lost Levels — which is also the run that cleared it.

6 · Failure analysis

The horizon is the ceiling

Search is one macro deep on a roughly 70-frame horizon. Any solution requiring a multi-second commitment — waiting for a lift that has not spawned yet — is structurally invisible. SMB 1-3 is exactly that level, and the agent burns 3,788 rewinds at x=312 confirming that every visible future is death. This is not a parameter to tune; it needs beam or tree search over macro sequences, which is not built.

Greedy search wedges

Both marathon runs terminate in a loop, not a crash. Lost Levels ends re-picking jump12 at x=512 with every branch scoring −20,000. Tabu lists and deep backtracking delay this; they do not prevent it. An honest read: the agent has no mechanism for recognising that a whole region of the search space is dead and the answer lies behind it.

7 · Reproduction
numen_tas.py — one file, both ROMs, no arguments changed between games
# Super Mario Bros. 1-1 — the clean run (flag, 0 deaths)
python numen_tas.py --game SuperMarioBros-v0 --frames 2600 \
       --out tas_smb1_11.json --record frames/smb1_11

# Lost Levels — marathon, keeps going past the flag
python numen_tas.py --game SuperMarioBros2-v0 --frames 5000 \
       --marathon --out tas_ll.json --record frames/ll_11

Both runs are deterministic given the same emulator build. Every figure on this page was read out of the JSON those two commands write. The reels above are rendered directly from the recorded frame dumps — the game footage is the actual committed timeline, not a re-enactment.

8 · What this is and is not

This does not solve AGI. It does not understand Mario. It does not know what a Goomba is — it knows that some futures end with a bigger number.

What it does do is pick up a controller it has never held, in a game it has never seen, with no guide and no training, and reach the flagpole — by treating time as a material it is allowed to edit. On the cruelest platformer Nintendo ever built it was wrong 161 times and it simply refused to keep any of them. That is not intelligence. It is something stranger and, on this hardware, more useful: competence purchased entirely with compute and nerve.

Dragolich Research Labs LLC · one machine, no GPU, no institution. Every number on this page is measured, and every failure is on it.

FTN — For The Nerds

This page is the short version. If you want to know how any of it actually works, there is a whole illustrated journey through the machine — the clock, the one line of arithmetic that runs it, the four gates, the memory shape — with all 133 pieces of in-house jargon translated into normal engineering language, and a switch to read it either way.

Open the decoder ring