A developer has demonstrated an open-world engine in a Nintendo 64 game, which offers a “seamless, massive world with zero loading screens” on original hardware. In essence, James Lambert and a handful of other contributors behind Junkrunner 64 have coaxed the 30-year-old N64 into delivering draw distances matching the scale of Skyrim. The video below explains how this feat was achieved.
How I Built an Open-World Engine for the N64 - YouTube Watch On
The majority of this video showcases Junkrunner 64 gameplay and features. You will see a cute character walk and ride a jet bike around a gigantic, open-world environment in real time, with expansive draw distance. Basically, a player can stand on one corner of the map and see across the entire world.
Anyone with experience owning or playing an N64 will have experienced the sharp end of the retro console’s draw distance problem. It is an old console, of its era, and system resources are meager compared to what developers in the first open-world gaming era and beyond would expect.
Article continues below
Typical visual issues in worlds that try to be too ambitious include pop-ups and clipping. In particular, at a distance, Lambert’s video highlights the phenomenon of Z-fighting, where some objects closer to the user might actually be obscured by farther-away objects.
The developer explains that the N64 features a 15-bit Z-buffer, which can hold ~32,000 unique values. But in his game development tests, about 90% of those values are used for things that are very close to the camera. Resources are slim for the oodles of distant objects in an open-world game, leading to Z-fighting.
What can be done to fix pop-ups and combat the occasions when closer objects are obscured behind more distant objects? “The solution is I just draw the world twice. First, I draw everything that's far away scaled down by about 100, and then I do a separate pass where I draw everything that's close,” explains Lambert. “So that gives me the best of both worlds. I can draw large objects at a small scale where details don't matter. And then when I'm drawing things close, I'm able to retain that near clipping plane and render things more detailed.”
So, that’s one solution, but memory constraints and performance considerations remain. Another innovation that has been shoehorned into Junkrunner 64 to help mitigate the scarcity of processing power and memory is the engine’s implementation of world tiles of various detail levels, cleverly layered.
Stay On the Cutting Edge: Get the Tom's Hardware Newsletter Get Tom's Hardware's best news and in-depth reviews, straight to your inbox. Contact me with news and offers from other Future brands Receive email from us on behalf of our trusted partners or sponsors
... continue reading