TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Descent 3 Source Code

1255 pointsby kevin42about 1 year ago
Someone recently asked if the source code from Descent 3 will be released. I reached out to my old boss (Matt Toschlog) at Outrage Entertainment and he gave me the go ahead. I'm going to work on getting this running again and I'm looking for some co-maintainers.

52 comments

shermantanktopabout 1 year ago
I loved loved loved this game. Never understood why this concept didn’t become a whole genre. No actual up, 360 degree freedom, enemies that were smart and could snipe you. Wasted many hours back then and very eager to try this out.
评论 #40048358 未加载
评论 #40049382 未加载
评论 #40048866 未加载
评论 #40049020 未加载
评论 #40050347 未加载
评论 #40048417 未加载
评论 #40049666 未加载
评论 #40049240 未加载
评论 #40055611 未加载
评论 #40051378 未加载
评论 #40054758 未加载
评论 #40051407 未加载
评论 #40048427 未加载
评论 #40049348 未加载
评论 #40050830 未加载
评论 #40048368 未加载
评论 #40055555 未加载
评论 #40048647 未加载
评论 #40063640 未加载
评论 #40063178 未加载
评论 #40050656 未加载
评论 #40049211 未加载
lotharbotabout 1 year ago
My wife and I met on a Descent forum, our 3 sons are named for Descent friends (KoolBear, Jediluke, and Mark392), and we've attended weddings (and sadly one funeral, RIP JinX) for Descent friends. Even though I considered D3 the weakest of the Descent games, this news makes me happy. Thank you, Kevin!
评论 #40054898 未加载
评论 #40053705 未加载
评论 #40106532 未加载
评论 #40053658 未加载
dcanelhasabout 1 year ago
As a 12 yo I learned about IRC from reading the Descent FAQ and tried setting up IHHD to play over a 14,4k modem. I made levels in DEVIL. Today I'm an engineer and game developer. Thanks for putting Descent out into the world. It had a huge impact on me personally.
评论 #40049913 未加载
ruxabout 1 year ago
Descent's control system is for me what cemented the "invert Y axis" on the mouse for controlling first person gaming forevermore. My brain absolutely clicked with the 6DoF mindset, but it has meant that all FPS games from that point on had to conform to it, even if the game wasn't in any way flying-based.
评论 #40051179 未加载
评论 #40051000 未加载
评论 #40051529 未加载
评论 #40053983 未加载
评论 #40052332 未加载
评论 #40060015 未加载
评论 #40051794 未加载
评论 #40054386 未加载
评论 #40053245 未加载
评论 #40051996 未加载
cloudmikeabout 1 year ago
Some friends of mine played Descent competitively, and I was amazed to learn about so-called trichording: to maximize your speed, you need to press multiple keys at the same time to travel along all 3 axes at once, e.g. forward&#x2F;right&#x2F;up. The best players zip around the map diagonally.<p>I always assumed this was a bug-turned-feature, like skiing in Tribes. When I saw the repo just now, I looked for clues, but didn&#x27;t spot any related comments around the line of code where this ultimately happens:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;kevinbentley&#x2F;Descent3&#x2F;blob&#x2F;142052a67d4318c09a135ad3e1c7d94d95eff680&#x2F;Descent3&#x2F;object.cpp#L2583">https:&#x2F;&#x2F;github.com&#x2F;kevinbentley&#x2F;Descent3&#x2F;blob&#x2F;142052a67d4318...</a>
评论 #40054636 未加载
评论 #40055167 未加载
评论 #40054116 未加载
评论 #40055184 未加载
评论 #40054249 未加载
Lammyabout 1 year ago
&gt; Someone recently asked if the source code from Descent 3 will be released.<p>For reference: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=40009248">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=40009248</a><p>Very cool — thank you!
account42about 1 year ago
&gt; Some proprietary sound and video libraries from Interplay have been stripped out (the ACM and MVE format). I have that code if someone wants to help make a converter so the old cutscenes work. It&#x27;ll take some effort to stub out that code so it compiles.<p>FWIW, FFMPEG seems to support these formats.
hd4about 1 year ago
What did it take behind the scenes to get this approved? Can you go into some of the decision-making? This is nice but a far too rare event these days.
评论 #40051657 未加载
MaximilianEmelabout 1 year ago
Found this gem on the Wikipedia page[0]:<p>&gt; A study published in 2002 used Descent 3 to study hawkmoth flight activities. Using the game&#x27;s editing module, the researchers created a virtual environment consisting of a flat plane with rectangular pillars, across which the animal successfully navigated.<p>[0] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Descent_3#Other_uses" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Descent_3#Other_uses</a>
评论 #40050307 未加载
readyplayernullabout 1 year ago
I heard many people loved Descent and it looked great to me, it even seemed like a mix between X-Wing and Quake... but I couldn&#x27;t play it for more than a few minutes, probably the first game in my long career as player that I dropped that quickly. There is something unnerving about it, it&#x27;s like playing with magnets while wearing boxing gloves. Even watching gameplay videos I get the same sensation.
throwup238about 1 year ago
If this was Interplay, any chance someone might have Hardwar&#x27;s [1] source code?<p>Total long shot, but I thought I&#x27;d ask.<p>[1] <a href="https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Hardwar_(video_game)" rel="nofollow">https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Hardwar_(video_game)</a>
评论 #40048324 未加载
评论 #40048642 未加载
winridabout 1 year ago
Nice! I sent this to the guy that helped me convert NetPanzer (20+yo code base) from SCons to Meson and he also took the time to setup GH actions etc. Hopefully you get some help!
mvkelabout 1 year ago
I love the &quot;version control&quot; being comments at the top of the file with a timestamp.<p>Simpler times!<p>What a ton of work building a game is.
评论 #40048443 未加载
评论 #40048436 未加载
oflannabhraabout 1 year ago
The Descent series was my gateway to the Internet, and really paralleled my coming of age.<p>I played D1 dialing up my friends when I was 10, which was amazing. I swapped numbers with some folks on the local BBS and played 1-on-1 deathmatches. My brother installed DEVIL, and I learned how to launch things from DOS, interact with a CLI and filesystem, and of course make my own levels.<p>We got Internet service and then D2 multiplayer, facilitated by Kali&#x2F;Kahn for match-making completely blew my mind. I think I was 12 or 13, and discovering things like IRC and webpages describing advanced techniques like chording were hugely eye-opening for how big the world was. Making friends on ICQ, and discovering warez was like living in a sci-if novel. I also got into building and upgrading PCs to be able to play at higher resolutions and frame rates.<p>Descent 3 was a huge step forward graphically, and brought about sniping with the mass driver. It had worldwide rankings, and making the top 100 leaderboard as a 16 year old still ranks as one of my most mind-blowing moments. It was the first time I had high speed internet, and really ushered in the modern era of gaming for me.<p>Thank you for this. I’ve since moved on in my life (obviously), but it is amazing to have spent some moments today reflecting on all this. I doubt I would be a child of the internet or a software engineer today without Descent.
codewizabout 1 year ago
Gameplay: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=iDGbsbdDC5o&amp;list=PLiEu3n9ms7iTuCU23sjg0vkEDaZZjy0bw" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=iDGbsbdDC5o&amp;list=PLiEu3n9ms7...</a>
stevageabout 1 year ago
I could never get into Descent. I liked the flying around in 3D bit, but the fact that the levels were truly 3D (ie, didn&#x27;t have a ground and up&#x2F;down) meant I was always getting disoriented and lost. I just didn&#x27;t enjoy that feeling.
评论 #40048710 未加载
pathartlabout 1 year ago
I&#x27;ve had a dream of buying the IP to some older, obscure PC games from this era and then releasing the source code. I hate how many games are getting lost to time.
jslutterabout 1 year ago
I think I have more changes beyond what you have. It&#x27;s been a long time though. If you want to email me I can get them to you to dig through. Funny to see this :)
lloekiabout 1 year ago
kevin42, you just made my day.<p>Back then I played the trailer over and over and over, waiting for the release... That line is carved deep and immediately pops up every time I think of Descent 3:<p>&gt; Now, after years of waiting, there is light at the end of the tunnel.<p>Just as fitting today as it was back then :D<p>EDIT: ha, an internets uploaded it. What a trailer that was...<p><a href="https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=IHFazkfmBE4" rel="nofollow">https:&#x2F;&#x2F;m.youtube.com&#x2F;watch?v=IHFazkfmBE4</a>
sshumakerabout 1 year ago
I had the pleasure of working closely with Jeff Slutter early in my career. Was the first really fantastic engineer I worked with - he’s at Santa Monica Studios (God of War) these days. I think Matt Toschlog is there too now. Glad to see these folks working on an awesome AAA franchise.
opanabout 1 year ago
<a href="https:&#x2F;&#x2F;github.com&#x2F;kevinbentley&#x2F;Descent3&#x2F;issues&#x2F;32">https:&#x2F;&#x2F;github.com&#x2F;kevinbentley&#x2F;Descent3&#x2F;issues&#x2F;32</a><p>&gt;It seems that commits prior to 6a7a141 were covered under the MIT license. It&#x27;s unclear why it was deleted (the commit message is only &quot;Delete&quot;).<p>Not currently free software &#x2F; open source for some reason, no LICENSE file at the moment. For those who were also wondering.
评论 #40066696 未加载
TheAmazingRaceabout 1 year ago
This game certainly brings back memories.<p>I think I prefer the more “internal” style levels from Descent 1 and 2 over the more open levels found in Descent 3.<p>To that end, I sense a huge opportunity. We could potentially port the D1 and D2 maps to run in Descent 3, as well as utilizing the newer graphics APIs the game supported. Could be a great opportunity for an all-in-one style remaster.
评论 #40062896 未加载
KingOfCodersabout 1 year ago
Fond memories of Descent. I bought a flightstick to play it.<p>Also Descent was the first game in the 1990s I&#x27;ve played with a VR headset.
评论 #40050952 未加载
johngabout 1 year ago
I played the original Descent over kali.net back in the day. Man, what great memories.
评论 #40049674 未加载
evan_conwayabout 1 year ago
This is awesome. I played the shareware demo version to death as a kid. Really looking forward to seeing where this goes.
XorNotabout 1 year ago
Ooh, time to take another crack at a level scripting language - AFAIK the original was ripped out right before release due to being too limited and replaced with just compiled C libraries.
评论 #40048388 未加载
评论 #40051520 未加载
LunicLynxabout 1 year ago
This is an awesome move, this should happen for many more old games.<p>Freelancer very much on top of my list &lt;3
shatnersbassoonabout 1 year ago
`TELETUBBIES = TeletubbiesCheat` Intriguing... what does this do?
评论 #40050889 未加载
johnnylambadaabout 1 year ago
Great! Brings back memories of descent 1 &amp; 2. I played d1 for hours over the early internet. My favorite level was Minerva and my arch enemy was named “upinya”. Amazing what the brain remembers from so long ago.
评论 #40048490 未加载
renewiltordabout 1 year ago
Haha wow! Freespace got me into real programming because I had to start with compiling the OpenChrome drivers and then had to edit the code to let it load textures (which were too big) onto the device. Never looked back.<p>Awesome.
theboogiemanabout 1 year ago
Thank you for releasing this! Many good memories of playing this as a kid.
flykespiceabout 1 year ago
Interesting the source code hints it uses C++, yet as far as I can tell, there is no use of classes anywhere.<p>I guess the team couldn&#x27;t spell &quot;C&quot; with &quot;classes&quot; &#x2F;j
pseudobryabout 1 year ago
Descent holds a special place for me, as it was the first game I ever saw played on a PC (I watched my dad play when I was five, ~30 years ago). I recently was able to reminisce by playing the modern successor, Overload: <a href="https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;448850&#x2F;Overload&#x2F;" rel="nofollow">https:&#x2F;&#x2F;store.steampowered.com&#x2F;app&#x2F;448850&#x2F;Overload&#x2F;</a>
cpuguy83about 1 year ago
Descent 3 had so many bugs on my graphics card... which I want to say was an ATI Rage. Consequently I played D2 more until we got our hands on a Voodoo3.<p>gabbagabbahey!
vsnfabout 1 year ago
Now lets see if someone can dredge up the Tribes 2 source code and we&#x27;ll have a perfect recreation of my summers in the computer labs.
评论 #40051837 未加载
评论 #40048336 未加载
评论 #40048357 未加载
评论 #40049386 未加载
评论 #40050168 未加载
disillusionedabout 1 year ago
This is fantastic. I was obsessed with Descent and played with my friend over our... 14.4 Kbps modems (along with Warcraft II). When Descent II came out, I would go to Best Buy to play it on a demo machine. I remember how amazed I was at the missilecam. That absolutely blew my mind.<p>I don&#x27;t think I ever really played 3, watching the trailer. But I _did_ make the jump to Volition&#x27;s Descent: Freespace. THAT game was the first one where I made the concerted effort to save up, as a 9th grader, for an NVidia Riva TNT after seeing my friend&#x27;s, and how awesome the particle rendering was in it. If only I just, you know, dumped a few hundred bucks into $NVDA at the time instead.<p>But man, these games were so great.
orthecreedenceabout 1 year ago
Oh man, used to play this sooo much. Single player and multi...what a wonderful game. This was back when Softice ruled the world so I&#x27;d have infinite health&#x2F;ammo in SP mode =]. I&#x27;d love to get this building. If I wasn&#x27;t crap at c++ I&#x27;d try to help.
DonHopkinsabout 1 year ago
I&#x27;m working on making an open source version of Yoot Tower (aka Sim Tower, The Tower II) that runs in the browser!<p><a href="https:&#x2F;&#x2F;github.com&#x2F;YootTowerManagement&#x2F;YootTower">https:&#x2F;&#x2F;github.com&#x2F;YootTowerManagement&#x2F;YootTower</a><p>What led to this being possible: There was recently a discussion about elevators on Hacker News, and somebody mentioned SimTower and asked about the algorithms it used, so I gave Yoot a call to ask him, and he mentioned he wanted to open source it. I enthusiastically agreed to help him, and contribute my efforts porting the code and navigating the licensing and trademark issues, benefiting from my experience developing the open source version of SimCity for the OLPC:<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39087437">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39087437</a><p>&gt;I know Yoot Saito (creator of SimTower) from my time at Maxis, so I just gave him a cold call out of the blue and asked. ;) I caught him drinking Jack Daniels in a Japanese bar, but he had some time to chat.<p>&gt;He said he once did a big interview with BBC about SimTower (which would be worth looking up and watching if you can find it), and had a friend who worked in the elevator industry, who told him generally about how elevators worked, but much of it was secret and proprietary, so he had to come up with how they worked in the game himself, based on the general ideas he learned and his own experience and imagination.<p>&gt;He also said he&#x27;s interested in releasing the original source code of SimTower as free open source software, like I did with the original SimCity Classic source code, so I volunteered to help him and find other people who could help. Anybody interested? ;)<p>Yoot recently sent me a huge code drop of the Windows sources as well as the Gameboy SP and DS versions and production documents, and I&#x27;m sorting it out and cleaning it up to make a version that compiles with emscripten and runs in the web browser. We&#x27;ve decided it release it under the MIT license, and develop a version that runs in the web browser using emscripten and SvelteKit. I&#x27;d appreciate hearing from people who are interested in helping out, especially people who know Japanese, since there is a lot of great content in The Tower II that was only released in Japan that needs translating to English and other languages.<p>I&#x27;ve also started the process of porting the Micropolis (open source SimCity) code to run in the web browser in the same way as Yoot Tower, since they are both from the same era (and from Maxis) and share a lot of technologies and requirements, so they will both be able to share much of the code and infrastructure (WebAssembly, emscripten, embind, SvelteKit, canvas, html, css, user interface code, github actions, etc), with the eventual goal of being able to embed multiple Yoot Towers in your Micropolis city!<p><a href="https:&#x2F;&#x2F;github.com&#x2F;SimHacker&#x2F;MicropolisCore">https:&#x2F;&#x2F;github.com&#x2F;SimHacker&#x2F;MicropolisCore</a><p>&gt;Open Source Micropolis, based on the original SimCity Classic from Maxis, by Will Wright.<p>&gt;MicropolisCore C++ Core<p>&gt;This is the source code for Micropolis (based on SimCity), released under GPL-3. Micropolis is based on the original SimCity from Electronic Arts &#x2F; Maxis, designed and written by Will Wright, and ported to Unix by Don Hopkins.<p>&gt;The origin of this repo is the &quot;MicropolisCore&quot; directory of the full micropolis repo, <a href="https:&#x2F;&#x2F;github.com&#x2F;SimHacker&#x2F;micropolis">https:&#x2F;&#x2F;github.com&#x2F;SimHacker&#x2F;micropolis</a> , but it&#x27;s been stripped down and simplified.<p>&gt;I am now in the process of converting it to build for WebAssembly with emscripten and bind to JavaScript with embind, and implementing a SvelteKit front-end.<p>Since I know the SimCity code well already and have ported it to many different platforms, and put years of effort into cleaning up the old code to be well organized C++ code with clean interfaces and doxygen documentation, it&#x27;s a great way to learn the new technologies, work out the approach, and prepare for porting SimTower the same way.<p>ChatGPT has been a huge help, especially analyzing the code and writing documentation and translating the Japanese comments, and now I&#x27;m using Aider for them both:<p>Aider: AI pair programming in your terminal (github.com&#x2F;paul-gauthier):<p><a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39995725">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=39995725</a><p>Here&#x27;s a code map for each source file that I made with ChatGPT that focuses on helping me get a high level view of the code, its dependencies, purposes of each file, and porting issues:<p><a href="https:&#x2F;&#x2F;github.com&#x2F;YootTowerManagement&#x2F;YootTower&#x2F;blob&#x2F;main&#x2F;YootTowerCodeMap.md">https:&#x2F;&#x2F;github.com&#x2F;YootTowerManagement&#x2F;YootTower&#x2F;blob&#x2F;main&#x2F;Y...</a><p>The Nintendo Gameboy SP and DS versions of Tower have a whole lot of proprietary Nintendo SDK code and also their precious proprietary content and characters like Mario, which we are certainly not able to release ourselves under the MIT license, so I&#x27;m working with the more generic Windows version instead. Yoot owns the rights to the source code to his own games, but we can&#x27;t just release stuff with Nintendo&#x27;s crowned jewels like Mario and their SDKs in it as open source.<p>We are being extremely careful not to infringe on anyone’s copyrights or trademarks, of course! Maxis got into a lot of trouble with Godzilla just because they had a big monster on the box but didn’t mention Godzilla by name (but a review in a magazine did, which was too much), and Maxis (now EA) own the SimTower trademark, so we’re calling it Yoot Tower. The Nintendo Gameboy and DS console ports of SimTower have a lot Nintendo content (like Mario), so we definitely don’t want to make Nintendo or EA mad by infringing on their trademarks or copyrights.<p>Jeff Braun (CEO of Maxis) told me the story of what happened decades ago with Maxis and Godzilla, so I want to be careful to avoid stomping on anybody’s property:<p>&gt;Maxis was sued by Toho. We never referred to the name Godzilla, our monster on the box cover was a T-Rex looking character, but... a few magazine reviews called the monster, Godzilla. That was all it took. Toho called it &quot;confusion in the marketplace&quot;. We paid $50k for Godzilla to go away. In all honesty, Toho liked Maxis, they said $50k was the minimum they take for Godzilla infringement. I doubt you will need to worry about Toho, as long as there are no magazine reviews that call the monster Godzilla.<p>I guess the lesson is to always make sure to give your monsters a unique name, and don’t leave that up to the user’s imagination.
评论 #40052927 未加载
评论 #40055232 未加载
评论 #40051077 未加载
deaddodoabout 1 year ago
This was one of my favorite games as a child. I&#x27;d love to hop on as a co-maintainer.
dvaunabout 1 year ago
Happen to have FreeSpace code? Or is that under lock and key still?
评论 #40048613 未加载
评论 #40049257 未加载
jakearmitageabout 1 year ago
Neat. Linux port incoming!<p>Thank you for this, kevin42. So many great games around the 2000s. If Tim Sweeney could open UE1, a lot of games could benefit from it like Quake being open sourced did.
评论 #40051676 未加载
jjulianoabout 1 year ago
I was thinking about Microsoft’s Terminal Velocity, and I miss that you can play the sountrack CD. Descend and TV are exactly the same, do they share the same codebase?
评论 #40055580 未加载
ryanmentorabout 1 year ago
Amazing!!!!!!! Thank you so much for making this happen!
arlattimoreabout 1 year ago
What an amazing game, I absolutely loved Descent!
taspeotisabout 1 year ago
As for other old games I&#x27;d love to have the source code for: Fire Fight, made by Chaos Works.
ChickeNESabout 1 year ago
Any chance that the source code for Rubu Tribe still exists?
erikbyeabout 1 year ago
Loved Descent, it was very enjoyable multiplayer.
geocrasherabout 1 year ago
gabbagabahey ... &lt;cheater!&gt;
评论 #40054198 未加载
MrIrrelevantabout 1 year ago
holy shit yes
ThinkBeatabout 1 year ago
I know I will be in a small minority, but I miss the way changes were documented and explained at the top of the source code.<p>Makes it super easy to get a feel for it and super easy to search for comments on changes or jump to the part of the code you need to work on.<p>Yes the drawbacks are sometimes a huge list of comments before the source code even begins, but you can quickly jump with a search for &quot; *&#x2F;&quot;<p>It makes the files larger, and you should be able to pull the same from whatever versioning system you use, but that involves context change and a separate program (though if you an IDE it may be integrated).<p>Would be fun to have a git tool that mimics this. Best of both worlds.
评论 #40050504 未加载
评论 #40053590 未加载
评论 #40050928 未加载
popf1about 1 year ago
Descent was such a great game... are there any modern versions of it? CSGO almost feel 2D when compared to this relic.
评论 #40055102 未加载
Solvencyabout 1 year ago
wow, I can&#x27;t imagine having to scroll through 500+ lines of &quot;logs&quot; in every single file of that source code as a developer every time I need to find&#x2F;edit code.