Skip to content
System One

Jev game demos: Doom, Pokemon, Mario, drones and more

People have wired Jev into Doom, Pokemon, StarCraft, Super Mario Bros., Tetris, Snake, chess, Minecraft, drones and robot arms. In each demo, code turns the game into a short text state, Jev picks one move from a fixed list, and code carries it out. This page groups every demo in the directory, says what Jev decides in each, and covers where the approach breaks: network latency against frame rate, and no lookahead.

Updated

Jev can’t see a screen and doesn’t write text. It still turned into the model people reached for when they wanted to watch an AI play a game. This page collects every Jev game demo and real-time control demo in the directory, grouped by type of game. Each entry says what Jev decides and links to the demo’s page here, which has the source link, the author and any video.

Almost every demo follows one loop. Code reads the game’s memory or entity list and writes a compact text state: positions, health, what’s ahead, which moves are legal. Jev answers a choice question over those moves, sometimes along with a yes/no noul or a score. Code presses the buttons. Stars and view counts below are as of 24 September 2026. Views on X are post views, not video plays.

Doom, shooters and action games

The Register’s launch coverage said Jev can play Doom “when fed structured data describing the player’s game state”.

  • jev-doom-agent runs Chocolate Doom in the browser through WebAssembly. Each decision sends health, armor, ammo, position, kills, visible monsters and pickups as structured state. A Jev choice picks a tactical macro, and a local motor controller turns it into movement, turning, firing and weapon inputs. Low-confidence or failed calls show up on screen as a fallback, not as Jev.
  • The Register’s launch article is the news piece behind the “plays Doom” headline. It also reports TypeSafe’s 0.114s against 8.566s latency comparison with GPT-5.6 Terra.
  • jevlike is an open reimplementation of Jev’s input and output shape, not Jev itself. Its Doom and chess demos score controller buttons from image patches. The author says the clips were picked for activity, not skill. 1,274 GitHub stars.
  • Jev’s Dojo is a browser fighting game where you fight Jev from the keyboard. The launch post has about 93,000 views.
  • heist-one is a browser stealth game. Jev makes typed judgments for the guards, and game code owns all world state.
  • jevs-fly is a Three.js flight game. Jev picks a glowing fly’s heading and dive about five times a second as it chases goblins.
  • Jev playing 50 games of Subway Surfers at once runs 50 games in parallel for under a cent in total, by the author’s account. About 358,000 views.

Doom head-to-heads against Laya are listed under Jev against Laya below.

Platformers and classic arcade games

These games have a small action set and a clear next obstacle, which suits a single choice per tick.

Super Mario Bros.

  • typesafe-mario reads the emulator’s RAM into compact JSON with no screenshots. Each request asks three questions: a choice of controller input from seven actions, a noul on whether a forward jump should start or stay held, and a score for danger shown on the dashboard. The emulator then advances several frames before asking again. 381 GitHub stars.
  • Jev playing Super Mario Bros. in real time is the X video from the same author. It credits fast inference plus structured output for moment-to-moment play. About 609,000 views.
  • Mario Never Dies has Jev pick every move. Each time Mario dies, the VM forks into four timelines, and whichever survives becomes canon.

Tetris

  • Tetris with real-time Jev decisions shows Jev answering fast enough to push blocks down during play. The post shares no code. About 80,000 views.
  • jev-tetris plays Jev against Claude Haiku, Gemini Flash or an open-weight typed-decision model, with the same piece sequence and clock for both sides.
  • Tetris x TypeSafe lets you play yourself or hand the game to a choice question that picks every move.
  • typesafe-jev-dojo is a live demo set that includes a Tetris-playing agent alongside routing and a Jev-versus-Claude gauntlet.

Snake, Pac-Man, T-Rex and Pong

  • typesafe-snake asks one choice per game tick. Code works out the legal moves and board facts before the call.
  • snake-jev asks several questions per tick and Python combines them into a move. One recorded run reached 29 foods in 461 ticks before the snake trapped itself. It spots immediate hazards but doesn’t plan a route.
  • Jev Arena puts two Jev agents in one Snake game, racing each other to a trophy.
  • Jev plays Pac-Man sends the maze, the ghosts and the legal directions before each junction. Jev answers with one direction and a probability for each.
  • jev-t-rex-runner has Jev choose jump, duck or keep running for each new obstacle, plus a short or full jump. The browser keeps frame timing and collision geometry.
  • jev-play-ping-pong plays browser table tennis from structured telemetry through ordinary Chrome inputs and logs each decision.
  • jev-pong moves the ball one step per model decision, so each lane’s speed is that model’s latency. It replays a recorded run with Jev, Gemini 3.8 Flash, Claude Haiku 4.5 and GPT-5.6 Sol on the paddle.

Other arcade and party games

  • beat-jev is a penalty shootout where Jev decides which way the goalkeeper dives.
  • Jev’s Kitchen Chaos runs four Jev-driven chefs in an Overcooked-style kitchen. In one early test Jev put 66% on firefighting against 33% on finishing an order and answered in about 200ms.
  • Real-time platformer levels uses Jev to generate platformer levels as you play, not to play them. About 546,000 views.

