N64 Emulated In VR Makes Hyrule Go 3D

The Nintendo 64 had some groundbreaking and popular 3D games, and [Avaer Kazmer] felt it was only right to tamper with things just enough to trick an emulator into playing Ocarina of Time in VR, complete with stereoscopic 3D. The result is more than just running an emulator on a simulated screen in virtual reality; the software correctly renders a slightly different perspective of the world of Hyrule to each eye in order to really make the 3D pop in a way the original never could, and make it playable with VR controllers in the process. The VR emulator solution is called Emukit and works best with Exokit, a JavaScript web browser for AR and VR environments for which [Avaer] is a developer.

It turns out that there were a few challenges to work around and a few new problems to solve, not least of which was mapping VR controllers to control an N64 game in a sensible way. One thing that wasn’t avoidable is that the N64’s rendered world may now pop in 3D, but it still springs forth from a rectangular stage. The N64, after all, is still only rendering a world in a TV-screen-sized portion; anything outside that rectangular window doesn’t really exist, and there’s no way around it as long an emulated N64 is running the show. Still, the result is impressive, and a video demo is embedded below where you can see the effect for yourself.

N64 hacking usually comes in the form of turning the hardware into a stylish portable system, but fooling an N64 emulator into rendering in VR? That’s a pretty neat trick.

17 thoughts on “N64 Emulated In VR Makes Hyrule Go 3D

  1. If they can figure out a solution for the emulated N64 RAM space (the hard part) they could disable culling (the easier part). Things will load, but only unload when changing zones. Without a RAM fix though it would just crash or glitch the emulation. Point is I’m sure it’s possible, so saying “there’s no way around it” isn’t true. But it would be a lot of hard dedicated work by someone experienced with programming and ROM hacking. It wouldn’t be worth the effort for something not many people could enjoy.

  2. Is there no way to increase the rendered FOV with the N64? Many CPU games let you change the FOV or render distance with a simple setting (provided the hardware can keep up).

  3. I can’t help but feel that this is kinda poorly executed. Why is the video from the emulated N64 being shown as a plane in a 3D space, when it could instead be shown directly to each eye?

    1. That breaks immersion completely. Your head movements need to result in camera changes or it’s not really VR.

      It’s much better to just have a view projected in space like a TV and ‘sit’ in front of that to play. Sure, throwing out the rectangle and generating in immersive environment from the game’s 3D data would be best… but the game was designed for a flat rectangular screen. I seriously doubt you can do anything like that without spending at least as much time as it’d take to just rewrite the whole thing from scratch.

  4. I wondering if mapping head movement directly as controller inputs that changes the character’s POV would help automatically bypass the issue or is this game one that is completely fixed on third-person POV.

  5. Ummm…it’s way better on the Dolphin VR Emulator. Go check that out. You download Dolphin VR and then get a copy of the game. It runs with way more immersion than this does.

    1. Dolphin VR is abandoned, since the author was basically a nazi and wouldn’t stop pushing his toxic politics and decided to take his ball and go home when the forums asked him to stay on topic and not mock someone’s suicide. At least someone is still looking at this.

  6. Tip for anyone that didn’t already know.
    Cross your eyes on whilst you watch the video and then look past the screen. Not quite breaking the fourth wall but probably as close as most of you will get.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.