5 ms·
Dev here, AMA
by nanaian 3y ago
Dev here, AMA
- boricj 3y agoDo all decompilation projects for 90s video games out there aim for perfect matching? I get why perfect decompilation is a big deal, I'm just wondering if there are other approaches out there besides perfect decompilation in the community at large.
- nanaian 3y agoAs far as I know, yes.. Besides simple differences like register allocation, it's difficult to prove that your code behaves the same as the target if its nonmatching. It's also just really satisfying when you get a match. When doing standard reverse engineering, you might use something like Ghidra or Hex-Rays. This is what the developer of noclip.website [1] did to reimplement a lot of Mario Galaxy code, such as enemy AI. [1] https://noclip.website/#smg/AstroGalaxy https://noclip.website/#smg/AstroGalaxy
- aio2 3y agoIk there is a 'why' page, but why are you specifically interested in this stuff? great work btw
- nanaian 3y agoThanks! I'll tell my story... I first played Paper Mario on a PAL N64 when I was around 6 or 7 years old, and I recall not being able to get past certain sections because I could barely understand the dialogue. The cartridge had a previous owner who left a completed savefile, so after getting stuck I loaded it and eventually defeated the final boss. I remember the day vividly where I left the console on overnight displaying the "The End" screen because I thought there might be an easter egg - I'd just learned about Totaka's song in Luigi's Mansion (GCN). There is no postgame in Paper Mario, but I always dreamed of one. In my time in the modding community I've found that I prefer to create documentation and tools for others to express their creativity than create my own, which is why tools like [1] and [2] exist. The decompilation lets users make mods even more flexibly than previous tools, so I hope to see some people build some cool stuff. I also just love learning about how this game from my childhood works. It feels kinda like archaeology: discovering parts of the engine where hacks were thrown in at the last minute, finding code that was linked against an earlier version of the engine, etc. [1] https://mamar.nanaian.town/ https://mamar.nanaian.town/ [2] https://github.com/nanaian/papermario-dx https://github.com/nanaian/papermario-dx
- dmonitor 3y agois the demand for n64 decompilations partially fueled by the difficulty people have had in developing emulators for the machine?
- nanaian 3y agoTo my knowledge: not really. Porting to other platforms is usually an explicit non-goal by the decompilation team. For some reason, port projects tend to attract the wrong kinds of attention, both from the public at large and from dodgy people in the romhacking community.
- georgeplusplus 3y agoWould love to see Megaman legends 64 decompiled