Strategy games, RPGs and Minecraft

Slower games give Jev more time per decision. The harness still has to supply memory and a plan, since Jev sees one state at a time.

Pokemon

  • JevPlaysPokemon plays Generation 3 Pokemon through Showdown and a real FireRed ROM. Each turn the host reads the battle out of RAM and hands Jev the legal moves and switches.
  • jev-plays-pokemon plays Pokemon Red on a PyBoy emulator. Jev answers parallel yes/no questions about a text snapshot each turn, and code turns the answers into button presses. The harness holds short-term memory because Jev has none.
  • Jev outperforms Opus 5 at Pokemon Showdown reports one competitive match that Jev won. The post gives Jev’s cost as $0.0029 and 37 seconds against $2.35 and 6 minutes 29 seconds for Opus 5.

StarCraft, Civilization and adventure games

  • tsai-sc lets Jev control the original StarCraft shareware through synthetic keyboard and mouse input and records the action probabilities for each decision. 24 GitHub stars.
  • tsai-civ2, by the same author, is an experimental harness where Jev plays the original Civilization II in a browser with live action probabilities.
  • Jev plays Kyrandia 2 against itself drives the adventure game with Jev choices, and the model ends up running in circles. It’s a useful failure case.
  • jev-playground benchmarks Jev against Luna, Haiku and Gemini at picking the next action in games built as state machines. Code owns the rules and the model only picks from the options it’s given.

Minecraft

  • minecraft-agent splits the work. GPT-6 Astra sets the plan and Jev chooses each in-game action from a described list. Its best verified run went from an empty inventory to killing the ender dragon in 8 minutes 43 seconds, using 131 Jev decisions and 35 Astra calls. 536 GitHub stars.
  • typesafe-minecraft-demo controls a Minecraft Java player with Jev, shows each decision live, and includes a flag-building task.
  • jev.mods is a Minecraft mod where Jev tries to finish the game from scratch with no scripted route.
  • Jev playing Minecraft (r/accelerate) is a work-in-progress demo that includes fleeing zombies at night.

Chess, poker and puzzle games

Board games show the lack of lookahead most clearly. Jev makes legal moves when handed the list, but it doesn’t search ahead.

  • Blitz chess against frontier models played 5+0 blitz at one API call per move, with Jev answering in about 2.6 seconds. Fable 5.1 was ahead on material but lost on time. GPT-6 Astra mated Jev in 18 moves. About 559,000 views.
  • Jev vs. GLM at chess ended with GLM 5.3 winning by checkmate in 29 moves. Jev took about 0.3 seconds per move against GLM’s 5.8, and the whole game cost 24 cents.
  • llm_chess lists jev-latest with 8 wins, 50 losses and 22 draws over 80 games, no illegal moves, and an estimated Elo of about 243.
  • TypeSafe Jev played chess and landed next to reasoning models is the author’s write-up of that run. Jev’s win rate against the random-move player came close to several reasoning models.
  • game-coach is a chess coach where Stockfish owns the truth about the position and Jev makes the coaching judgment after each move.
  • Jev is the fish at the poker table tested poker. Given the opponent’s exact cards, a made flush against its own straight, Jev still said it was ahead and shoved in five runs out of five.
  • Jev Tac Toe has Jev pick a square with a choice over the open squares, with a journal of the probability it gave each one.
  • Jevsweeper is a live Minesweeper broadcast where Jev picks every reveal and flag. A separate checker labels each loss as a forced guess or a missed deduction.
  • jevminesweeper is a smaller Minesweeper player that picks each move as a typed decision.
  • jev-gomoku plays Jev against Jev at gomoku with per-move timing logs, using a MoonBit client for the API.
  • jev-bfs plays Wikipedia link races. It scores up to 128 outgoing links per request for how few hops they leave.

Drones, robots and driving

These run in simulators. The pattern is the same, with one addition: a fast deterministic controller underneath keeps final say.

  • jev-drone flies a quadrotor through an obstacle course in MuJoCo using only its camera. Computer vision turns depth and segmentation into a short scene description. Jev answers a maneuver choice, a risk score and a noul on whether the target is really lost, at about 2.5 Hz. A 50 Hz reflex layer can veto it, and code skips the call when nothing has changed. A typical 65-second flight costs about 110 calls. 164 GitHub stars.
  • typesafe-jev-drone-demo is a Three.js drone where a choice picks each navigation action and a noul estimates obstruction, with the exact model input and output shown beside the flight.
  • A driving simulator controlled by Jev rebuilds a Tesla Full Self-Driving-style simulator with Jev, made in under an hour by the author’s account. About 732,000 views.
  • RoboJEV controls a Franka Panda arm in MuJoCo in two stages: Jev picks an intent, then X/Y/Z motion and a gripper command, and a Cartesian controller executes it. 42 GitHub stars.
  • MakerMods robot arm in MuJoCo sends the scene as JSON. Jev picks the next bounded action, such as hover, descend, grasp, lift or place, finishing a task in 9 decisions at about 150ms each.
  • MuJoCo robot-arm control found Jev struggled with one call per update, so it split each update into two: what to do next, then how to move the arm and gripper. About 45,000 views.
  • jev-askable-arm gives Jev a plain English goal and a simulated Franka Panda in ManiSkill. Jev picks one of about 30 hardcoded primitives per step, at roughly one second per pick.
  • robo-harness drives an SO-101 arm. Jev picks bounded joint steps under a spend cap, reached through Vercel AI Gateway.
  • MOSS x Jev replays recorded Jev decisions for a litter-picking arm in MuJoCo. Jev picks the target, and in the newer replays each arm action from a fixed list.
  • jev-little-airways is a toy air-traffic sim. Each aircraft asks four batched questions about every 1.6 seconds and gets answers in roughly 150ms.

