I Built an Open-World Engine for the N64 [video] (youtube.com)

by msephton 95 comments 463 points
Read article View on HN

95 comments

[−] CoryOndrejka 48d ago
Very cool. In 1998 (oof) we built Road Rash 64 which was accidentally open world -- even though you had race on a particular road, with a start and finish line, you could drive anywhere, see traffic all over the map, jump off of mountains, etc. The r4k plus reality coprocessor was quite potent -- we got to over 750k shaded triangles per second in optimized testing -- though finicky because you had to manage audio during vblank, etc. Plus, the reality coprocessor fog had a brutal hardware bug that made it really tricky to use.
[−] jdironman 48d ago
if you were on the development team of that game I send my biggest thanks out to you. it was one of the few things me and my (hard to bond with) father bonded over growing up. We would play I think ..course 2 or 3 with the insanity level bikes ALL night trying to get out times down to something like 1 1/2 minutes. within ms of each other's times. run after run. so thanks.
[−] CoryOndrejka 48d ago
Thank you! I’m cracking up because that’s something we all did while building it, too. It’s part of how the insanity bikes ended up so hilariously overpowered.
[−] everdrive 48d ago
Road Rash 64 is a really underrated game. As you say, the environment is alive, and nearly every race has a lot of potential for wacky slapstick fun. The driving feels really nice and is rewarding to learn.
[−] anthk 48d ago
The PSX one was open world too (Road Rash 3D?). There were tracks but you could go anywhere, it was and it's still amazing. If you play then under an emulator with just bigger rendering and a bilinear filter the game looks chilling enough modulo for the background with doesn't 'fade/blend' visually as well as it did under old 14" CRT TV sets.
[−] CoryOndrejka 47d ago
Yeah, so that was what we were in theory "porting." Except that RR3D was streaming off of CD, so they had near infinite disk storage, where we needed to fit in a cartridge. Also -- surprise -- after the contract with EA was signed, it turned out the RR3D team had mostly disbanded inside EA and moved on to other projects, so nobody knew how the streaming worked, where the full map dataset was, how the tracks were represented, etc. Lots of commando visits to EA and long chats later, we had a data dump of the entire map, which was a great start. The compute/storage/graphics performance of the N64 vs PSX were also wildly different, so we ended up having to really rethink virtually all aspects of it.

We also were lucky enough to have an incredible physics engine programmer, so we were running a way better motorcylce simulator than made any kind of sense -- led to huge arguments with our CEO because higher level motorcycles were much harder to ride initially because they were modeled after real performance figures. We fixed that eventually -- Don was right!

Completely agree that none of the games from the CRT era look right on modern TVs. There was a group at GaTech that did some really nice visual simulations of scanline artifacts, but they haven't seemed to generally make it into emulators.

[−] anthk 47d ago
Indeed, in this case a source port with a higher draw distance (as redriver did with Driver 2) would be far more preferable.
[−] CoryOndrejka 48d ago
Thank you! We had an absolute blast building it and we just kept playing it. I need to look up the full unlock cheat code.
[−] CoryOndrejka 47d ago
According to a sticky note somehow still stuck to RR64 box, the unlcok everything code is (from the main screen): Control Up, Control Up, Left Trigger, Control Down, Z Trigger, Left Trigger, Z Trigger, Control Up
[−] msephton 47d ago
I asked the one person I know who digs for these kind of things and they were kind enough to share the codes with me: https://bsky.app/profile/bbayles.bsky.social/post/3mia5sbu6g...
[−] someperson 48d ago
Physics of jumping off vehicles is really fun and great
[−] CoryOndrejka 47d ago
The whole “wheelie to jump cars” but “wheelie require touch on analog stick” is a mechanic I’m shocked other action race games never copied. So much fun to press your luck.
[−] x0re4x 48d ago
There is a nice video by Kaze Emanuar demonstrating N64 easily pushing 300k shaded triangles per second without special optimizations in a game engine:

