Live data from Hacker News

Pokemon Emerald Ported to WebAssembly (100k FPS)

pokeemerald.com

81–90 of 108 posts

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#81
post #4

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

How long until this is DMCA'd? How has the project it's based on stuck around for so long? Do I perhaps misunderstand what this is? https://github.com/pret/pokeemerald

Well, the decomp requires you to provide your own ROM, and doesn't include any of the assets from the original game. So, that's probably okay for the most part.

This browser based version on the other hand, is in far murkier territory. The fact you don't need a ROM means the assets are definitely included by default on this site, and Nintendo would have a way better case for getting it taken down.

It's basically equivalent to those ROM sites that let you play GBA ROMs in the browser through an emulator written in JavaScript or WebAssembly.

But Nintendo's lawyers pay a lot less attention to anything prior to the Switch generation, and the same presumably goes for the Pokemon Company ones. If this project gets a lot of media coverage it's probably toast, but if it's mostly discussed on the odd programming forum like this one, it could survive a very long time.

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#82
post #75

Earlier quoted context omitted.

I have not encountered this, but I will note it down as something to look into. Which potion was it?

There's an NPC who walks you to the pokemart and gives you a potion. For me that dialogue was something like "You receive a !" and it then said "You place it in the 23 pocket" -- seems related?

Yep that's the first time I noticed it. The pocket was also numbered for me as well

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#83
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?

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#84
post #71

Earlier quoted context omitted.

Maybe the internal battery died. I honestly recommend you look at GBC style handhelds or if you like the GBA style, Anbernic made one that looks insanely close to a GBA. There also a craze of DS style emulators popping up. They all give you comfort knowing that your saves will be fine forever if you back them up, even if the device dies.

Yeah to be clear, I replaced the internal battery. I don't know if the issue is that it isn't seated properly, it was working for a spell. But I can't solder and don't want my first project to be a 1st gen copy of Pokemon. Anyways, I just want a "known good" emulator for the game boy. It could be a GBA emulator since that's backwards compatible, but I just want something simple to play Pokémon. To be clear I was weir…

mGBA is not bad, runs on any OS. There's also one for Mac, but I forget the name.

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#85
post #47

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

Thanks for the info! I will collect all these reports today and get these issues fixed in the next few days when I can.

Please consider adding WASD support or alternatively allow keyboard configuration

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#86
post #42

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

It was, Adobe called it a few different names, and even burned a bunch of their remaining goodwill trying to lock it behind a revshare agreement.

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#88
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...

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#89

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.)

I'm left-handed and I prefer ZX for AB and arrows for the D-pad. Which is actually the mirror of how the real Gameboy Advance was laid out. ...Why is the D-pad always on the left on all of the controllers/handhelds anyhow, and the buttons on the right? After all, they're aimed mainly at the right-handed people, right?

The story I heard was that early arcade games had the joystick on the right, and switched to the left to make it a bit harder so they'd make more money.

Another reason I prefer wasd is I mainly use laptops, they always have tiny arrow keys.

Re: Pokemon Emerald Ported to WebAssembly (100k FPS)

#90

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?

I have not encountered this, but I will note it down as something to look into. Which potion was it?

Zigzagoon using growl made it say my "hp rose"
Post reply on HN