Anyone who has ever played Nintendo 64 games is probably familiar with the ways that large worlds in these games got split up, with many loading zones. Another noticeable aspect is that of the limited drawing distance, which is why even a large open area such as in Ocarina of Time‘s Hyrule Field has many features that limit how far you can actually see, such as hills and a big farming homestead in the center. Yet as [James Lambert] demonstrates in a recent video, it’s actually possible to create an open world on the N64, including large drawing distances.
As explained in the video, the drawing distance is something that the developer controls, and thus may want to restrict to hit certain performance goals. In effect he developer sets where the far clipping plane is set, beyond which items are no longer rendered. Of course, there are issues with just ramping up the distance to the far clipping plane, as the N64 only has a 15-bit Z-buffer, after which you get ‘Z fighting’, where render order becomes an issue as it’s no longer clear what is in front of what.
One fix is to push the near clipping plane further away from the player, but this comes with its own share of issues. Ergo [James] fixed it by doing two render passes: first all the far-away objects with Z-buffer disabled, and then all the nearby objects. These far-away objects can be rendered back-to-front with low level-of-detail (LoD), so this is relatively fast and also saves a lot of RAM, as the N64 is scraping by in this department at the best of times.
In the video the full details of this rendering approach, as well as a new fog rendering method, are explained, with the code and such available on GitHub for those who wish to tinker with it themselves. [James] and friends intend to develop a full game using this engine as well, so that’s definitely something to look forward to.

Junk Runner 64 is such a fantastic showcase of the n64, I loved every minute of it. Finished it on real hardware and it only crashed on my once through it.
gives a star trek the next generation kind of look, where the near objects are a soundstage and the far objects are a matte painting
This looks amazing. I’ll be playing this tonight. Super impressed all the workarounds you figured out. Hopefully it works on the Analog 3D.
I’m always in awe of how much the classic game devs squeezed out of such modest hardware. Sometimes I mourn the end of that hardware-limited era and the software engineering creativity it sparked. Projects like this (implementing modern games on classic hardware) scratch an itch for me.
The other project that comes to mind is the guy implementing Portal on n64 hardware. It’s harder than you’d expect to render a world where a ray might travel through many portals before reaching the camera.
https://github.com/mwpenny/portal64-still-alive
Oh duh now I see the portal project is forked off this same author’s original code (which he took down due to a legal request.)
But compared to Zelda OoT, why is the resolution that bad? No ressources left to add a closeup layer?
By the time Banjo Kazooey came out, the horizon lines (with no fog) was looking really good. Conkers Bad Fur day too looked really good in the open worlds