alt.hn

3/28/2026 at 11:49:28 AM

I Built an Open-World Engine for the N64 [video]

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

by msephton

3/28/2026 at 4:46:49 PM

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.

by CoryOndrejka

3/28/2026 at 7:35:56 PM

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.

by jdironman

3/28/2026 at 10:38:20 PM

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.

by CoryOndrejka

3/28/2026 at 4:55:46 PM

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.

by everdrive

3/29/2026 at 1:22:35 PM

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.

by anthk

3/29/2026 at 4:59:19 PM

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.

by CoryOndrejka

3/29/2026 at 6:23:37 PM

Indeed, in this case a source port with a higher draw distance (as redriver did with Driver 2) would be far more preferable.

by anthk

3/28/2026 at 10:39:18 PM

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.

by CoryOndrejka

3/29/2026 at 5:15:31 PM

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

by CoryOndrejka

3/29/2026 at 8:04:18 AM

Physics of jumping off vehicles is really fun and great

by someperson

3/29/2026 at 9:59:58 PM

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.

by CoryOndrejka

3/28/2026 at 7:39:08 PM

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

by x0re4x

3/28/2026 at 5:27:21 PM

Comments like this are why I just love Hacker News

by jmkni

3/28/2026 at 6:37:05 PM

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

What was the bug?

by ErroneousBosh

3/28/2026 at 10:42:09 PM

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.

by CoryOndrejka

3/29/2026 at 3:09:46 AM

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?

by amlib

3/29/2026 at 5:00:23 PM

Yeah, afaik we all faked it in different ways or decided the almost working setting was good enough.

by CoryOndrejka

3/28/2026 at 11:19:03 PM

Aaah, the worst kind of bug. The "better to have just not bothered" kind.

by ErroneousBosh

3/28/2026 at 8:03:08 PM

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!

by dd_xplore

3/28/2026 at 10:40:15 PM

The THQ testers figured out you could launch bikes out to the sailboats, too

by CoryOndrejka

3/28/2026 at 7:48:43 PM

Massive fan, would love to hear some details about the culture in the office at that time!

by muggesmuds

3/28/2026 at 10:46:39 PM

We were subleasing from 3Dfx at the time, working on JetMoto, RR64, and Nuke Strike at the same time. It was old school game development — dumb hours, too much coffee, grabbing tubes of Oreos from the 3Dfx micro kitchen, late night In N’ Out runs for animal style and fries well done. Mix of ex-EA, ex-arcade, and all of us thinking how smart we were to not be leaving games to go to Internet startups. Oops.

by CoryOndrejka

3/28/2026 at 1:28:36 PM

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.

by azertify

3/28/2026 at 2:21:20 PM

I think the main issue was he used Nintendo owned tools and libraries to make his game instead of the GPL ones, making the release of the port dependent on Nintendo's approval too. I guess even Valve didn't want to deal with their lawyers.

by Frenchgeek

3/28/2026 at 4:36:24 PM

In principle he could use alternative tools, like libdragon, but he said even if he did that it was unlikely Valve would permit it, as Nintendo would still be antagonized somehow. And Valve it seems wants to improve their relationship with Nintendo (See: Valve blocked Dolphin on steam, and took down a video showing yuzu installed on the steam deck).

by throwawayk7h

3/28/2026 at 10:20:37 PM

The emulator thing is less "improve relationship" more "avoid appearing complicit" just basic avoidance of liability.

by fc417fc802

3/28/2026 at 6:42:49 PM

> And Valve it seems wants to improve their relationship with Nintendo

Valve are the 200kg gorilla of the gaming industry and can throw their weight around.

However Nintendo are a 250kg gorilla.

by ErroneousBosh

3/29/2026 at 4:41:42 AM

> However Nintendo are a 250kg gorilla.

It's an interesting question of comparison actually. Valve run the world's biggest videogame ecommerce platform, for PCs only (including handheld PCs like steam deck). Nintendo run a comparably large videogame ecommerce platform, but only for their two hardware platforms: switch and switch 2. Just roughly based on hardware sales, seems to be roundabout the same audience size. Nintendo maybe comes ahead because they're well established in the hardware space (Valve is trying to close the distance), and of course far, far away in terms of 1st party game development - Valve has, what, 8 games? All phenomenal, but nothing compared to Nintendo's library.

by komali2

3/29/2026 at 7:27:58 PM

Does Valve even make games anymore? The only thing of note they've done since like 2020 is put a fresh coat of paint on CounterStrike. Which still counts of course but it feels like they are REALLY coasting on the reputation of games that came out 20+ years ago.

