[Dominic Szablewski] created something that we don’t see every day: a no-kidding new physical Nintendo 64 game for sale, complete with cartridge, manual, and box art. He wrote about what it was like to make Xibalba 64, a 3D FPS game built using his own game engine. It even supports two-player couch co-op and four-player deathmatch.
The N64 was a groundbreaking console that brought analog controls and fully 3D game worlds to mainstream console gaming. Architecture-wise it has its share of quirks, including a tiny (4 kB!) amount of texture memory to go around all that fancy 3D content.
Xibalba was originally a demo game for [Dominic]’s MIT-licensed game engine, high_impact. Turning it into a full-fledged title for the N64 meant revisiting all sorts of things from level and gameplay design to sound and music. [Dominic] talks about it all, including the fact that his engine is technically for 2D content but he makes it work for the 3D game by ensuring levels have no elevation. Since levels are flat, the engine never has to deal with a dimension beyond its understanding. Xibalba 64 even maintains a stable 60 frames per second, dipping somewhat only in four-player split-screen.
The N64 still gets a lot of action from dedicated enthusiasts, and there’s no need to start from scratch if you find yourself with a retro gaming itch and a desire to push a vintage console in directions it never knew. For example, we’ve seen an open world game engine for the N64, complete with long drawing distances that didn’t seem possible on the hardware.

It’s not just tiny amount of VRAM. N64 has lots of other disadvantages like the lack of z-buffer. Whereas in PC gaming you just send stuff to the render queue, with N64 you have to calculate culling manually, which wastes a lot of CPU power.
What? You might be thinking of the PSX, the N64 absolutely has Z Buffer support, in fact it may be the first console to do so.
“Architecture-wise it has its share of quirks, including a tiny (4 kB!) amount of texture memory to go around all that fancy 3D content.”
This is just flat out wrong. The cache is 4kb, the textures can be mbs in size.
It’s not a cache, the RDP can only directly blit from TMEM which is 4kb, you have to manage it like any other graphics memory with DMA.
Kinda got that Rise of the Triad feel to it. Just with less gibs.
How did this guy deal with the N64 lockout chip DRM?
UltraCIC has been a thing for like 20 years at this point.