Edit: It’s released! check it out! https://leoburke.itch.io/auto-museum-64
Ok so a few years back I searched for ways to extract models from N64 games, I don’t remember how I stumbled upon it but the method is to use a special graphics plugin for Project 64 which dumps the visual memory of the N64 to a file on your computer as a .wrl file, import that into Blender to fix all the UV Mapping issues, and from there into your game engine of choice.
The problem is that since N64 games use all kinds of tricks like mirrored textures and alpha textures to do a lot of detailing, importing these models into the real world requires a lot of work. And I mean a FUCK ton of work in some cases. It wasn’t until a week or so ago when I got tired of the (4 years now!) side project I was making no progress on, and wanted to give myself a week off and try something else. I decided to give this a shot again and see how difficult a proposition this would be.
I am a big fan of racing games, and the N64 era was kind of the golden era for original car designs because 3D technology had matured enough, game teams were relatively small and could be creative with game designs. So basically the idea is to credit the original modelers and artists behind the cars, and bring all of those into one virtual space. Cars are also a little easier to rip because car selection screens only have one thing in them (the car). I was inspired by the Zium Museum, a virtual museum that other artists contributed to https://theziumsociety.itch.io/the-zium-museum .
Since I have an xbox with a complete (ish) n64 romset, I hooked my computer up to it’s FTP server (yes, the xbox has an ftp server, which you can use to load/unload content), and took a bunch of racing games off of it. I then started going through the games to see how viable ripping/fixing the geometry would be.
One of the first sets I did was Rush 2, the sequel to SF Rush. It has a lot of neat models based off late 90’s sports cars. and happily the textures were correctly mapped in the scene and I didn’t have to do much work.
The same was true for Ridge Racer 64, the first model I tried to rip. The textures required some adjusting but it was simple enough to fix.
However at the time the import process I was using was to save the .Blend file to the Unity solution folder and have Unity import the model. N64 models seem to be able to have separate texture files per model and not just one big texture atlas, and this meant that each model had like 20-30 materials on each one, and I’d have to find the correct texture for the material. This meant each car would take roughly 30 minutes to import. I did get faster because I figured out how to package textures in with an FBX, and exporting from Blender, which saved a fuck ton of time. But at this initial stage it was incredibly fucking tedious.
I also started to learn about how N64 models were built and how textures worked per game. For Fzero X, there are like 4 textures per vehicle, each one is 16×16 or so, and they are all colored in memory after the fact. This, however, was too much work for me to try and fix and basically meant I’d have to remake all the textures from scratch.
I also learned that many games from the era had a separate copy of the geo just for specular finish, and would project the model onto a small shimmer texture as it rotated to give it a shiny surface.
One of the more difficult cars to rip was from Beetle Adventure Racing. I love this game. The track design is incredible and the game has so much character, in addition to the Beetles in the game looking fantastic. The car selection screen is a massive scene that the camera rotates in
But to my dismay the game apparently all the textures are colored in later? I’m not sure how it works, but all the textures in memory are black and white
Worse yet is the game makes liberal use of texture flipping, alpha texture masking for the headlights/taillights/logo, and texture coloring. So in order to rip this I have to edit the textures to be mirrored. remap a bunch of UVs that got scrambled, and also recolor all the textures (after importing I realized I could have done this in the material, arg!)
Days later after I got much better with blender and UV mapping I did manage to get One car in, after hours of work.
Some games that were much easier: GT 64: championship edition. This game has a lot of great models from the late 90’s Super GT series, including some Supras, NSXes, and this Porsche-a-like
One game that really drove the project was AeroGuage, a kind of forgotten N64 future racing game. The vehicles are these fantastic flying machines straight out of an anime. So I really wanted to get at least a few in
As I was ripping some of the models, i started to notice that unused texture areas contained…Smiley faces?
Yep that’s a bunch of smiley faces, hidden from view since 1997 that the developer snuck in. But In another ship I’d make another kind of discovery
Yes that’s actual writing inside an unused section of a texture! Google translate and a friend of mine both concluded it read “うれますように” which translates to “May You Be Happy” That might be wrong, IDK, there’s only a few pixels per character and I don’t know any Japanese. There I was at 1am, looking over N64 models when someone sends me a message across time and space for me to stumble upon. I ended up making a new page for the game on TCRF to document it https://tcrf.net/AeroGauge
Hidden message aside: I ripped the entire rest of the models, even though it was a lot of work, and even though I didn’t really need to. All the ships are just so distinct and good looking.
At this point I’ve become versed enough in the ripping process that cars take like 10 minutes instead of an hour. I can go from a scrambled textured car from V Rally here
To an almost as good finished product here
It’s been interesting looking at the designs of cars. Extreme G is one example. All the cars took a lot more work and so I ended up doing only 4. But can you imagine a mainstream game coming out with a design this radical? A combination of Tron’s lightcycles and some organic shapes with bold colors
If a car is an absolute pain in the ass to fix I’ll only do one for the game. The worst thus far has been Roadsters. Each model is a mix of flipped/mirrored/masked textures, colored polygons, and like 5 copies of geometry layered on top of one another. I spent hours on this Toyota model and I still couldn’t get it right.
Easiest has been the Midway games like Rush 2/ Rush 2049, and California speed. almost no work for any of them. That’s partially due to them not using hardly any texture tricks, but it makes my life easier!
This process has taught me a lot about how N64 games were made, I really wish I could find someone who worked on a game as a graphics programmer because I have a lot of questions! It’s also taught me about curation (what to save and what not) because I don’t want this to take forever, and restoration (how much of a model can be fixed vs how accurate that fix is).
I still have a few games to go before I’m finished. I plan to have a Future Cars exhibit, a “Real world racing” game exhibit, a sort of catch all “Arcade racers” exhibit, and if I have the energy a “secret car” section and a section on how I ripped the models.
With my “future cars” set done, you can really see what people in the late 90’s thought the future would look like. Bold colors, bold shapes, different kinds of locomotion and traversal. Lots of Purple. There is a certain level of optimism in these designs, i feel like. You can also see a regional cross section of styles, with Wipeout being Western Europe, Aerogauge being Japan, and Rush/Extreme G being North America.
I’ll probably post a lil more here but I’m almost done with it, I also have to make the museum space which is going to be challenging. I timeboxed it to being 1 week long, but now I’m at 2 and probably 1 extra one to go to tie everything together. lol.