by jdwithit

3/29/2026 at 7:31:58 PM

Valve's working on Deadlock, an FPS / MOBA. It's very polished, but in early access right now. Based on what I've seen when I tried playing it, and just what I hear in the gaming sphere, it'll probably be a decade-defining multiplayer game once it's done, like TF2 or CSGO both are.

They definitely coast, but when they do release something, it's always phenomenal. I do wish they'd make more games, though.

by komali2

3/28/2026 at 9:34:58 PM

A very vindictive, petty 250kg gorilla at that

by Forgeties79

3/29/2026 at 3:43:20 AM

Nintendo is more like the chihuahua, instead of growling and biting it sicks its lawyers on anything that threatens it (everything and anything).

by asno3030

3/28/2026 at 10:18:23 PM

If I recall correctly, there was also the issue that a Nintendo 64 ROM of their game would be fundamentally incompatible with Steam, which (as many forget) is technically their DRM solution. I could be wrong, of course.

by tertle950

3/29/2026 at 1:24:21 PM

You are free to publish any ROM to any system, it's a basic right against both monopolies and freedom of speech restrictions. What you can't do is to ilegally pull propietary dependencies without permission.

by anthk

3/28/2026 at 11:41:00 PM

How so? There are several recent Steam releases (Demons of Asteborg, Astebros, Earthion) that are just a Megadrive ROM wrapped in an emulator.

by pezezin

3/31/2026 at 7:34:15 PM

The problem I'm pointing out is that it's a work based on a Valve property that fundamentally cannot be tied to the DRM because it's "just" a ROM.

I believe this came up when the creator was talking about libdragon-- Valve has been more forgiving of other games like Hunt Down the Freeman and whatnot because they're native executables with the Steam DRM, which video games based on Valve properties necessarily must have. Portal 64 simply cannot do this, because Steam is not a Nintendo 64 application.

by tertle950

3/28/2026 at 4:18:13 PM

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

by LarsDu88

3/28/2026 at 5:05:28 PM

They have a very complicated and robust pipeline that generates all of those LODs automatically. The artists aren't manually creating them.

by vertexmachina

3/28/2026 at 6:12:07 PM

Another game that I find has very impressive draw distance is Just Cause 2. You can see objects very far away when flying etc, but they look very detailed and do not change when moving closer. Definitely blew me away the first time playing it.

by oliwary

3/28/2026 at 1:56:30 PM

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

by cubefox

3/30/2026 at 2:59:25 AM

I think it's overstated that texture streaming didn't happen until two console generations later. Texture streaming was famously used in Crash Bandicoot on the PS1 and extensively on most PS2 titles. However I do understand that with the lens of megatextures it's fun to look at James' accomplishment on the N64 in that light but just know that the N64 doesn't actually have the hardware needed for true modern paged feedback streaming.

by djmips

3/30/2026 at 8:28:44 AM

I don't think any PS2 games used texture streaming. They used LOD, which is different. (As I argued below, the asset streaming that Crash Bandicoot used was even simpler than LODs because it relied on a fixed camera path.)

by cubefox

3/29/2026 at 3:06:09 PM

That demo also uses 40MB of textures, so I think the effect would be highly impractical (in both cart size and performance) for most commercial N64 games even if the technique did exist at the time.

by ranger_danger

3/29/2026 at 10:08:05 PM

I wonder whether there could be a way to circumvent this with procedural textures, like the ones we saw in the .kkrieger demo. Alternatively, perhaps the texture streaming could be made to work with PlayStation or Saturn, though I assume the slow latency and transfer speed of the CD drive would make it impractical.

by cubefox

3/30/2026 at 3:03:43 AM

texture streaming was used on Crash Bandicoot on PS1. Look up the interview with Andy Gavin. And here's an excerpt from Game Developer.

"Andy wrote an incredible paging system that would swap in and out 64K data pages as Crash traversed the level. This was a "full stack" tour de force, in that it ran the gamut from high-level memory management to opcode-level DMA coding. Andy even controlled the physical layout of bytes on the CD-ROM disk so that—even at 300KB/sec—the PS1 could load the data for each piece of a given level by the time Crash ended up there."

https://www.gamedeveloper.com/programming/memory-matters-a-s...

by djmips

3/30/2026 at 8:05:30 AM

That game had a fixed camera on rails though. Theoretically, they could have used a pre-rendered video of the level and just adjust the playback speed. There are some racing games which actually did that. So the asset streaming could be linear and the data arranged accordingly on disk. But that's not how modern texture streaming works, where the camera is assumed to be free. In the worst case scenario, the player can turn the camera around in a second, and the entire texture content has to be replaced in that time.

