← All Projects
Aria Companion WIP

I play on an AYN Thor, a dual-screen handheld, with RetroAchievements hardcore mode on. Most companion tools write to emulator memory, which ends a hardcore session, so the rule from day one was read only. The app polls RetroArch over UDP and never writes memory or touches the ROM or saves.

Version 0.14 shows a live map that matches the game's own pause map, marking secret passages and rooms that still hold pickups without saying exactly where. It also shows enemy and boss HP, effective stats, status effects, EXP to next level and soul drop odds from the game's own formula. It runs from Termux on the device with a Chrome page on the bottom screen. A game-agnostic engine loads per-game packs, and every art asset, from the map to the HUD digits, is drawn from the player's own ROM at runtime. No game art ships with the code, which keeps it copyright safe.

This was an LLM-assisted build that I directed from start to finish. I set the scope and the hard constraints: hardcore safe, read only, and helpful without becoming a cheat sheet. I also made the design and legal calls and planned the roadmap. Most of my time went into problem solving. I tested every build on the real hardware, captured save states as ground truth, and tracked down issues like wrong stats, false doors and misread enemy HP until the companion matched the game. The biggest lesson: directing AI on a reverse-engineering project is mostly about verification.

Next up: more areas and maps, a native Android host app, a hub for downloading per-game packs, and a public release.

Python JavaScript Reverse engineering RetroArch network commands Termux