As teased by @ModRetro, Xibalba 64 will be published as a launch title for the M64! It's a complete physical release, including cartridge, packaging and manual. Exciting times!
I saw some discussion about the game already, so let me clarify...
Xibalba 64 is not just a straight "port" of a JavaScript demo to C. It's a full game! I poured my heart, soul and sanity into it; to make into something that I feel might be worthy of your money.
@awesomekling@jarredsumner Maybe ask for it? The first new Browser since forever being developed with the help of some company's AI would surely be good marketing. /cc @sama?
@PalmerLuckey I don't know man. The N64 is a quirky beast. Yes, it has enough horsepower to decode H264, yet drawing a simple tilemap requires careful consideration of draw order to not overwhelm the memory bandwidth.
It's all possible, but so, so complicated.
@kurriochi@the_randomizer Right, we now have much better tooling and an amazing community, compared to the hushed tones behind closed doors back in the day.
Also, fun fact: what people generally call "GPU microcode" (in N64 context) is just MIPS assembly :)
Ever wondered why explosions and other effects looked so much cooler on PSX than on N64? It's additive blending! While the N64 ACKCHYUALLY did support it, it was practically unusable. 🧵
@megatog615 PSX had the opposite problem: no proper multiplicative blending.
What you need is `(src * dst)/255`, but the PSX has no programmable "color combiner" and only allows one of 4 fixed blend modes:
0: (src + dst) / 2
1: src + dst
2: dst - src
3: dst + src/4
@the_randomizer And it's no wonder why. SGI famously designed the display processor. They were coming from the movie world where quality was of utmost importance. While doing things "quick and dirty" is often the better approach for games.
@the_randomizer ... and yet, the general look of PSX games has aged much better.
I love the N64, but in hindsight it's undeniably that Nintendo made the wrong tradeoffs deciding for anti alias & texture filter instead of improving memory bandwidth and trivial things such as additive blending.
Still, this whole approach worked out quite nicely and runs fast enough with a few hundred small sprites on the screen. Might use it for a game!
Source is here: https://t.co/3JdIgJsCJH
Sadly, the N64 struggles hard with memory bandwidth and thus with blending/overdraw: for each pixel the RDP needs to read the framebuffer from RDRAM, compute the output color and write back to RDRAM. With a 32bit buffer this problem gets twice as bad.