Jev against Laya: cloud against local

Laya, from Convai Innovations, is an open-weights model with the same typed-question shape that runs on your own machine. It became the usual opponent in game demos. Laya makes many more decisions per second. Jev usually makes the better call, though not every time.

Why games suit a System One model

A game asks the same small question over and over: given what’s on screen now, which of these few moves? That’s what a System One model is built for. The answer is one option from a list you supply, with a probability for each, so the output can never be an illegal move or a paragraph. TypeSafe’s use-case map lists playing games and sitting inside a UI as target uses.

The demos that work best share the design in How to build with System One models. Code owns the rules, the physics and the button presses. Code works out anything measurable, such as distance to a gap or which moves are legal, before the call. Jev only judges what the situation means. typesafe-mario keeps jump timing in code. jev-drone does its own vision and keeps a 50 Hz reflex layer. llm_chess and jev-playground hand over only legal moves, and Jev made no illegal moves over 80 games of llm_chess.

Extra questions are cheap. Output is free and questions run in parallel, so a loop can ask for the move, a danger score and a “should I stop” check in one request. typesafe-mario and jev-drone both do this.

Where it breaks

Latency against frame rate

TypeSafe claims 70ms to 500ms end to end, per Jev speed and pricing. A 60 fps game has 16ms per frame. None of the demos call Jev every frame. They call it per junction, per obstacle, per turn or every few frames. The Snake benchmarks measured about 3.2 decisions a second over the cloud API with round trips near 300ms, and a local model beat Jev on raw speed in some of those runs. The real-time control use case says to keep Jev on an advisory layer above a deterministic controller, with a fallback for late or failed answers.

No planning

Jev sees one state and returns one answer. It doesn’t search ahead or remember the last turn unless your code puts that in the state. snake-jev spots immediate hazards but traps itself. The Kyrandia agent loops. GPT-6 Astra mated Jev in 18 moves. The Minecraft agent that finished the game used Astra for the plan and Jev for the moves.

Text only

Jev takes no images. Every demo above reads RAM, an entity list or a physics engine, or runs its own computer vision first. How good that text description is sets the ceiling on the play.

Reasoning over numbers

TypeSafe’s jaggedness list puts arithmetic, counting and comparisons among Jev’s weak spots. The poker test, where Jev misread a flush against a straight, fits that list.

Build your own

FAQ

Can Jev play Doom?

Yes, from structured data rather than pixels. The Register reported this at launch. jev-doom-agent is an open version: it sends health, ammo, position and visible monsters, a Jev choice picks a tactical macro, and a local controller presses the keys. In a head-to-head Doom deathmatch, Laya won 5 to 1 by deciding twice as often.

Does Jev beat Opus at Pokemon Showdown?

In one match, yes. Sid Arya’s post reports Jev beat Claude Opus 5 at competitive Pokemon, at $0.0029 and 37 seconds of thinking against $2.35 and 6 minutes 29 seconds for Opus. That’s one game from the author, not a benchmark.

Can Jev play chess well?

Not against strong opponents. It makes legal moves when given the legal list, and llm_chess estimates its Elo at about 243 over 80 games. GLM 5.3 and GPT-6 Astra both beat it by checkmate. Its advantage is speed and cost: about 0.3 seconds and under $0.0001 per move in the GLM game.

Is Jev fast enough for real-time games?

For a decision every few frames or at each obstacle, the demos say yes. For every frame at 60 fps, no. Over the cloud API, measured Snake runs got about 3.2 decisions a second. Local models like Laya run far faster but lost on decision quality in the Tetris and Snake benchmarks where Jev won.

Can Jev see the game screen?

No. Jev takes text only. Every demo converts the game into text first, usually from emulator RAM, the game’s entity list or a physics simulator’s state. jev-drone runs its own computer vision on the camera feed and sends Jev a short scene description instead of pixels.

Has Jev played Minecraft to the end?

rmalde’s minecraft-agent went from an empty inventory to killing the ender dragon in 8 minutes 43 seconds on its best verified run. GPT-6 Astra made the plan in 35 calls, and Jev chose the in-game actions in 131 calls.

Related guides