Hacker news

  • Top
  • New
  • Past
  • Ask
  • Show
  • Jobs

Pokemon Emerald Ported to WebAssembly (100k FPS) (https://pokeemerald.com)

341 points by tripplyons 1 day ago | 97 comments | View on ycombinator

wis about 23 hours ago |

Cool! I like the speeding up feature. I suggest making the UI indicate that you can press the keys `z` and `x` on the keyboard to trigger the A and B buttons respectively, I figured that out by pressing on my keyboard the A and B keys and then all the letter keys.

Btw, it seems there's a crash when you choose "Pokemon" in the "Fight/Bag/Pokemon/Run" menu:

https://i.ibb.co/tpVV8q83/poke-fight-menu.png

hawkice 1 day ago |

Confirming that saving genuinely works. Interesting stuff. Wonder if we can get trades working too.

theowaway213456 about 22 hours ago |

Certain entities seem to be displayed as numbers for me, like "You received a 6" etc when getting my first potion. Anyone else seeing this bug?

astlouis44 about 21 hours ago |

Really exciting to see more games ported to WASM. For anyone interested, I just did a HN post detailing a port I spent the last 5 days on - Xonotic, an arena FPS. Includes a technical writeup too:

https://news.ycombinator.com/item?id=48428133

Weetile about 16 hours ago |

Working on a fork that has audio. If anyone wants to have Claude continue it, be my guest!

https://github.com/ottohg/pokeemerald-wasm

htshnr about 9 hours ago |

Nice! FYI: It currently freezes if you attempt to go to your Pokemon from the menu, and also when your starter evolves at level 16, making it unplayable further.

ironbound about 8 hours ago |

OP says they used GPT 5.5 to make this? But existing project

https://x.com/skewbed/status/2063217866233479587

wild_pointer 1 day ago |

There should be 2 options for speed, regular and sped up. Then there should be a key to speed the game up. When I was a kid, it was the space key for GBA. You could have the normal game and skip the boring parts fast.

weird-eye-issue 1 day ago |

I did a Pokémon Crystal playthrough several months ago, still great games!

I used an emulator on my laptop with increased speed so it made everything like walking and combat way faster which was really nice and I probably would have given up if it wasn't for that

nosioptar about 18 hours ago |

I know they're pretty standard controls, but I would suggest letting users remap keys.

Enter is off by itself, so you have to move a hand to press start. Switching to space would solve that.

(I prefer wasd for arrows, and h/j for b/a with y/u or u/I for start/select, but I think most b̵r̵a̵i̵n̵ ̵d̵a̵m̵a̵g̵e̵d̵ right handed people prefer arrows.)

shepherdjerred about 12 hours ago |

This is beautiful!

I had a project 'discord plays pokemon' written in TypeScript that allowed users to play Pokemon together.

The architecture was a GPU accelerated Docker container running a full browser and desktop environment.

With this it can all be done in-process. I threw Claude at the problem and it worked!

https://github.com/shepherdjerred/monorepo/tree/main/package...

ironbound about 8 hours ago |

vesche about 22 hours ago |

This is awesome! It would be neato if you could export and reload your save file, I clear my browser data a lot.

gobdovan 1 day ago |

Any way to get sound?

firefax 1 day ago |

Why Emerald -- is classic already done?

If anyone has emulator suggestions, I recently attempted a playthrough and found that midway through my copy of red, the game was corrupted? Oddest thing -- hadn't reading the point where you do the "Missingno trick" near cinnebar.

Anyways, I suspect the save got corrupted somehow but it made me swear off emulation and try a physical copy. (Which had the battery I replaced fail... it's been a comedy of errors).

oceansky 1 day ago |

Next step: 100% browser javascript pokémon emerald.

nrightnour about 16 hours ago |

Cool but any chance of audio? That's half of the experience.

dmitrygr 1 day ago |

Ok. So what’s interesting here, presumably, is that this isn’t a wasm GBA emulator (which also exist and work). This is the game itself compiled to wasm. Even though no official source code was ever published, there was a community based decompilation.

eigenspace 1 day ago |

Very cool. Too bad this doesnt seem to work as a PWA, or am I jusr missing the button on Android Firefox?

cadamsdotcom about 19 hours ago |

So you’re saying I have 1900 Game Boys in my pocket everywhere I go AND don’t have to buy batteries?

AND - I didn’t have to blow air on the cartridge connector for it to work?

Is this the future?

orliesaurus about 18 hours ago |

I crashed opening the Pokemon bag on the first fight

arthurcolle about 21 hours ago |

This is amazing. Are the left right up down controls a bit wonky? If I cycle through the letters in the name select menu it seem to buggily not actually go through it?

ianm218 about 23 hours ago |

What are considered the best games in WASM? I recently got into playing around with WASM - it would've been great if this technology was prevalent during the Flash games era

banyek about 8 hours ago |

omg, this is so good. My son keep asking me to buy it somewhere, and now he play it.

danielrmay 1 day ago |

Super neat. I'd love to see what it would be like to play with more modern &intuitive touch controls instead of just the D-pad and A/B.

Navaie about 23 hours ago |

Crashed when using a potion vs May :(

Innittech 1 day ago |

29 FPS for me, what hardware are you using to get a hundred thousand FPS?

LoganDark about 15 hours ago |

Seems the game does not pick up my A press if I release and then re-press it again quickly. There are multiple frames between my release and re-press, so I have no idea why this is -- maybe something is interpreting key repeats instead of using raw keyup/keydown events?

simianwords about 20 hours ago |

Question to WASM and low level nerds: is this the sort of things LLMs are good at? Since the end verification is stable and conclusive and you can just "goal" this project into existence until this somewhat objective verification is met.

deadbabe 1 day ago |

What kind of mods and new features could be added?

itsthecourier 1 day ago |

some weeks ago I made a Gameboy emulator from zero in rust and then exported it to wasm

https://holy-lake-f6df.sdreyesg.workers.dev/

took me 3 hours with Opus. Opus knew the whole ISA, clock, bus quirks, etc. from their training without any external docs

villgax about 12 hours ago |

Awesome! Now to run on my ESP33

zuzululu 1 day ago |

Nintendo lawyers intensifi

undefined 1 day ago |

undefined