• Hey Guest. Check out your NeoGAF Wrapped 2025 results here!

James Lambert: How I Built an Open-World Engine for the N64

IbizaPocholo

NeoGAFs Kent Brockman


I built a custom open-world engine for the N64. In this video, I break down how I achieved a seamless, massive world with zero loading screens on N64 hardware.
  • (00:00–00:27)
    The developer demonstrates a massive open world running in real time on N64 hardware, with extremely long draw distances comparable to modern games.
  • (00:27–01:21)
    Draw distance is controlled via near and far clipping planes, but pushing the far plane too far causes Z-fighting, where distant objects render incorrectly due to depth precision limits.
  • (01:21–02:56)
    The root issue is the N64's 15-bit Z-buffer (~32,000 values), heavily biased toward near objects—leaving very poor precision for distant geometry, which causes rendering conflicts.
  • (03:15–03:35)
    Adjusting the near plane helps reduce Z-fighting but introduces clipping issues for nearby objects—creating a trade-off between close detail and far visibility.
  • (03:35–03:56)
    Key solution:
    render the world in two passes:
    • Far objects scaled down (low precision needs)
    • Near objects rendered normally (high detail + proper depth)
  • (03:56–05:10)
    Uses Level of Detail (LOD):
    • Distant terrain = simplified tiles
    • Closer terrain = higher detail tiles
    • Tiles are dynamically swapped based on distance and visibility
  • (05:10–06:24)
    For distant terrain, the Z-buffer is disabled and objects are drawn manually back-to-front, improving performance and avoiding extra memory costs.
  • (06:24–07:46)
    Terrain texturing uses baked textures (high-detail visuals compressed into low-detail meshes) and chunking to avoid excessive material switching—critical for performance.
  • (07:46–08:25)
    Introduces multi-level terrain chunks (combining tiles into larger, lower-detail versions) to significantly improve framerate.
  • (08:04–09:10)
    Custom atmospheric perspective is implemented using the N64 color combiner instead of standard fog, enabling more realistic distance color blending.
  • (09:25–10:21)
    Gameplay challenges of a huge map are addressed by:
    • Very fast traversal (hover vehicle ~180 mph)
    • Progressive map discovery
    • Minimal guidance (no heavy quest markers), encouraging exploration
  • (11:26–end)
    The project proves that large-scale open worlds are feasible on N64, and the engine will be expanded into a full future game.
 
Nice engine but i really don't like the usage of dithering for masking objects popping up. Why not use smoother fading?

Maybe on a real CRT using composite cables the blending will make this look better.
 
Top Bottom