Live data from Hacker News

Super Mario 64 Online Release [video]

youtube.com

11–20 of 25 posts

Re: Super Mario 64 Online Release [video]

#12
If you haven't heard, the person behind this mod (Kaze Emanuar) was also responsible for tons of amazing mods of the same game. For example, he also made the incredibly technically advanced Super Mario 64 Last Impact with all new levels, enemies, power ups, bosses and gimmicks:

http://sm64hacks.com/hack.php?id=59

As well as Super Mario Odyssey 64 (which let you possess anything from Mario 64 by chucking your hat at it):

https://www.youtube.com/watch?v=YGcsVQB1NAA

Super Mario 64 Maker:

https://www.youtube.com/watch?v=XNZk4ggJkcc

And Super Mario 64 3D World (where he set up the custom abilities the players for Mario 64 Online have):

https://www.youtube.com/watch?v=8ePa_FrSNkI

So if you're interested in this project, you should also check out his previous work. It's amazing.

Re: Super Mario 64 Online Release [video]

#13
post #8

How do people do things like this? They manage to achieve pretty sophisticated modifications to compiled games without access to the source code. Is it really just disassembly and careful low-level work?

Debugging tools in n64 emulators (such as nemu64) are sufficient to make tracking down particular game logic more in the neighborhood of a fun puzzle than a slog through (roughly) a megabyte of assembly. Super Mario 64 in particular has had an active ROM hacking community for over a decade, so there is a large body of knowledge about the game's internals, though it resembles folklore more than a systematic approach. The hard parts to discover through disassembly are the 3d graphics api and memory-mapped IO, but that was already worked out quite a while ago for emulators (based largely on patent documents).

In fact, there are level editors for SM64! Kaze, the creator of this hack, occasionally streams development on twitch; it's a lot of cross-referencing different pieces of accumulated documentation.

Edit: An example of some of the documentation, a list of ROM addresses of various textures: http://wiki.origami64.net/super_mario_64/textures

Re: Super Mario 64 Online Release [video]

#14
post #8

How do people do things like this? They manage to achieve pretty sophisticated modifications to compiled games without access to the source code. Is it really just disassembly and careful low-level work?

I can't speak to the complexity of this project, but for ROM hacking in general, it's not all too complicated, but it does take some persisence.

First you need to find code relevant to what you want to do. You can take diffs of memory as you do things in the game to narrow down where the relevant addresses are, and then set breakpoints on read/write to those locations to find relevant code. After that, you can mostly just follow the assembly - you can even read backwards up the call stack by reading to what look like the beginning of a procedure, and searching for jumps to that address. Once you've found the code you want to modify, you just need to find some empty space in the ROM that you can branch out to to write your code.

The trickier bit is if you're in a spot where you need to worry about timing. On older consoles, this included things like changing the HUD or wave effects, etc., since you need to make sure whatever work you do gets done in time for HBlank/VBlank.

Some consoles also had some built in functions that would give you an idea of what code was for, like the lz77 compression on the GBA, which was mostly just used for graphics. Similarly, DMA was most often used for copying sprite data. On newer consoles where code was often compiled from C (rather than assembly with macros), I'm under the impression you can also do things like try to pattern match on the signature of standard library functions.

Re: Super Mario 64 Online Release [video]

#16
post #12

If you haven't heard, the person behind this mod (Kaze Emanuar) was also responsible for tons of amazing mods of the same game. For example, he also made the incredibly technically advanced Super Mario 64 Last Impact with all new levels, enemies, power ups, bosses and gimmicks: http://sm64hacks.com/hack.php?id=59 As well as Super Mario Odyssey 64 (which let you possess anything from Mario 64 by chucking your hat at i…

He's also currently working on a "Super Mario 64"/"Zelda: Ocarina of Time" crossover (unless the project has been abandoned)

https://www.youtube.com/watch?v=_v2zXB-YUZ8

Re: Super Mario 64 Online Release [video]

#17
post #5

Amazing work. If you like this, check out Multi Theft Auto and San Andreas Multiplayer, two mods that add online multiplayer support and scripting capabilities to GTA Vice City and San Andreas. MTA:SA even adds a map editor that works inside the game client itself.

Do they mostly work now? I remember trying a San Andreas Multiplayer Mod quite a long time ago, but it was ridden with bugs and basically unusable. Thank you for reminding me these exist, in any case.

Re: Super Mario 64 Online Release [video]

#18
post #5

Amazing work. If you like this, check out Multi Theft Auto and San Andreas Multiplayer, two mods that add online multiplayer support and scripting capabilities to GTA Vice City and San Andreas. MTA:SA even adds a map editor that works inside the game client itself.

Oh goodness, MTA brought me so much fun.

Mostly of the Lua-script-that-made-cars-rain-from-the-sky-above-random-players kind.

Re: Super Mario 64 Online Release [video]

#19
With all of the brand new models I'm assuming he either imported or created from scratch (e.g. Peach, Rosalina, Waluigi, Toad, etc), it's a little puzzling why his Luigi is still a palette-swapped Mario instead of going for the longer-thinner variety that's been pretty standard to Luigi's character for over a decade.

Re: Super Mario 64 Online Release [video]

#20

With all of the brand new models I'm assuming he either imported or created from scratch (e.g. Peach, Rosalina, Waluigi, Toad, etc), it's a little puzzling why his Luigi is still a palette-swapped Mario instead of going for the longer-thinner variety that's been pretty standard to Luigi's character for over a decade.

He IS longer and thinner. Pause the video at about 0:25, when they are standing in front of the castle bridge, to compare Luigi and Mario.
Post reply on HN