Pokémon Emerald, rebuilt as a modern Lua game — powered by your own cartridge.
Download the latest release · Wiki · Modding · FAQ · Report a bug
alpha · Android · iPhone / iPad · Windows · macOS · Linux · no ROM included
Gen 3 Remake is a fan-made game engine written in Lua on the LÖVE framework. It plays Pokémon Emerald the way the original does — same maps, story, battles, and music — without an emulator.
- Bring your own game. Everything you see and hear is read from your own Pokémon Emerald ROM while you play. This project ships no copyrighted material — the download contains only the engine.
- Faithful by design. Events, menus, and battles are checked against the original game's behaviour.
- Made for phones and PCs. Touch controls on Android and iOS; keyboard or gamepad on desktop.
- Easy to mod. Drop a small Lua file into a folder to change dialogue, encounters, gifts, and events.
This project was made with help from Claude, Anthropic's AI assistant, including assistance with writing and revising the Lua code. I want to be upfront about that so you can decide whether this is a project you want to try or support. I am responsible for what I release, and bug reports and constructive feedback are welcome.
The current demo covers the opening of the adventure, from Littleroot Town to Slateport City:
Littleroot → Oldale → Petalburg → Petalburg Woods → Rustboro (Roxanne) → Rusturf Tunnel → Mr. Briney → Dewford (Brawly) → Granite Cave → Slateport
It ends once you deliver the Devon Goods to Capt. Stern. Areas beyond Slateport are closed in the demo.
| Included | |
|---|---|
| Story events and side quests | Trainers and the first two Gyms |
| Wild encounters and fishing | Pokémon Centers, Poké Marts, PC storage |
| Pokédex, PokéNav, Bag, Trainer Card | Saving, options, and mod support |
The public demo ships as compiled LuaJIT bytecode rather than plain-text Lua source files. I am also working on an original project with a similar engine foundation, and I want to finish both projects before releasing the full source. This is a temporary release decision while that work is in progress.
Once both projects are finished, I will release the full version of this app with plain-text Lua source instead of bytecode. In the meantime, the demo is available to play, and the Modding guide provides a getting-started tutorial, working examples, and an API reference for writing your own Lua mods. You can change dialogue, encounters, gifts, and events, then share your mods with others under the current license. The engine source is not currently distributed as plain-text Lua; the license permits inspection and modification of the released bytecode.
I understand that some people prefer projects with source available from the start. I want to make the current format and the future release plan clear before you download it.
- Your own Pokémon Emerald (USA/Europe)
.gbafile (game codeBPEE). No ROMs are provided or linked — please don't ask for one in Issues. - A 64-bit device: Android (arm64), iPhone/iPad on iOS 13+, or Windows / macOS / Linux.
Download the file for your device from Releases:
| Platform | File |
|---|---|
| Android | .apk |
| iPhone / iPad | .ipa |
| Windows / macOS / Linux | .love |
- Download the
.apkon your phone and open it. If asked, allow your browser or Files app to install unknown apps. - Open Gen 3 Remake and tap SELECT ROM FILE, then pick your Emerald
.gba. (You can also long-press the.gbain your Files app → Share → Gen 3 Remake.) - The game remembers your ROM from then on.
Updating: install the new .apk over the old one. Your saves are kept.
Gen 3 Remake isn't on the App Store, so it's installed with SideStore — free, using your own Apple Account. You need a computer (Windows, Mac, or Linux) once for the SideStore setup.
1. Set up SideStore (one time)
- On the iPhone, install LocalDevVPN from the App Store.
- On the computer, install iloader. On Windows, also install iTunes (the version from Apple's website, not the Microsoft Store).
- Plug the iPhone into the computer and tap Trust on the phone.
- In iloader: Add Account → sign in with your Apple Account → select your device → SideStore (Stable).
- On the iPhone: Settings → General → VPN & Device Management → your Apple Account → Trust.
- Settings → Privacy & Security → Developer Mode → On (iOS 16 and later). The phone restarts.
- Open LocalDevVPN → Connect, then open SideStore → My Apps → tap 7 DAYS next to SideStore and sign in with the same Apple Account.
2. Install Gen 3 Remake
- In Safari, download the
.ipafrom Releases (it saves to Files › Downloads). - Open LocalDevVPN → Connect.
- Open SideStore → My Apps → + → choose the
.ipa.
3. Add your ROM
- Open Gen 3 Remake once, then close it.
- Open the Files app → On My iPhone → Gen 3 Remake, and copy your
.gbainto that folder. - Open Gen 3 Remake again (or tap SELECT ROM FILE).
Keeping it working
- Apps installed with a free Apple Account last 7 days. Before then, connect LocalDevVPN and tap Refresh All in SideStore. Your saves are never lost — an expired app just won't open until refreshed.
- A free Apple Account allows 3 sideloaded apps at a time (SideStore counts as one).
- Updating: install the new
.ipathe same way. Your saves are kept.
- Install LÖVE 11.5.
- Open the
.lovefile with LÖVE (double-click it, or drag it onto the LÖVE app). - Click SELECT ROM FILE and choose your Emerald
.gba, or drag the.gbaonto the game window.
Default controls (change them any time in OPTIONS; gamepads work too)
| Button | Key | Button | Key | |
|---|---|---|---|---|
| D-Pad | Arrow keys | L / R | A / S | |
| A | Z or Enter | Start | Enter | |
| B | X or Backspace | Select | Backspace |
Mods are small Lua files that add or change content — no rebuilding or ROM patching.
- Install: use IMPORT MOD .ZIP in the launcher's MODS panel (Android: you can also share a mod
.zipto the app; desktop: drag a.zipor folder onto the window; iOS: copy it into the Gen 3 Remake folder in Files first). - Manage: each mod has an ON/OFF switch in the MODS panel. Changes apply the next time you start a game.
- Try one: kanto_welcome.zip adds Pikachu and Eevee to Route 101, new lines for a Littleroot resident, and a small gift.
- Make your own: see the Modding guide.
Gen 3 Remake is in alpha. The demo is playable start to finish, but expect rough edges — save often.
Found a problem? Open an issue with what you did, what happened, your device and version, and a screenshot if possible. The in-game DEBUG option shows the map location and nearby characters, which helps a lot.
A non-commercial fan project, not affiliated with or endorsed by Nintendo, Game Freak, Creatures, or The Pokémon Company. Pokémon and all related names are trademarks of their respective owners. You must own the original game. No ROMs are provided or linked, no game assets are included, and no donations are accepted. The original engine contributions that duderosier has rights to license are offered under the PolyForm Noncommercial License 1.0.0. It permits non-commercial use, modification, and redistribution; redistributed copies must include the license or its URL and preserve the required notices. You may also write and share your own mods through the modding API. This license does not grant rights to Pokémon content or relicense material belonging to pret or other third parties.
The pret/pokeemerald decompilation project is acknowledged as a technical reference. Third-party material remains subject to its applicable rights and terms.
The current demo is not an open-source release. The planned plain-text source release described above does not change the permissions granted by the current license.
See LICENSE and DISCLAIMER.