https://www.youtube.com/watch?v=GC_jLsxZ7nw

[−] jmkni 48d ago
Comments like this are why I just love Hacker News
[−] ErroneousBosh 48d ago

> Plus, the reality coprocessor fog had a brutal hardware bug that made it really tricky to use.

What was the bug?

[−] CoryOndrejka 48d ago
Well, in deeply technical terms, it didn’t work at all and just had like one setting that almost worked. The hardware engineers working on the ASIC tried to slam it in at the last minute and they almost pulled it off. Except the didn’t.
[−] amlib 48d ago
Does that means that every n64 game that uses fog (which I guess is.. most of them?) are relying on an almost fully broken feature? Or was there alternatives that didn't rely on the fixed function hardware?
[−] ErroneousBosh 48d ago
Aaah, the worst kind of bug. The "better to have just not bothered" kind.
[−] dd_xplore 48d ago
I just loved road rash, I had the demo version initially, I used to call it demo rash. Once in a race I accidentally jumped on a building, it was first open world experience for me!
[−] muggesmuds 48d ago
Massive fan, would love to hear some details about the culture in the office at that time!
[−] azertify 49d ago
In case anyone is interested, this creator built a remake of Portal for the N64, uploading a really cool set of videos describing the work that went into building it.

He's since stopped to work on his own IP, I believe that the issue was that Valve couldn't allow it because they'd never get Nintendo to agree to it. Something along those lines, anyway.

[−] LarsDu88 48d ago
I actually used similar camera draw distance trick in my game Rogue Stargun.

The real way to optimize this stuff really well is for the artist to spend a lot of time making LODS for the distant objects. For the really distant objects, esp for a platform like n64, you can replace the distant objects with billboard imposters which are basically just flat poster textures that swap perspectives at certain angles.

GTA V does this extremely well with many manually made LODs and its very costly

[−] cubefox 49d ago
The same guy, James Lambert, also implemented texture streaming (which would not be invented until two console generations later) in an N64 demo. The textures look uncharacteristically high res: https://youtube.com/watch?v=Sf036fO-ZUk
[−] gryfft 49d ago
I watched this on YouTube the other day. Another beautiful example of the creative power yielded from building within constraints.
[−] user____name 49d ago
This is really cool. Kaze Emanuar[0] seems to be able to hit 60hz consistently with his Mario 64 rework, I wonder if such perf is achievable for these wide open landscapes. Iirc Shadow of the Collosus rendered distant geometry into the skybox, which always struck me as a neat trick.

[0] http://www.youtube.com/@KazeN64

[−] amelius 49d ago
The first comment:

> "The N64 is very memory bound"

> Aren't we all these days?

[−] TomatoCo 48d ago
This reminds me of Magicore Anomala, a side scrolling game being made for the 1985 Atari. I wish there was a way to know how people contemporary to the release of the Atari or the N64 would react to seeing these modern engines.
[−] MegaDeKay 48d ago
If you like this kind of thing, check out Coding Secrets on YouTube. He goes further back in time to show how they pulled off seemingly impossible effects on a really old console: the Sega Genesis.

https://www.youtube.com/@codingsecrets

[−] Hekkova 48d ago
That is awesome! Imagine having that in the 90s. Would have blown peoples' minds.
[−] DarthCeltic85 48d ago
My inner 12 year old is losing it.
[−] AdmiralAsshat 49d ago
Somewhat annoyingly, the actual homebrew z64 seems to crash both of the N64 cores that RetroArch supports. :(
[−] ill_ion 48d ago
This is awesome!
[−] dmead 48d ago
Nice telescope
[−] ryguz 48d ago
[dead]
[−] nguyendinhdoan 48d ago
[flagged]
[−] kennywinker 48d ago
A super impressive feat, but also the games art style is like having bleach poured into my eyes. Am I just the wrong age for this specific retro nostalgia? Probably.