Kaze Emanuar’s Adventures in Mario 64 Optimization: Calculating Sine

I’ve mentioned Kaze Emanuar’s efforts to make the best Mario 64 there can possibly be on its native hardware. He’s compiled it with optimization flags turned on, made its platforming engine much more efficient, and worked hard to minimize cache misses, which was a major source of slowdowns in the game’s code. Under his efforts, he’s gotten the engine running at 60fps (although not yet in a playable version of the original). While these optimizations are not the kind of thing that can keep being found indefinitely, he’s bound to run out of ways to tune up the code, currently he’s still finding new ways to speed it up.

I hope you’re ready for some F-U-N (approximation FUNctions)

He made a Youtube video detailing his most recent optimization find: getting the game’s trigonometric functions executing at their speediest. What is interesting is that the Mario 64 code already uses a couple of tricks to get sine and cosine results in a rapid manner: the game only uses 4096 discrete angles of movement direction, and contains a lookup table that covers each of those angles. But it turns out that this optimization is actually a mis-optimization, because the RAM bus hits incurred to read the values into the cache are actually more expensive than just figuring out the values in code on the N64’s hardware!

The video starts out decently comprehensible, but eventually descends into the process of figuring out sine and cosine on the fly, and the virtues of the various ways this can be done, so you can’t be faulted for bailing before the end, possibly at the moment the dreaded words “Taylor series” are mentioned. But it’s a fairly interesting watch until then!

Scrapped Playable Peach in Super Mario 64 DS

Wonderful Mario obscurity blog Supper Mario Broth recently posted about evidence found in the cart for a playable Princess Peach in the Mario 64 remake for the Nintendo DS. Incomplete, slightly broken animations for Peach were found in the game’s data.

The original post shows the animations in motion, which includes some glitchy movement in her right arm. Maybe she was meant to hold something in it?

Romhack Thursday: All Mario 64 Levels Combined Into One Huge Map

On Romhack Thursdays, we bring you interesting finds from the world of game modifications.

Another of Mario 64 internals expert Maze Emanuar’s amazing hacks, this puts the geometry of all of the levels of Mario 64 into into huge world! It does offer gameplay in that you can collect some stars that are scattered around the huge area, but few of the original objectives remain. For more information and the download link to the hack, check the description of the video.

Super Mario “All Levels In One” Hack (Youtube, 13 minutes, download link to hack in video description)

News 2/2/2022: Konami, Link to the Past, Listicles

“We scour the Earth web for indie, retro, and niche gaming news so you don’t have to, drebnar!” – your faithful reporter

My cell walls are feeling kind of rigid at the moment due to a computer issue that caused me to lose the first draft of this post. All of my witty remarks, lost to the electronic void. You missed out on my entertaining usage of the phrase “odoriferous blorpy.” Truly we are in the worst timeline. It’s all left me feeling kind of cranky, let’s get through it quickly this week.

Ted Litchfield at PC Gamer on a RuneScape player playing a minigame for eight years and turn turning in all his progress at once. RuneScape is an early MMORPG that began in 2001.

Several things to do with Konami, a once-great publisher that’s become pretty hidebound lately:

Dustin Bailey at GamesRadar: fans are working on a PC remake of Castlevania II: Simon’s Quest. I’m sure this won’t get obliterated by legal threats. They should have gone with the cheeky route taken by The Transylvania Adventure of Simon Quest. The article mentions that its creators consider the fact that many townsfolk lie to you to be a problem, instead of awesome as it really is.

Charles Harte at Gamespot organ Game Informer says Dead Cells’ upcoming Castlevania-themed DLC is really big.

Also from Charles Harte, Konami is shutting down their recently-released game CRIMESIGHT, not just removing it from the Steam store but even making it unplayable. Great way to reward people giving you money, K. It’s not even a year old yet!:

Tyler Wilde, also from PC Gamer, on a $2,000 game on Steam and what it’s about. Summarized: it costs $2,000 but is short enough that people can finish it within the return period, and it amounts to a screed against women. Blech!

Dean Howell at Neowin: a fan-made decompilation of The Legend of Zelda: A Link to the Past can now be compiled for Windows and (presumably if your device is jailbroken) Switch.

Christ Moyse at Destructoid tells us that Taito’s classic The New Zealand Story is coming to the Arcade Archives series. Gandalf could not be reached at press time for comment.

Two listicles:

Zoey Handley at Destructoid on the 10 best NES soundtracks. The list is Bucky O’Hare, Kirby’s Adventure, Castlevania 3 (Japanese version), Contra, Dr. Mario, Super Mario Bros. 2, Mega Man 2, Castlevania II, Journey to Silius, and… Silver Surfer?

Gavin Lane and the NintendoLife staff on the 50 best SNES games. The list is compiled algorithmically from reader scores, and can change even after publication. At this time, the top ten are, starting from $10: Donkey Kong Country 2, Earthbound, Teenage Mutant Ninja Turtles IV, Super Mario RPG, Yoshi’s Island, Final Fantasy III, Super Metroid, Chrono Trigger, Zelda: A Link to the Past and Super Mario World on top.

Tom Phillips at EuroGamer mentions that the original developers of Goldeneye 007, recently rereleased after 25 years on Switch and Xbox platforms, were a bit miffed that they weren’t asked to participate in the festivities. At the time most of its developers were completely new to the game industry, and they’ve been generally snubbed by its publishers in talking about the new versions. Does feel pretty shabby, Nintendo and Microsoft!

Andrew Liezewski at Gizmodo talks about the graphics in an upcoming Mario 64 hack made by Kaze Emanuar. I’ve followed Kaze’s hacking videos quite a bit (I think one’s been posted on Set Side B before), and the optimizations they’ve made to Mario 64’s engine are amazing, not only eliminating lag but great increasing its frame rate and making it look better to boot.

And, at Kotaku, Isaiah Colbert reports on various things being done to celebrate Final Fantasy VII’s 26th birthday, including official recognition in Japan of “Final Fantasy VII day” and a crossover with Power Wash Simulator. Maybe they can do something about cleaning out all the grunge from Midgar, that city could use a bath.

Video: The History of the A-Button Challenge

It’s now been some years since pannenkoek2012’s “A-button challenge” videos hit the scene, introducing the internet to hyper-obscure Super Mario 64 glitch concepts like the HOLP and Parallel Universes. For the record, those videos can be seen here and here, and if you haven’t seen them before, you are in for a ride. Videos like the Walls, Floors, and Ceilings series (37 minutes, 32 minutes and 37 minutes) are not only interesting in their own right (to people of a certain mindset) but are a good introduction to concepts for writing your own 3D platforming engine.

These videos are all ultimately in service to the A Button Challenge, a long-running quest to try to complete Super Mario 64 with a few presses of the A button as possible. What may seem like a completely spurious pastime, it turns out, has been an obsession with some players since not long after the game first came out!

The origins and history of the A Button Challenge are explained by a surprisingly long and deep series by YouTube user Bismuth, totaling over four hours of video and, as I write this, isn’t even complete. I’m not sure how many people would be interested in watching so much on such a niche endeavor, but pannenkoek’s videos have been popular enough that I figure they must be out there, and some of them may even read this blog, so here goes!