“I want to release it, even if the quality would be a little lower.”
In 1996, Street Fighter Alpha 2 was ported onto Super Nintendo Entertainment System, a 1990 machine on its way out and not really up to the task of running such a modern game.
The team put up a hell of a job, involving adding a custom compression chip, with the game being much better than anyone expected – but still suffering from a big flaw, which was a momentum-breaking 3-second freeze at the beginning of every battle.
Dimitris Giannakis, also known as Modern Vintage Gamer, describes the problem and community’s more recent efforts to fix it:
Turns out, the problem wasn’t the compression chip, but sound effects – and the fix to complelty remove the delay relatively trivial in hindsight. A community member named gizaha posted a patch to the game in 2020, and its description can send shivers down your spine:
- Disable some waste sample loads
Sounds good.
- Tweaked audio engine for faster start of loading
Alright, fair enough, perhaps the game was rushed to market and some light optimizations skipped.
- Faster audio load, upload 2 bytes at the time instead of 1
Oops.
Also in 2020, people set their sights on another 1990s game, Super Mario 64.
MattKC on YouTube talked about a similar problem as SFA2 – the game seemingly wasn’t properly optimized:
For years, if not decades, this has been accepted as fact: Bowser’s sub is just too big and too goofy for the N64 to draw consistently. But what if I told you it didn’t have to be?
Nintendo just… forgot to turn on a C compiler optimization feature before shipping the game. The result wasn’t as egregious as random 3-second freezes, but still gave people much lower framerate on certain levels:
However, Giannakis followed up on that, and discovered the story wasn’t as simple. The optimization in question was still itself evolving at the time, and had known issues when Super Mario 64 was being developed. As easy as it is to turn it on in 2020, all polished and tested, it was a different story in 1996:
The video actually compares the versions visually, and even investigates other optimizations.
But it all pales in comparison to this 2024 video by Kaze Emanuar, who says “hey, guys, you have been looking at the wrong place the entire time” – as a matter of fact, it wasn’t the optimizations that Nintendo didn’t turn on that made the game slower. It was the optimizations they added:
The video is kind of intense, but I feel you can learn a few really interesting things from it:
- how you show the debug information matters,
- there is such a thing as a “performance lottery,”
- naïve efforts to optimize can be heavier than not doing anything at all,
- it’s best to optimize for maximizing minimum frame rate, rather than average frame rate.
It’s a fascinating watch, suggesting framerate increases of up to 50% on the original hardware, with just software changes.
Both the Street Fighter 2 Alpha and Super Mario 64 efforts also portray a terrifying notion: imagine your code being hyperanalized by a group of people 25–30 years later, pointing at your flaws.