JevEmon
Jev walks a real Pokemon FireRed ROM: code reads RAM and lists reachable destinations, Jev picks where to go and how to fight.
Overview
JevEmon has Jev play a real Pokemon FireRed ROM that you supply. It is not a screenshot agent or a button masher: for each leg of the walk, code reads the overworld from RAM, works out every place you could actually go from here (a door, a path to the next route, a Pokemon Center if the party needs one) and hands that list to Jev. Jev picks a destination, and code pathfinds there and presses the buttons. When a wild Pokemon interrupts, Jev fights with the same kind of typed decision, and the journey re-plans from wherever the encounter left off.
Verified milestones so far: leaving the player's house, crossing Pallet Town, travelling through Route 1 while winning wild encounters, and reaching Viridian City, where the run currently ends; later legs such as Oak's Parcel and the first gym are not built yet. A local web page lets you go live, edit the lineup, change speed and scrub recordings afterwards, and a headless run mode and an offline journey check exist. It requires an Apple Silicon Mac with mGBA, ffmpeg and uv, and is GPL-3.0 licensed.
What the decision model decides
| Type | Question | Answers |
|---|---|---|
| Choice | Which reachable destination should the player go to next? | — |
| Choice | Which battle action should be taken against this wild Pokemon?(inferred) | — |
How it works
- Read overworld state from RAM
- List reachable destinations
- Jev picks a destination; code pathfinds and presses buttons
- Battles decided by Jev; re-plan after encounters
Strengths
- Grounded in RAM state rather than screenshots
- Only offers reachable destinations
- Live view and recordings
Caveats
- Journey ends at Viridian City for now
- Bring your own ROM; Apple Silicon Mac only
Getting started
cp .env.example .env, add the ROM, brew install mgba ffmpeg uv, then `uv run python scripts/setup.py`, `uv run python -m jevemon --prepare` and `uv run python -m jevemon`.At a glance
- Type
- Project
- Status
- prototype
- Language
- Python
- Runtime
- mGBA emulator + local web UI
- Has code
- yes
- License
- GPL-3.0
Use cases and integrations
How curated lists describe it
Verified milestones so far: Jev can leave the Player's House, cross Pallet Town, deliver itself through Route 1 (fighting and winning any wild encounters along the way), and reach Viridian City. Further legs of the journey (Oak's Parcel, the first Gym) aren't built yet — the walk currently ends the run once it reaches Viridian City.
logicrw/awesome-jev-projects
Frequently asked questions
How far does it get?
From the player's house to Viridian City, winning wild encounters on Route 1.
Does it use screenshots?
No, it reads game state from RAM.
Is the ROM included?
No, you must provide your own.
Related projects
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.
ProjectbetaTypeScriptBot that plays Red Alert 2 web skirmishes, with code handling mechanics and a decision model making stance, threat and timing calls.
ServicebetaPythonMultiplayer 3D science-fantasy version of Houston's River Oaks District with Jev-powered NPC companion, chauffeur and smart drive.
ProjectbetaTypeScriptBrowser 3D planetary rover sandbox where a TypeSafe controller chooses the next action from complete candidates, versus a baseline.
ProjectbetaTypeScriptDoom runs as a spacecraft payload over real flight software; Jev pilots from the ground every half second while Claude reviews.
ProjectprototypePythonMinecraft agent where Hermes plans, Jev picks one bounded action at a time and a Mineflayer harness validates and executes.
ProjectprototypeJavaScript