8 ms·
As I recall, that MVG video was incorrect—Nintendo could have compiled with optimizations and the game would have worked. The most plausible explanation to me
by pcwalton 5y ago
As I recall, that MVG video was incorrect—Nintendo could have compiled with optimizations and the game would have worked.
The most plausible explanation to me (and, IIRC, the one that Giles Goddard speculated was the case) is that they simply didn't want to take the chance that optimization could surface unknown bugs in the code, and they knew that the unoptimized version worked and played fine, so they played it safe and shipped the known-good unoptimized version. This is a perfectly understandable decision in terms of risk management, even if in retrospect it was too conservative. Less likely, but still very plausible, was that turning off optimization was just a mistake; mistakes happen when you're rushing a release for a deadline, and build deployment was not as orderly and automated back then as it is today.
- taneq 5y agoSounds like a good call to me. If you have something mission critical that's tried and tested, and reliably does 99% of what you need it to, you don't mess with it. It's very easy in software dev to get caught up in software optimizations, and it's a lot harder to quantify the risk of continuing to mess with something the closer you get to ship date. Of course it "shouldn't make any difference" but who among us hasn't at some point been bitten by a "that couldn't possibly affect... ohhh. Ohhhhhhh." style bug? When you're dealing not just with a single piece of software, but an entire hardware+software ecosystem, you don't risk jeopardizing the whole stack for an extra few FPS in some back corner.
- bombcar 5y agoEspecially in an era where a buggy release could require an expensive return/reprinting step. Back in those days it had to ship as close to perfect as possible because you couldn’t just send out a patch layer.
- 3836293648 5y agoNo, that's not more plausible. Because it's only the NTSC release that was compiled in debug mode. The Japanese and PAL releases were O2
- FartyMcFarter 5y agoBut those are different versions. Just because they worked with -O2 doesn't mean NTSC would. I'm not just saying this in a theoretical sense either; I've seen much weirder bugs.