.3dx file from 1992! Help needed for 3d model archaeology :D

Hi Jeremy,
Sadly i can only find the documentation, and the repository on sourceforge only has code pertaining to the docs. Any idea of where can I find these open source tools that are “Strike Eagle Eye”?

Well if you follow the links it just takes you to the repository that has nothing beyond that reference, looks like the project went nowhere.

While this is kind of an interesting investigation, what’s the purpose? It’s a model from a game from 1992, it’s going to contain approximately 12 polygons.

1 Like

perhaps!

The purpose is sentimental. Flying this thing as a kid inspired me to study aerospace engineering. It truly is 30 kilobytes worth of vertices. They’re there, in this variable length, NUL-terminated ASCIIZ file.
Also, I’m building a flight mechanically accurate model of the F-15C Eagle. It would be funny if one of the options would be to fly an accurate physics, 1992 graphics plane in Microsoft Flight Simulator 2020.

If you explore the site, you will find that it says the documentation is all there is to see so far (this obviously dates from a golden age of software development when documentation preceded coding).

However, the .3dx files are supplied as part of the game and the documentation describes their format to allow a tool to read the files to be made. If the documentation is accurate then there appears to be sufficient information for you to write a program to read the file, from which you could produce lists of vertices etc to inform the creation of a new mesh model.

It would be an interesting, albeit time-consuming, exercise. How strong is the sentiment?

2 Likes

This situation reminds me of an article I recently read in “The Atlantic”, “The Internet is Rotting”. That’s why I’m sticking with papyrus.

3 Likes

@jeremy5 you are exactly right !!! :slight_smile: Sentiment is enduring and moderate strength. Strong enough to fish out some vertices from a binary file! Can be done! Will start out with a simple model from the MK84 weapon, just to do the easiest possible program, then move to the full F-15.

You guys are awesome, thank you so much for pointing me towards this information. It’s really quite incredible that I could find this file specification which is all I need to interpret the binary (and the data is in binary lol, data is just plonked into bits sitting next to each other, file spec just tells you what bits mean what. It’s kind of cool

1 Like

Very interesting!!!
I think since copying data is relatively cheap, and thanks to future facing legislation like the GDPR, we’ll be able to move out from walled gardens and avoid losing most meaningful stuff.
I think the internet will decentralize again.
To be fair it was a tall frickin’ order for me to try to rescue this model from father time :smiley:

Hi Henry,

I thought this looked interesting so I had a go at importing the geometry. The file you attached has 9x models embedded within it. I’ve ‘manually’ (with some help from GH) extracted the first one. I’ll clean up the GH and post it later.

In the meantime, have a look at the attached model, which is the front of a plane. There are some issues with the import since the file doesn’t appear to have the vertices listed in the correct order. Probably simple enough to fix the quads, but the model also has faces with up to 15 vertices. For now, i’ve just dumped these as polylines. Colours would be possible too, however, the VGA pallet is in a separate file for the game and the material attributes aren’t well documented in the link posted above.

Cheers,
Steven

210809 Fighter Model v01.3dm (84.0 KB)

1 Like

Ok, this was a deep rabbit hole! :crazy_face:
Figured out how to get all the geometry in properly now, the file includes high, med, low res of the F15 as well as a 2D version and a model of the interior of the cockpit.
The “high res” version has a glorious 455 mesh faces! The red parts are ones the the game uses conditionally under different circumstances.
Steven

210815 Fighter Model v02.3dm (690.2 KB)


4 Likes

I am losing my mind. This is so exciting. I owe you not one but a dozen beers. This is proper digital archaeology!!! I have no words.
I can try to look for the VGA pallet!
It’s so interesting how it looks even cooler in that form that you posted. It’s like a piece of art, a Radiohead album cover. This is so exciting.
Not sure how i can return the awesomeness but if you ever need any expert knowledge on machine learning stuff let me know :slight_smile:

1 Like

I have no words. This is so incredibly cool. I know it sounds stupid but this is quite meaningful to me! I fly in VR these days which gives you the feeling that you actually own a real aircraft. I think it’s the stereoscopic vision, the fact that you feel the size of the plane in real terms and that you feel like you’re sitting in it. It’s going to be hilarious and inspiring to jump into the cockpit of this thing in VR and have it in my hangar. Thank you so much!!
Edit: Apparently I do have words.

Hi Henry,
happy to help! I really enjoyed digging through this old file format and figuring out what it all meant.
If you’ve got the data files from the game (DS0.DAT, KO0.DAT, or PA0.DAT) send them through and I’d love to try extracting the VGA palette and apply the proper colours to the model.
Steven

1 Like

Found an old copy of the game online and got the color palette out. That’s all I have time for now; will apply them to the model when I get a chance.
Steven

1 Like

that is absolutely fascinating!! sorry i’ve been returning from vacation and haven’t checked my email! i see you found a copy of the game, let me know if there’s any other files or info missing and i’ll try to find it! this is exciting :slight_smile:

Interestingly, there’s a different colour palette for each of the campaigns (iraq, korea, panama). As far as the plane is concerned, it looks like korea and panama are the same, but you’ll have 2 colour-schemes to choose from.

Still a bit of work to do this properly (including transparency and the conditional elements like wheels, guns etc) but here’s a teaser:

3 Likes

That’s my eagle!!! That’s how it looked (except massively pixelated, it looks much nicer like this of ocurse :smiley: ) Wow. I can’t believe how cool they look, still to this day in 2021, even after flying endless hours of realistic flight sim. I can’t wait to fly this somehow, I suppose in MSFS (althought it would be hilarious to have it in DCS too, but I expect the API for that to be less developer friendly)

I think it should live in MSFS :slight_smile:

This feels like real archaeology!

Great work @Steven. I had also started working on this, but got sidetracked with work. Very cool to see the progress.

Are you going to publish your code somewhere?

Ok @henry_j, here are the coloured versions of the models, enjoy!
210919 Fighter Model v03.3dm (994.8 KB)

A couple of things to note:

  • Rhino doesn’t show transparency on meshes so you’ll have to create your own material for the cockpit glass based on your preference. I found setting them to about 90% transparency looked pretty good.
  • Given the model is ancient, it includes two copies of most polygons, one facing in each direction. To emulate this in Rhino, go into the display mode settings and change “Backface settings” to “Cull backfaces”
  • There are some white polygons on the bottom of the model. I assume the game would treat these in a special way, so you might like to delete them.
  • Judging by some screenshots, the game welds the mesh to make it appear smoother; you could do this in Rhino by joining groups of polygons together and running the weld command on them.
  • There are often polygons sitting on exactly the same plane (mathematical plane) and the game would’ve used its render sequence tree to draw them in the correct order. Rhino has no such mechanism, so they flicker as you orbit the model. You could move them a fraction of a mm to prevent this from happening.

@nathanletwory yep, i’ll post the code in the next few days. It’s a series of C# components in grasshopper and to be honest, they are pretty hacky and unreadable: monolithic blocks of if/else statements and nested loops is my ‘style’ :smiley:

2 Likes

Also came across this little guy… :wink:

1 Like

AAAAAH ITS THE GODZILLA EASTER EGG!!! I EMAILED MICROPROSE ASKING THEM FOR IT TOO, I CAN"T BELIEVE HE IS STILL ALIVE, LOOKING HEALTHY TOO!!!

Steven I owe you an unhealthy number of beers. You are the Indiana Jones of digital archaeology. Fortune and glory.