Development Update 7: Fixing all the things!

Development Update 7: Fixing all the things!

Another month, another update - let's see what December had in it for us :)

New Games!

The big news comes first: Mikage runs another game, Cave Story 3D! Turns out after a couple of small additions and the fixes mentioned later, this game pretty much just worked out of the box. And for what it's worth, both the original Cave Story and Cave Story 3D are supported ;)

I've also given an old homebrew release a shot, smea's portal3DS. A couple of GPU features are missing to make it playable, but the menu screen is rendering mostly fine so far!

Fixing all the things: Onto Perfect Graphics!

It's not always about getting new games to boot - often, fixing smaller bugs in games that already work uncovers subtle issues that would've been harder to debug in a game that outright refuses to render anything at all.

Cubic Ninja is a good example of this: It was one of the first games supported in Mikage back in July 2019, but its opening screen would instantly pop up rather than smoothly fading in. I decided to look into the issue, and found this:

Turns out I mixed up the GPU register definition for some of the alpha blend modes! Having fixed that issue, Cubic Ninja's intro now plays just fine:

A similarly subtle, but ultimately really simple issue to fix was the intro logo rendering in Nano Assault EX: I had misplaced some parentheses in the shader generated when rendering this effect, leading the computation of the AddThenMultiply texture combiner operation to return the wrong result. Voila, we finally know who created the game!

Meanwhile, remember the flame effect on the title screen of The Legend of Zelda OoT 3D that was working just fine in the software renderer? The Nano Assault fix made this flame effect work in Vulkan too! A great example of how fixing a bug in one game can resolve seemingly unrelated issues in other games in one go.

Happy Holidays!

That's it, folks - plenty of good progress! I'm planning on having the next alpha release in January, but I'll upload another gameplay video soon to make the waiting a bit easier on you. Until then, enjoy your holidays and have a great start into the new year! :)

This post was originally posted on 11 December 2019 for patrons, and released publicly on 16 January 2020.