Did Nintendo really forget to Optimize Super Mario 64 ? | MVG

Modern Vintage Gamer3 HN recommenders · 2020–2022
1.3M views · commentary · evergreen · Uploaded 2020-02-03

Modern Vintage Gamer examines the claim from the Super Mario 64 decompilation project that the game shipped unoptimized, and puts it in the context of 1996 N64 development.

Recommended as a well-researched rebuttal of the idea that Nintendo simply forgot an optimization flag.

Watch on YouTube

3 comments from Hacker News

@gonzus2020 · in “The Reconstruction of ZZT”

I just watched a documentary about how Super Mario 64, a game for Nintendo consoles, was reverse engineered in a way that will also generate byte-identical objects when being compiled. I found this nothing short of amazing. This is the link to the part of the video that mentions this: [VIDEO]

Strongly recommendsView on HN
@semi2020 · in “Super Mario Bros. 3 in 3 Minutes – World Record Speedrun Explained [video]”

But notably not in SM64, where they disabled compiler optimization for some reson. Vintage Gamer has a good video about this. [VIDEO]

RecommendsView on HN
@hbn2022 · in “Overhauling Mario 64's code to reach 30 FPS and render 6x faster on N64 [video]”

The whole "Nintendo forgot to set the O2 optimization flag" thing has been somewhat debunked, or at best it's misleading. ModernVintageGamer did a video discussing the topic that's pretty well-researched [VIDEO] To summarize what he says: since the game was a launch title, it was likely being compiled with an early, less-stable compiler/SDKs, with known bugs that wouldn't be fixed until later (he even cited some official developer documentation that mentions this). So setting that flag could have caused known issues/instability at the time so they just left the optimization out. And the other thing is the game is using a lot of libraries that were indeed compiled with the O2 flag, and the performance drop by removing those is far more significant than the tiny gain by adding it to the top-level of the makefile where the rumor suggested it should have been added.

Strongly recommendsView on HN