The setup. SCINTIX P4 is a system-on-module with an ESP32-P4 (dual-core RISC-V @ 400 MHz, MIPI-DSI, a 2D pixel-processing accelerator, USB) plus an ESP32-C6 for Wi-Fi/BLE, in the Raspberry Pi CM4/CM5 form factor. DOOM renders to a 1024x600 DSI panel; the 320x200 frame is scaled to full screen by the P4's PPA with a zero-copy page-flip, holding a steady ~30 FPS. Input is USB keyboard / gamepad; audio is an ES8311 codec.
Letting an AI play. The interesting part isn't DOOM — it's how the model drives it. The firmware runs the game in lockstep: the agent sends an action, the game advances a few tics, and it gets back a structured observation, then the game pauses until the next move. A tiny MCP server wraps this so any MCP-capable client (Claude Code, etc.) can register the game as a set of tools — observe, move_forward, turn_left/right, fire, use, get_map — and just play.
Teaching it to see, honestly. The whole point is that the model gets only what a player sees on the screen — no cheating:
- a 51-ray depth fan across the field of view (the "depth" of the rendered image), so it can judge distance and spot openings;
- visible things — only enemies/items on-screen and in line of sight, left-to-right, never through walls;
- an ASCII automap showing just the walls it has already discovered (like the in-game map);
- door_ahead — a closed door in view (so a re-shut door reads as "press use again," not a solid wall) — and blocked — your last move made no progress.
The bug that mattered. Early on the model kept swapping left and right. The reported bearings were sign-inverted relative to the docs, and the facing angle didn't match the map. We made positive = right everywhere and turned the heading into a compass aligned with the north-up automap — after that it navigates instead of headbutting walls. We also learned the movement looks "jerky" on purpose: lockstep pauses the game between the model's moves, so the marine moves in little bursts.
Open source: https://github.com/relocsrl/scintix-p4-playing-doom
The board: https://hackaday.io/project/206074-scintix-p4-esp32-p4-board-cm45-form-factor
Andrea Ricci


upLABsolutions
Scottsky
Dexif
>The interesting part isn't DOOM — it's how the model drives it
To many em-dashes and too much claudish