Live data from Hacker News

Super Mario 64 has been decompiled

github.com

51–60 of 180 posts

Re: Super Mario 64 has been decompiled

#51
post #9

One thing I've always been curious about: is there any sort of clear continuity of architecture or design patterns between the games in the Super Mario series? Yes, they're probably all from-scratch rewrites of the engine, but could each successive engine be said to be a "descendant" of a previous one, on a design level? One thing I know (and can be seen in this repo) is that SM64 emulates a version of the NES/SNES "…

Super Paper Mario uses an extremely similar engine as Paper Mario: The Thousand Year Door, which uses a slightly modified version of the Paper Mario 64 engine.

Re: Super Mario 64 has been decompiled

#52
post #34
post #23

Earlier quoted context omitted.

It means they managed to get irix running in qemu. Presumably on an x86 cpu. Notable because the sgi indigo had a MIPS R3000A CPU. https://en.m.wikipedia.org/wiki/SGI_Indigo

No - qemu supports "userland" emulation where the processor ISA is emulated but syscalls and memory are translated to the host OS. The IRIX kernel and OS doesn't run in this scenario.

From my limited understanding stemming from a passing interest of such things: that sounds similar to how WINE operates, is it not?

Re: Super Mario 64 has been decompiled

#53
post #9

One thing I've always been curious about: is there any sort of clear continuity of architecture or design patterns between the games in the Super Mario series? Yes, they're probably all from-scratch rewrites of the engine, but could each successive engine be said to be a "descendant" of a previous one, on a design level? One thing I know (and can be seen in this repo) is that SM64 emulates a version of the NES/SNES "…

Zelda OoT was based on the Mario 64 engine

I thought it was starfox 64 actually

Re: Super Mario 64 has been decompiled

#54
post #10

Still amazes me that people actually spend time on such things :D. Decompiling 100 year old software whose source code most likely didn't look much different from what the decompiler spits out. What's the point?

> What's the point? Mods! Much easier to modify source code than a compiled binary.

You get all sort of interesting things to come out of it too... like an MMO version of Mario 64

Re: Super Mario 64 has been decompiled

#55
post #9

One thing I've always been curious about: is there any sort of clear continuity of architecture or design patterns between the games in the Super Mario series? Yes, they're probably all from-scratch rewrites of the engine, but could each successive engine be said to be a "descendant" of a previous one, on a design level? One thing I know (and can be seen in this repo) is that SM64 emulates a version of the NES/SNES "…

Super Mario 3D World's architecture goes back to Super Mario Sunshine. Some parts go back all the way to Super Mario 64, but not the object / actor management. The ring buffer isn't really emulating OAM, either.

You can trace the evolution of "LiveActor" all the way through until it ends up in Super Mario Odyssey.

Sunshine - https://github.com/shibbo/Corona/blob/master/include/actor/T...

Galaxy 1 - https://github.com/shibbo/Petari/blob/master/include/Actor/L...

Odyssey - https://github.com/shibbo/OdysseyReversed/blob/master/includ...

This architecture was so successful it ended up as the basis for all new Nintendo game development, so Breath of the Wild, Pikmin 3 and Splatoon, Mario Maker all use this new "Actor Library", or "al".

I have not looked at NSMBU, but NSMBWii uses a different core structure originally developed (as far as I know) by the Zelda team. I think it's mostly phased out these days, as is the set of "egg" libraries developed by the Mario Kart: Wii and Wii Sports teams.

Re: Super Mario 64 has been decompiled

#56
post #48

Earlier quoted context omitted.

Zelda OoT was based on the Mario 64 engine

That makes a lot of sense as it's not like they had a lot of 3D engines for the N64 during launch lol. Wonder if Pilot Wings (for example) also shares similar rendering pipeline.

PilotWings 64 was made by a separate company (Paradigm), who used a very different structure for their games which feels a lot more "western" to me (the UltraVision 64 "engine" has a large structured data chunk which it reads a lot of stuff from; most Nintendo 64 games don't really have that sort of structure)

Re: Super Mario 64 has been decompiled

#57

Previous discussion: https://news.ycombinator.com/item?id=20418577

This is the "official" release, where someone from the team that was working on the decompilation is making it public rather than just a random person on the Discord.

But not much has changed, I guess it's hard to make progress in a month.

Re: Super Mario 64 has been decompiled

#58
post #37
post #21

Earlier quoted context omitted.

Maybe I misunderstood you. I’m saying this same decompile process could indeed be done to any released game where the source code is lost, because that is effectively what happened in this case.

I think you misunderstood what the parent was saying. On the technical level, you are correct in that in both scenarios the end result would be the same, as you are going from compiled code to decompiled code. What I believe the parent is saying, is that applying this to Panzer Dragoon accomplishes more (on the human level), because devs of that game don't have the original source code anymore, while Super Mario 64 d…

Maybe the confusion could have been avoided if instead of:

> It would be great if this could be done...

codesushi42 would have said (emphasis mine):

> It would be great if this would be done...

Not that I think it was incorrect as it was, just a little ambiguous, I guess.

Re: Super Mario 64 has been decompiled

#59

"For Windows, install WSL and a distro of your choice and follow the Linux guide." I love these instructions! Also, I'd love to see this converted to a native executable. I wish Nintendo would actually allow that, although I'm sure they wouldn't.

A native executable? It's not like the Nintendo 64 was using DirectX

Re: Super Mario 64 has been decompiled

#60
post #53

Earlier quoted context omitted.

Zelda OoT was based on the Mario 64 engine

I thought it was starfox 64 actually

It was a heavily modified version of Mario 64:

"Miyamoto: We were using the Super Mario 64 engine for Zelda, but we had to make so many modifications to it that it's a different engine now. What we have now is a very good engine, and I think we can use it for future games if we can come up with a very good concept. It took three or so years to make Zelda, and about half the time was spent on making the engine. We definitely want to make use of this engine again."[1]

[1] https://web.archive.org/web/20040619165414/http://www.miyamo...

Post reply on HN