Live data from Hacker News

Pokemon Emerald Ported to WebAssembly (100k FPS)

pokeemerald.com

61–70 of 108 posts

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

#61
post #49

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

Alternatively, you could have downloaded an existing one. What you did is just a roundabout way of acquiring one of the many WASM Rust GB emulators in the training set. Except it probably now has several problems from reconstruction. You didn't learn anything new from the process. It's just wasteful in several ways.

bro, I learned a lot, I did it step by step and discussed everything with Claude, then used the knowledge to build an emulator at work for a rtos machine (WIP)

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

#62

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

Yes, this project was made in around 15 hours of Codex.

how much docs did you need to supply?

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

#63

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

This is super cool. Do you have any code up in a public repo that I could peek at? I've been working on and off on a static recompiler for playstation games, wasm was kind of my end goal.

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

#66
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

I get nervous releasing just symbols for a game and here is a full disassembly. I have no idea how tolerant the rights holders are to this kind of stuff. I guess you just roll the dice, but the power is in their hands how far they take action.

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

#67

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

This is super cool. Do you have any code up in a public repo that I could peek at? I've been working on and off on a static recompiler for playstation games, wasm was kind of my end goal.

Thanks man, feel free me to DM me on X if you'd like to discuss further, I am planning to push the code to a repo seeing as Xonotic is an OSS game and requires any changes to also be open sourced. And a Playstation recomp implemented in WASM is interesting to think about!

X link: https://x.com/AlexStLouis10

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

#69
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

Z and X are old school emulator keys. I knew right away to use them from the visual boy advance / zsnes days. :D

Funny, I've been emulating games for literal decades at this point, but remapping buttons is one of the first things I did in every one of them, so I never knew the defaults hehe

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

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

Post reply on HN