Skip to content

Jev Plays Pokémon Red

Jev beat Pokémon Red in 37h 40m over 16,150 decisions for about $1.65, picking every move from harness-listed legal options.

ServiceprototypeGPL-2.0

Overview

Jev Plays Pokémon Red has TypeSafe's Jev play the whole game with no scripts or cheats. The harness reads the game's memory, lists the legal options with facts about each (type matchups, damage estimates, distance toward the objective), and Jev picks one. Jev decides every menu answer, what to focus on (progress, heal, train, catch, shop, explore, team), which Pokémon to catch and keep, where to go and who to talk to, and every battle action. It even spells nicknames one letter at a time.

The harness only reads memory and presses buttons; its game knowledge is limited to story milestones checked against real event flags, and hidden items are not shown. Loop protection tags options that changed nothing, samples alternatives for repeated failures and, as a last resort, reloads the latest milestone. The README reports that Jev beat the game in a live stream: 37 h 40 m, 16,150 decisions, about 39.2M input tokens, roughly $1.65, ~0.4 s median decision time, 16 team wipes and 15 Elite Four attempts.

What the decision model decides

TypeQuestionAnswers
ChoiceWhich battle action should be taken (move, switch, item, ball, run)?—
ChoiceWhat should the player focus on now?progress · heal · train · catch · shop · explore · team
ChoiceNext letter of the nickname (A-Z or DONE)—

How it works

  1. Read RAM into game state
  2. List legal options with facts
  3. Jev picks one option
  4. Harness executes with A* pathfinding and menu handling
  5. Loop protection and milestone checkpoints recover from stalls

Strengths

  • Completed the full game with very low total cost
  • Harness never writes to game memory
  • Detailed public result

Caveats

  • Required many team wipes and Elite Four attempts
  • Requires your own ROM; macOS or Linux setup
  • GPL-2.0 licence

Getting started

git clone https://github.com/christianmat/jev-pokemon && cd jev-pokemon && npm install && npm run setup, then add your ROM and .env.

At a glance

Type
Service
Status
prototype
Language
TypeScript
Runtime
Node Game Boy emulator harness
Has code
yes
License
GPL-2.0

Use cases and integrations

How curated lists describe it

  • A harness reads Game Boy RAM and lists the legal options; Jev picked every move and beat the game in 37h 40m over 16,150 decisions, for about $1.65

    AnotiaWang/awesome-decision-models
  • Jev, an AI decision model, plays Pokémon Red. It beat the game in 37h 40m.

    logicrw/awesome-jev-projects
  • A decision model plays the game with no scripts and no cheats, through the AI Gateway. You supply your own legally obtained copy.

    MrJev/awesome-jev

Frequently asked questions

Did Jev finish the game?

Yes. The README reports it beat the game in 37 h 40 m over 16,150 decisions.

How much did it cost?

About $1.65 in Jev calls.

Does the harness script the play?

No. It lists legal options and knows story milestones; Jev picks every action.

Related projects

  • Source for browser chess and Chess960 where code computes each legal move's facts and Jev picks one per turn as a typed Choice.

    ProjectproductionTypeScript
  • Browser 1v1 sniper arena where Jev reads match state about 9 times a second and chooses movement, aim, ADS, firing and jumping.

    ServicebetaTypeScript
  • Instrumented 2048 web lab where every move is a Jev Choice over four directions, with probabilities, latency and cost shown live.

    ProjectbetaTypeScript
  • Fifteen live arcade games where Jev and LLMs play each other, led by WikiRace in which Jev picks only real links.

    ProjectbetaTypeScript
  • Real-time bot battles where you write a fighter's strategy in plain English and a System One model pilots it several times a second.

    ProjectbetaTypeScript
  • Browser extension that lets Jev, local Laya or an OpenAI-compatible model take over a running ra2web (WannaFire) RTS match.

    ProjectbetaTypeScript