I wanted real time battles in Emerald. Then you got involved.

I started making the Pokémon game I wanted as a kid. Move around, dodge an attack, aim a Flamethrower. Inside the actual GBA game.

Now people are suggesting things I hadn't thought of, testing builds, making arenas, and contributing code. That's where this got really interesting.

An early version of the real time battles. It's grown quite a bit since this.

The best ideas keep coming from people playing it.

Someone sees a clip and asks: what if a Pokémon evolved during the fight? That suggestion from @shubshub11 became a nearly defeated Charmeleon evolving into Charizard, recovering its health, and going straight back into the fight.

Matheus Lynar actually played the game and sent useful feedback. Bag and party menus, clearer HP and levels, a caught indicator. The sort of things you notice when you're trying to play, not just watching a clip.

Then there are direct contributions. Didier Lopes contributed Seismic Toss, followed by work on Ghost phasing and Rollout. Oswarlin contributed arenas. Other people brought ideas for how water, electricity, shields, and the environment could interact.

I keep the credits in the repository because those contributions are part of the game. This is becoming a community around something we all wanted to play.

How I work on it.

I use coding agents to help build it. I describe the behavior I want, work through the implementation, compile the ROM, and test it in mGBA. Then I share what works, hear what people think, and go again.

A move can look fine in the code and feel completely wrong in a fight. So the playable result matters. How does it move? Can you dodge it? What happens when it hits a shield? That's where a lot of the iteration happens.

The foundation is pret/pokeemerald, the community's decompilation of Pokémon Emerald. I'm building on years of other people's work, inside the constraints of the GBA game.

I've written about the way I work with AI before: thinking out loud with voice prompts and getting clearer about what you're actually asking for. This project gives me a very concrete place to put that into practice.

We're just getting started.

Seeing it covered by Dexerto was a little surreal. I just wanted real time battles in Emerald. Now there's a much bigger conversation around what this could become.

But the part I want to keep is building it with the community. Show something, let people try it, listen, keep the good ideas coming.

The project found its way beyond my feed.

Dexerto covered the real time battles and the ideas that kept growing from them, including evolving mid-fight and water interacting with electricity. Retro Recall followed the trainer battles and new arenas. It also reached レトロゲームで遊ぼう! in Japan and RetroGems in France.

The part I find even more interesting: Didier built an experimental version with voice-controlled battles on top of Emerald Arena. That work lives in his fork. Someone took the thing I was building and went in a direction of their own. That's exactly why I wanted it out there.

Play it · Contribute · Follow the work on X

Independent, unofficial fan project. Development clips can show experiments ahead of a release; check the release notes for what's playable.

Working with agents. Building your own. I’m putting together something to share how I do both. Leave your email if you’re curious.

← Back to all work