What problem does it solve? Playing a Game Boy Pokemon game autonomously requires bridging emulator control, game state awareness, and visual navigation, which is difficult to coordinate manually through trial-and-error inputs. ## Core Features & Use Cases - Headless Emulation Server: Runs the pokemon-agent package with PyBoy to serve game state, screenshots, and action endpoints over HTTP on port 9876. - Observe-Decide-Act Loop: Combines RAM state reads (position, HP, battle, dialog) with vision-analyzed screenshots to navigate maps, handle battles, and advance dialog. - Save State Management: Creates named save states before risky encounters and resumes sessions via API or startup flags. - Use Case: A user says "play pokemon" and the agent sets up the emulator, exposes a live dashboard through a localhost.run tunnel, and plays through Pokemon Red gym by gym while recording progress to memory. ## Quick Start Say "play pokemon" and provide your own legally obtained Game Boy ROM file so the agent can start the emulator and begin playing.