shipwithjev

Catalog / Games & real time

0429GitHub

jev-plays-pokemon-red

Pokemon Red on PyBoy where deterministic code owns the route and arithmetic and Jev picks only at branches, with every battle turn's faint prediction scored by Brier against the…

valentynkit/jev-plays-pokemon-redREADME ↗
# jev-plays-pokemon-red

Pokemon Red played by a model that only outputs probabilities. Code reads the Game Boy's
memory into a typed snapshot and hands the model a menu of the moves that are actually
legal; it returns a probability for each one. The bars are those probabilities.

    uv run jpp play --rom /path/to/your/red.gb --overlay



That is a real cartridge under PyBoy, not a mockup. The agent walks out of the bedroom,
crosses Pallet Town, takes Charmander from Oak, and wins the rival battle without anyone
touching a key.

## The numbers, and what is still blank

Measured over the calls that were answered on a cartridge, through the Vercel AI Gateway
shim rather than the direct API:

```
479  496  563  679  867  1470 ms      median 621, mean 759 (n=6)
about 1.3 decisions/sec, $0.14/hour at ~725 input tokens a call
```

Calibration is **not** published yet, on purpose. The endpoint's free tier serves about
five calls per window, so the longest labelled run so far is n=5 turns with a confidence
interval that covers everything, including the constant predictor. A Brier score on that
sample would be decoration. `uv run measure` prints whatever the run actually supports, a
bad number included, and says when there is nothing to say.

## Why

Claude Plays Pokemon is a large model deliberating tens of seconds a move. This answers a
closed-set question in under a second, so the emulator is the bottleneck instead of the
model.

The catch, up front: it cannot plan. It never sees more than the current decision. Every
route, threshold and piece of arithmetic is ordinary Python, and the model only picks among
actions the code already proved legal. It is also not asked often. Code handles the routine
ticks and only calls Jev where the game actually branches. Between the bedroom

Also filed under Games & real time

  1. 0535

    What Jev Probably Is, And Why You Already Have One

    A company called TypeSafe AI launched a model this week called Jev. They told us how fast it is. They told us what it costs. They told us it plays Doom in a tenth of a second.…

    medium.com · Games & real time

  2. 0534

    TypeSafe’s Jev Makes AI Decisions Fast Enough to Play Doom

    TypeSafe’s Jev Makes ... Decisions Fast Enough to Play Doom | by Kristopher Dunham | Sep, 2026 | Medium ... # TypeSafe’s Jev Makes AI Decisions Fast Enough to Play Doom ... A…

    medium.com · Games & real time

  3. 0533

    🧵 I wanted to understand what makes Jev different from a normal LLM

    🧵 I wanted to understand what makes Jev different from a normal LLM. So I built a tiny real-time game with it. The AI controls the player and has one goal: Don't get hit.

    @abolbuild · Games & real time

  4. 0532

    Searching for Better Game Recommendations with Jev

    To pick that list better, I tried Jev, a decision model from TypeSafe. I did not have Jev write recommendations. I asked it to rate candidate games, then handed the model that…

    dev.to · Games & real time