Inspiration
I grew up playing pokemon emerald and I loved it, this is an homage to a game that has meant a lot to me. there's a whole community of people who mod old gameboy games and create "rom-hacks", this is something along a similar vein, I'd like for people to be able to experience the beauty of the game design that went into crafting pokemon emerald. for a game released in 2004, I think it's astounding how well it holds up even today and how intricate the map is.
What it does
it's a faithful adaptation of pokemon emerald, built to simulate what the game feels like on the actual gameboy. unlike emulation, this isn't just running the ROM, it instead lets you zoom out and explore the world. think of this as "creative mode" in minecraft.
How we built it
there is a big rom-hacking pokemon community, and it is due to the incredible work of this community that building this game was so easy (relatively). just a few years ago this would've been a weeks-long, if not month long project. I took the decompiled works of pokemon emerald (pokeemerald-decomp), and asked codex to reimplement it in JS. I then asked it to make a parity list, and thought about what I want to preserve and what I'd like to change.
Challenges we ran into
making the map feel responsive was a big issue, especially when zooming out. I also had to match the exact ticks that a gameboy uses, because I want the site to feel realistic.
Accomplishments that we're proud of
I'm really happy with how the zoomed out view looks, and the fact that you can still walk around and explore the region whilst having a "god view".
What we learned
webmcp in my opinion is currently constrained, I look forward to contributing to the standard. it needs bidirectional communication - the website needs to have a callback / some way to tell the agent when a task is done or ready instead of just polling.
What's next for overworld-webmcp
I'd love to make it multiplayer, and add secret bases. I might add battling capabilities as well, but it would be okay to leave it out since there are plenty of battle simulators, and this is more of an artistic project instead of a faithful simulation of the game.
Built With
- audioworklet
- bun
- cloudflare
- cloudflare-pages
- html5
- javascript
- python
- stylex
- typescript
- webassembly
- webmcp
Log in or sign up for Devpost to join the conversation.