by cubefox

3/28/2026 at 4:25:16 PM

Like in id softwares RAGE?

by LarsDu88

3/28/2026 at 5:15:26 PM

Yes, id invented it, but I think they published one slightly earlier game which also had texture streaming. The technique (virtual textures) would not become ubiquitous in most engines until the PS4 era though.

by cubefox

3/28/2026 at 5:43:52 PM

Enemy Territory: Quake Wars used an earlier version of it but only for the terrain. I think Rage was the first to use it for everything.

by Narishma

3/28/2026 at 5:58:23 PM

Unfortunately nowadays id Software doesn't seem to be at the cutting edge of engine technology anymore. Most interesting new developments now come from Unreal Engine as far as I can tell. Like virtual geometry (Nanite) or efficient ray traced direct illumination (MegaLights).

by cubefox

3/29/2026 at 3:29:48 PM

The id tech 8 engine is a whole lot more performant than the unreal 5 engine and absolutely does what it needs to, fantastically, I would add for the game it was made for.

by Grazester

3/28/2026 at 11:34:26 PM

Doom the Dark Ages uses some pretty advanced (and performance intense) illumination techniques which i believe are comparable ro megalights.

They ripped our Carmacks texture streaming stuff outta the engine years,ago though

by LarsDu88

3/29/2026 at 5:41:43 AM

No, they are only using ray traced global illumination, which Unreal Engine already had several years prior (Lumen). They are not second place either, because several other engines also had it before id Tech.

> They ripped our Carmacks texture streaming stuff outta the engine years,ago though

I'm pretty sure they are still using texture streaming. There is no alternative to that.

by cubefox

3/29/2026 at 3:57:22 PM

Damn i feel old. The ue5 demo is now 3 years old and lumen is considered old tech now? Jeez...

by LarsDu88

3/29/2026 at 4:04:34 PM

The original "Lumen in the Land of Nanite" demo is nearly six years old actually (May 2020).

by cubefox

3/29/2026 at 8:43:09 PM

Fuuuuuuccckkk

by LarsDu88

3/28/2026 at 11:52:08 AM

I watched this on YouTube the other day. Another beautiful example of the creative power yielded from building within constraints.

by gryfft

3/28/2026 at 1:40:07 PM

Such a clever way to approach the problem! I'd say only possible with a detailed understanding of the N64 constraints.

by msephton

3/29/2026 at 6:31:09 AM

Just like Superman 64

by 01HNNWZ0MV43FF

3/28/2026 at 1:59:16 PM

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

by user____name

3/28/2026 at 3:04:26 PM

VRAM goes vroom vroom.

I emailed him the video from OP and he mentioned they’ve done some collaboration. I’m assuming there’s a retro programming discord that I’m not worthy of.

by smithcoin

3/28/2026 at 9:42:40 PM

VRAM on the n64 is notoriously slow.

by charcircuit

3/28/2026 at 10:35:01 PM

It's RAM that is notoriously slow. VRAM is fast, but there's only 4K...

by msk-lywenn

3/28/2026 at 11:04:07 PM

That 4K buffer is not VRAM. The 4/8MB of RAM is also used as VRAM.

by charcircuit

3/28/2026 at 2:57:08 PM

Yeah I remember hearing that SOTC's "SuperLow" LOD was a 2D image. Trespasser also did that, but only for trees and props, not for terrain objects. Trespasser being basically a heightmap with dinosaurs dropped in

by 01HNNWZ0MV43FF

3/28/2026 at 4:36:53 PM

Even modern games replace distant geometry with billboards. Simplygon is one middleware that does this. The Remedy folks talked about how Alan Wake 2 used it at GDC last year or the year before.

by dcrazy

3/28/2026 at 3:52:33 PM

Hey! It also had a barely working physics engine.

Then again the dinosaurs were physics entities, so maybe you already mentioned it. :)

by estebank

3/28/2026 at 2:15:21 PM

The first comment:

> "The N64 is very memory bound"

> Aren't we all these days?

by amelius

3/28/2026 at 2:48:53 PM

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.

by TomatoCo

3/28/2026 at 8:49:47 PM

Magicore Anomala seems to actually be a sideview non-scrolling bullet hell game for the Amiga, which came out in 1985. Teen me owned one of the first Amigas in my city and the in-progress videos I can find of Magicore don't feel too out of place with the games I was seeing on it by the early nineties. It's moving around a couple of sprites and rendering a single-bitplane image of projectiles, and has some basic copper list tricks to get a 3-plane background image to have more than eight colors, which was pretty normal for the Amiga.

