Overview
LLM Let’s Play - Fire Emblem is an agent loop for a strategy RPG. The harness reads emulator state from mGBA, gives the model tactical and story context, sends controller decisions back, and streams telemetry to a React dashboard.
This is games and agents in the same system: if the model is lost, you see it on the map.
Problem
“AI plays X” demos often mash buttons. Fire Emblem is a hidden-information tactics game. The model needs structured state — units, map, legal actions — not a screenshot and hope.
What I built
- Emulator integration through Lua/socket state capture.
- A decision loop that feeds map state, unit context, screenshots, and commentary into each turn.
- A live dashboard for game state, actions, history, and chronicle-style interpretation.
Hard parts
A game designed for human eyes has to become structured context. The system has to know what the emulator sees, what the state means, which actions are valid, and how to recover when execution does not match the plan.
Why curated demos
A 24/7 livestream is easy to start and hard to trust. Curated demo runs are the opposite: short, labeled, and inspectable. Each clip is paired with dashboard context so a reviewer can see why a move happened, not just that buttons were pressed. That is the engineering proof.
Result
Proof today is inspectable demo runs, clips, screenshots, and an architecture writeup — agent play you can audit, not button-mashing. Public code: github.com/llmletsplay/fire-emblem-gba. The site hostname is Access-gated today; ask for a demo login if you want the live dashboard.
