Skip to content

Jev Games

A visual lab where Jev plays Mario, Kung Fu and Doom, with a plugin split so new games and emulators do not require rewriting the loop. Code owns buttons, hold duration and Mario landing interrupts; Step and Scripted keep the API bill down.

Stars
2
Language
Python
Published by
Community
Author
shantanugoel
Last verified
Oct 2026

shantanugoel/jev-games

User repository on GitHub

View on GitHub

Visual Jev lab for multiple games and emulator platforms

Forks
0
Last pushed
Updated Sep 2026

Repo stats from the GitHub API, cached Oct 2026.

About this project

A visual lab where Jev plays multiple games. This is the next step after mario-jev: the same Jev controller style, a Zero-shot Lab UI, and a plugin split so new games and emulator platforms can be added without rewriting the loop. The model stays Jev. Code owns buttons, hold duration, and (for Mario) landing interrupts. Python 3.13 via uv, frontend via bun.

Quoted from the project's README. Read the full README.

Highlights

  • Three titles on separate platforms: Mario through gym-super-mario-bros, Kung Fu via nes-py, Doom via ViZDoom.
  • Adding a game means implementing create_env, observe, questions, compose, scripted and advance, then registering it.
  • Tape replays recorded buttons on the emulator, and the Scripted policy avoids spending calls while you debug.
  • Headless without the UI: uv run jev-games play --game doom --policy scripted --decisions 20.

Watch out

Doom is not guaranteed to be Doom: with roms/doom1.wad or doom.wad present you get the original E1M1 Hangar, and otherwise ViZDoom falls back to Freedoom, which the README states is a different first map - so a run on the fallback is not comparable. Kung Fu requires a legally obtained NES ROM in roms/ or KUNGFU_NES set, since Atari is no longer used for it, and Mario needs no ROM at all. The README says TYPESAFE_API_KEY is already present in .env in that checkout, which means you should check what is tracked before copying that setup and adding your own key. Toolchain is specific: Python 3.13 via uv plus bun for the frontend, two terminals, and the UI on 127.0.0.1:5173 with the API serving frontend/dist on 127.0.0.1:8000 or JEV_GAMES_PORT after a build. Nothing about model behaviour is reported - no question sets, no thresholds, no confidence figures, no token cost per decision and no scores or outcomes for any of the three titles, so you cannot tell from this page how well it plays or what a run costs. The Game interface signature is the documented extension point; the questions themselves live in the per-title modules and are not shown. Copy reviewed against the repository README on 2026-10-04, not from running it.

Questions about this entry

Short answers drawn from the linked project or page.

More Jev resources like this

Open 150M encoder that reproduces the typed noul, choice, and score interface in one forward pass, trainable on a free GPU and runnable locally for nothing.
Jev Demos & Experiments#community#jevbest#catalog-import
941GitHub stars
Library that adds schema-guaranteed typed outputs to existing autoregressive LLMs without changing weights, served through SGLang or a hosted API.
Jev Demos & Experiments#community#jevbest#catalog-import
55GitHub stars
Toolkit that makes a model behind an OpenAI-compatible endpoint or running in-process answer typed choice, score, and yes/no questions from next-token probabilities in Jev API shape.
Jev Demos & Experiments#community#jevbest#catalog-import
164GitHub stars
End-to-end toolkit that synthesizes decision data, trains and calibrates candidate scorers, evaluates fixed splits, and serves Jev-compatible inference for interactive web decisions.
Jev Demos & Experiments#community#jevbest#catalog-import
70GitHub stars
Self-hosted proxy that records typed decisions, distils them into small heads on a frozen encoder, and answers locally when confident.
Jev Demos & Experiments#community#jevbest#catalog-import
42GitHub stars
Open harness that renders allowed JSON answers on a diffusion canvas, denoises for a fixed step budget, then picks the top allowed tokens from final logits with no training.
Jev Demos & Experiments#community#jevbest#catalog-import

From the Jev guides

Original write-ups on what this entry is for.

A game tick is a state plus a legal action list. How Clash Royale, Minecraft, and the earlier Mario, Pokémon, StarCraft, and drone loops ask Jev one step at a time.
Jev Demos & Experiments#gaming#agents#control
Read article
Back to all resources

From the Jev community

Posts from builders shipping with Jev right now.

Follow @typesafeai