jevbooks

← All projects

typesafe-mario

fhshaik/typesafe-mario

Jev picks NES controller inputs for Super Mario Bros. from structured state.

Game & Simulation76%Runner-up: Agent Decisions

What it is

An experimental controller that lets TypeSafe's Jev model directly choose NES controller inputs for the original Super Mario Bros., using emulator telemetry and RAM rather than screenshots.

How it uses Jev

Each decision, Jev receives compact object-centric JSON (player, trajectory, hazard, terrain, reaction_timing, recent_control, episode) and evaluates three judgments: a Choice selects the next controller macro, a Noul estimates whether a forward jump is useful, and a Score measures immediate danger. The chosen action is sent to the emulator, which advances several frames.

Primitives:choicenoulscore

Technique worth stealing

Translate emulator telemetry and RAM into compact, object-centric JSON instead of screenshots, keeping timing arithmetic in code.

Try it

py -3.13 -m venv .venv; .venv\Scripts\python -m pip install -e ".[mario,dev]"; set TYPESAFE_API_KEY; .venv\Scripts\typesafe-mario play --env SuperMarioBros-1-1-v0 --frames-per-decision 8

View on GitHub

judged by Jevjev-1.13.0

Evidence

Each line is one question put to Jev about the README. ≥ 0.60 reads as yes, ≤ 0.40 as no; in between Jev is not making a call.

  • Jev-centricyes0.94
  • Shows a System One patternyes0.83
  • Handles uncertaintyno0.04
  • Measuredno0.07
  • Runnableno0.34
  • Worth recommendingunclear0.52
  • Model replicano0.08
  • Problem scopescore on a 0–2 scale0.03
  • About Jevyes0.98

Signals by Jev jev-1.13.0, card written by DeepSeek V4.1 Flash from the README on 20 Sept 2026.