Here's a dissection of the title screen of Shadow Of The Beast (1989), for instance: https://codetapper.com/amiga/sprite-tricks/shadow-of-the-bea... - you can find a ton of video of this game very easily, go have a look.

Magicore is generally a bit zippier than most Amiga games, so many of them were kind of chunky and sluggish when I look back at them. Also the dev notes on using modern compression schemes that use what would be apocalyptic amounts of RAM and CPU by 1990 standards to crunch the data are amusing, but it's not like 1990 me wasn't used to chilling out for a few minutes between levels for a disc load, it was still worlds faster than the horrible load times of the C64 that was my first computer.

by egypturnash

3/28/2026 at 6:48:05 PM

You know that 1985 was when 50-year-olds were starting high school right?

by ErroneousBosh

3/29/2026 at 12:02:39 AM

I think he meant: “How people at the time would have reacted.”

by christophilus

3/29/2026 at 3:02:38 AM

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

by MegaDeKay

3/29/2026 at 2:53:02 PM

I'm gutted he stopped releasing videos - I've watched all his stuff and check back now and again to see if he's been tempted to post something new...

by ljf

3/29/2026 at 12:33:01 AM

That is awesome! Imagine having that in the 90s. Would have blown peoples' minds.

by Hekkova

3/29/2026 at 1:12:52 AM

My inner 12 year old is losing it.

by DarthCeltic85

3/29/2026 at 11:29:55 AM

Nice telescope

by dmead

3/28/2026 at 1:49:14 PM

Somewhat annoyingly, the actual homebrew z64 seems to crash both of the N64 cores that RetroArch supports. :(

by AdmiralAsshat

3/28/2026 at 4:30:18 PM

It might be because he is not using nintendo's sdk anymore, particularly the "microcode" for RSP "coprocessor". Most N64 emulators usually do not emulate RSP properly, but detect which specific nintendo's microcode is used and then emulate it's behavior.

by x0re4x

3/28/2026 at 2:08:12 PM

At the end of the video he says it needs real hardware or a "highly accurate emulator like Ares".

by b00ty4breakfast

3/28/2026 at 9:55:21 PM

Does anyone know what it means for something to be a "multi-core emulator" like Ares is? Like, is there some underlying benefit to developing emulators for multiple systems under the same name? Is there some shared code or what?

by my-next-account

3/28/2026 at 5:45:03 PM

That means they are not accurate cores since it works fine on real hardware.

by Narishma

3/28/2026 at 7:51:05 PM

Correct, both of them are really really old, accuracy wise. N64 emulation has improved a lot in the past 4-5 years, but old emulators haven’t caught up

by giovannibajo1

3/29/2026 at 1:44:55 PM

N64 is (still) poorly understood.

Traditionally, emulators relied heavily on HLE. Low-level efforts are recent and not mature.

The miSTer core for N64 (and ModRetro's M64 core effort by the same person) and Ares N64 support are the only two serious efforts I am aware of. They tend to share compatibility issues, and advance together when understanding of the platform grows.

by snvzz

3/29/2026 at 4:20:23 PM

(I maintain the Ares N64 core)

Obviously this is just a personal judgment, but I believe N64 is currently understood at quite a good level. Most of the docs are on https://n64brew.dev/. Low level efforts are recent for sure, though I'm not sure I would rate them as "not mature". Ares is able to run most of the library (including 64DD) and all the homebrew library with zero per-game configurations or tweaks.

by giovannibajo1

3/29/2026 at 11:26:50 PM

The standards I applied are not some subjective "good level" but bsnes-level. The way Near intended.

The one game I am aware of and keep checking is "Wonder Project J2 - Koruro no Mori no Jozet".

Broken in both Ares and the miSTer core. AIUI nobody knows why it does not work yet, which shows gaps in the understanding of the machine. Otherwise not an issue for me, as I can run it on the actual hardware, which I own.

Note that, in no small way, I do appreciate the efforts. The state of the art of N64 emulation is much better now than just a few years ago. But it sure is not there yet.

by snvzz

3/28/2026 at 10:59:45 PM

Don't use retroarch, his project lead is a terrible person who leeches off from donations without repassing to the core contributors that does the actual work.

Use decent emulators that are actually accurate.

by flykespice

3/28/2026 at 2:26:31 PM

This is awesome!

by ill_ion

3/28/2026 at 5:52:56 PM

[dead]

by ryguz

3/29/2026 at 10:27:07 AM

[flagged]

by nguyendinhdoan

3/28/2026 at 5:47:07 PM

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.

by kennywinker