On April 16th of this year, [Kevin Bentley] released the source code to the Sci-Fi FPS game Descent 3. Originally released in 1999 for Windows, the game has you control a flying ship which you have to guide through both in- and outdoor environments, while shooting at robots that have been infected with an alien virus as you try to save the solar system. It was later also ported to Mac OS and Linux, but was considered a commercial flop due to low sales.
As one of the original developers, [Kevin] explains that one of the goals of this code release is to give the game a second life, by cleaning up the C++ code and using new APIs. Original proprietary audio and video libraries from Interplay were removed, which means that some work is required before one can build a fresh copy of the game from this code base. That said, the released code is the latest 1.5 patch level, with the Mac OS and Linux support. Even if the original Descent games weren’t your cup of tea, it’s still great to see games being preserved and updated like this.
Thanks to [Phil Ashby] for the tip.
Freespace 2, closely related to the Descent series, also had its code open-sourced, and it has a healthy community around it, continuously improving the engine.
https://wiki.hard-light.net/index.php/Source_Code_Project_index
excellent game community, still active last i checked. used to be a modder. i have also contributed code to the engine.
Now I can build a vertigo-generator.
I enjoyed playing all 3 Descent games – especially on my 3Dfx Voodoo 2 equipped Mac
200 MHz Pentium with 2 mb Matrox MGA Millennium, and 2 Voodoo 2 (one of which was my very first eBay purchase when I was about 11 years old.
Descent 2 on VFX-1 VR headset. 1 GHz AMD-A7(IIRC, best avail at time with EISA slot), VooDoo-Rush card (VESA feature connector needed).
Was the single most insta-puke VR game adaption ever.
Every VR game programmer should attempt to play, once.
This is one way _not_ to do VR.
When VR was first restarting there was a company building a VR descent. I asked if any of them had played Descent2 on VFX-1? Nobody ever answered. I don’t think they made market. If they did, not a ripple left.
I was looking at liminal spaces earlier today and thought of this game. So I searched it, and found out about this news. Good stuff.
I wish the source for the old Mechwarrior games would be released.
And while I’m wishing, it would be great if various defunct MMOs could go open source.
Mechwarrior is owned by Microsoft now, so it’s very unlikely. Source code of defunct MMOs are almost certainly lost to time and even if it’s not the server code is what is important and there is zero chance of that being released.
ms owns the ip, i dont think they own the source to the mechwarrior 2/3 games. mechwarrior 4 had the mektek release which was heavily modded, but no code (i dont think you can get it any more, but at one point you could legally download the whole thing for free). mwo is still being maintained (sort of) and mw5 is still releasing dlc.
MS has open sourced *some* stuff. They’re definitely not above playing at being benevolent overlord, especially when there isn’t a way to profit from something otherwise.
I’m not holding my breath, just saying it’s not impossible, assuming the code hasn’t been lost.
Microsoft are so big, that different departments can work at cross purposes to each other. Parts of MS promote open source, other parts hate it, it all comes down to which department is in charge of something.
The Mechcommander 2 source code was released by Microsoft quite a while ago, although I believe they have since taken it down. The package they provided has been re-hosted on other sites, though. As in this case described in this article, certain media assets are stripped but the code is available.
I would call it a 6DOF combat game rather than an FPS…
its an fps is the most general sense only. its first person and it is a shooter. but calling it a 6dof removes any uncertainty. humans suck at categorizing things. i like the term “quaternion with a gun”, but that applies to most 3d games.
of course is ksp a 6dof? no? it has 6dof controls. gamers suck at categorizing things.
Oh boy, just like Forsaken!
Imagine playing this in VR for the ultimate stomach churning experience
I guarantee that will happen now!
There’s nor real reason to imagine.
There’s https://www.playoverload.com/ from the creators of Descent with native VR support.
And D2X-XL, which is basically a modern engine for D1 & D2, has “stereoscopic rendering including Oculus Rift support”.
ups, forgot the link https://www.descent2.de/d2x.html
@HaD – actually kinda surprised D2X-XL never made into a HaD article…
Is it the rendering algorithm that makes a gaming engine ‘modern’ or is it that it uses the latest development tool environment geegaws that makes it ‘modern’?
Genuinely curious.
wikipedia: Modern game- or graphics-engines generally provide a scene graph—an object-oriented representation of the 3D game-world which often simplifies game design and can be used for more efficient rendering of vast virtual worlds.[citation needed]
its not a rent an engine game, it uses an in house engine. this comes from a time when game companies wrote their own code. unfortunately it also comes from a time when glide support was a thing. rent an engine also makes source code releases a legal minefield.
Dunno – but AFAIK or remember the developer(s) pretty much re-coded the whole original source code with so many improvements/fixes and what not that I just called it “modern”.
see https://www.descent2.de/d2x-about.html
and https://www.descent2.de/worklog.html
you can get overload off of steam, its a spiritual successor to descent and has vr support. it will give you the most modern possible 6dof experience.
Works beautifully on a Steam deck!
As a matter of fact, the original 1995 release of Descent had native VR support. That would have been an interesting (and expensive!) experience with the technology of the day, no doubt.
Awesome, I love seeing old games get new life by being open sourced.
What always amazes me is just how *small* the source is for the games from the 80s and 90s etc, the gameplay is usually great (with notable exceptions of course) and the graphics were pretty amazing for the limitations of the hardware of the time.
So what benefit other than “pretty” do we actually get for the terabytes of data used by games now?
I recall there was a dedicated “3D” controller for Descent, but cannot find any traces of it. Anyone recalls that?
the space orb. its pretty much the same mechanism you find in a cad controller. i have tried a space mouse in overload but i went back to my hotas. too much cross talk between axes, where as my ch controllers have pretty good axis isolation. it does work as a docking controller in classic ksp though.
No that’s not it. There was no orb rather a beveled knob you could rotate, push and pinch.
Found it! It was CyberMan2 from Logitech. :)
Before Cyberman 2 there was the original Cyberman. These weren’t specifically for Descent, but that was the one game that seemed to support them best. The original Cyberman was a serial device and I believe would function as a standard mouse with software that didn’t have specific support for 6DOF.
https://wiki.preterhuman.net/Logitech_CyberMan_2 – there’s Descent marked on the box too.
The entire Descent series of games was awsome. I played it extensively during the 90s, and I still sometimes play with D3 (works very well under Win7). It must be recognized that the 6DoF game system was extraordinary but also a repellent for many gamers, even those accustomed to classic FPS games. Appart from the initial 6DoF control difficulty, it gave many people a feeling of claustrophobia and dizziness, especially D1 & D2 whose gameplay took place in a closed environment. And then the graphic resolution of the time was tiring on the eyes. D3, with its quality of graphics, sound and overall gameplay, had levels in an open environment but this was unfortunately not enough to ensure its commercial success.
I also played another 6DoF game: Forsaken. Visually superb but the gameplay was a little less good.
Overall, the 6DoF control system made the Descent series a very particular, innovative type of game, especially when comparing them to the classic FPS which are – in my humble opinion – only improved Doom games (except Ghost Recon !).
Personally, I find the high-res fast-paced FPS games a lot more tiring on the eyes during fast movement…too busy, too much detail. The old FPS games (up to 800×600, and 1024×768 in a squeeze) were just right. High-res works well for adventure and RPG games.
D1 & 2 I’ve played a lot (early 90’s)…never D3 (switched to Delta Force at the time), so hopefully soon I can give it a go (linux only of course).
My 6DoF controls from D1 had such an impact on me that I ended up using that same layout Quake & Unreal Tournament! I agree, it’s an acquired taste however once you get used to it, there’s no going back.
This is the best news I’ve read all week.
hey cool. maybe now they can make it look better than forsaken. if you want something modern try overload.
wonder why they waited this long to release it. especially when its sister company volition has had its freespace source out for some time now and both previous descent games as well (when they were still parallax). but i guess better late than never.
There is a thread over on Hacker News about it, which is where it was announced. Here’s Kevin Bentley’s explanation, from here: https://news.ycombinator.com/item?id=40051657
“I’ve had the code all this time, and about 15 years ago(!!!) we were working on a fix for some bugs that had been around a while. At the time, there was talk about releasing the code, but we wanted to get a patch out and find a replacement for the MVE decoder first. I sent an email to the owner a few days ago (after a comment on a different post here) asking if we can just go ahead and strip the code we can’t release, and he said “go for it”.”
i think freespace had the mve problem solved. it was propretary interplay code that most interplay published games used for their cutscenes. freespace had this problem where the mve code was stripped out. they initially screen capped the cut scenes and re-encoded them in a more open format, but later on they were able to use the mve files natively. so worst case scenario is you lift the reverse engineered mve code from the freespace engine.
Guess I can’t put off building those 6DoF controllers that pop up on here from time to time.
I am going to waste so much time…
I was just thinking about that. I bet there are old digital scales knocking around here somewhere, and I’ve got an RPi Pico…
Descent 1 was my love at first sight! I played it for hundreds of hours if not thousands! I carried my keyboard control layout to other games like Unreal Tournament for the 3D control. I think all the 3 Descents were great game for that time, the graphics was great and mostly – gameplay was awesome!
I still remember playing Descent 1 over my 14.4 kbps modem with my friend. I backed the Descent Underground Kickstarter project too. The game wasn’t bad, I’d say a pretty good modern version of the game. Just that I never got enough time to enjoy it.
I’d love to see someone make take this code and marry the gameplay with the latest Unreal engine.
have you played the raytraced version of dx1 yet?
I had no idea about it’s existence! Thank you for mentioning it :)
I remember playing the original Descent with 3D Glasses. It had the best implementation of 3D I had ever played. It supported multiple different 3D glasses and 3D methodologies. I believe Descent 2 & 3 still supported 3D glasses, as well.
I loved playing the first two. Didn’t fly the third. Enjoyed them enough to become the art director for a reboot, Descent: Underground. Our little studio was heading towards release when our sketchy publisher claimed we were far from complete and stopped paying us. A long lawsuit later and the studio head had to pay us for our troubles.
Got it in early release on Steam. Would have much rather had our game on the street, though.
And, yes, we supported VR. Talk about vomit-inducing!
In terms of the missing codecs and things, maybe FFMPEG has a decoder for those formats that could be used as a replacement.