
Super Mario 64 Online Release [video] - dEnigma
https://www.youtube.com/watch?v=YS3CrLG8dEg
======
CM30
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](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](https://www.youtube.com/watch?v=YGcsVQB1NAA)

Super Mario 64 Maker:

[https://www.youtube.com/watch?v=XNZk4ggJkcc](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](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.

~~~
dEnigma
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](https://www.youtube.com/watch?v=_v2zXB-YUZ8)

------
gburt
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?

~~~
pfedak
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](http://wiki.origami64.net/super_mario_64/textures)

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

~~~
TazeTSchnitzel
Oh goodness, MTA brought me so much fun.

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

------
Pxtl
Neat! Seems pretty freeform though, which I don't love - I like a bit more
structure in my games. Also, Id be surprised if the levels that were all
designed for Mario play well with a bunch of characters with alternative
movement powers.

Still, this looks hella cool. Hope Nintendo doesn't get nasty about it, I want
to try it with my kids (although I lack enough machines)

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

~~~
ahmeni
From the developer's comments on YouTube there was a previous Luigi model that
someone had crafted with custom tools but they'd left the project and thus the
Luigi model hasn't had as much work done for it.

There's also additional challenges where they have a limited amount of game
RAM to work with and so additional textures and models are tough to fit in.

------
marmshallow
Quick link to download/mirror for the lazy:
[https://cdn.discordapp.com/attachments/347469400565219338/35...](https://cdn.discordapp.com/attachments/347469400565219338/356487435296833536/Super_Mario_64_Online.zip)

------
ben174
Subreddit here:
[https://www.reddit.com/r/sm64online/](https://www.reddit.com/r/sm64online/)

Threads are starting to form with public servers etc. Could be a good
community to come of this, I'm excited.

------
travbrack
Can someone explain this to me? How does the game/emulator communicate with
his little server program?

~~~
dEnigma
No idea, sorry. But according to this interview[0] a guy named MelonSpeedruns
"did the basic program that would allow sending bytes from each emulator to a
server". Sadly I can't find any blogpost, video or any kind of forum, where he
talks about this project. His github account shows nothing related to this
either. Maybe there are further details in one of Kaze's videos[1], or you
could try asking MelonSpeedruns directly on github[2] or reddit[3].

[0][https://www.redbull.com/sg-en/mario-64-online-
interview](https://www.redbull.com/sg-en/mario-64-online-interview)

[1][https://www.youtube.com/channel/UCuvSqzfO_LV_QzHdmEj84SQ](https://www.youtube.com/channel/UCuvSqzfO_LV_QzHdmEj84SQ)

[2][https://github.com/MelonSpeedruns](https://github.com/MelonSpeedruns)

[3][https://www.reddit.com/user/MelonSpeedruns/](https://www.reddit.com/user/MelonSpeedruns/)

------
jaimehrubiks
This is awesome, one of my fav games as a kid. I prefered better the DS
version but still fantastic.

------
grabcocque
Countdown to Nintendo's cease and desist order in 3...

~~~
endemic
In the immortal words of Jason Scott: "Itsa me, cease and desist"

[https://mobile.twitter.com/textfiles/status/7396378033450516...](https://mobile.twitter.com/textfiles/status/739637803345051649)

------
ythn
Cease and Desist in 3... 2...

