Descent Source Code
github.com
github.com
Mike: Well, not really, unless they learn that they have to focus on designing a brilliant game, rather than writing brilliant code.
Matt: Ah, that's a good thing.
Mike: Yeah, I don't think I understood that until we started working on Descent. At first all I cared about was writing technically good code.
Matt: Then we ran out of money and all we cared about was finishing our game.
Mike: Right. Our code got ugly, but our game got done.
Matt: Writing code is easy. Finishing is hard. Q: Is there any code you're particularly proud of?
Matt: No.
Mike: No.
Matt: I'm most ashamed of the vector intersection code.
Mike: Yeah, that's pretty bad.
Matt: Mike's AI code is the worst I've ever seen.
Mike: Only because you program with your eyes closed.
this is gold. I definitely have to explore this repo now.I was in Germany for work at the time and spent many evenings working on this code, to clean it up and make it compile. I even got the level editor working.
In part because of this work, I ended up getting hired on the Descent 3 team.
There are several projects that stemmed from the original Descent source code, this looks like the originally released code.
When I was doing computer graphics research in university, I always hid a secret 6DOF flight mode into my 3D apps, with key controls corresponding to my D3 config. It was the most comfortable way I knew to navigate around in a 3D space.
https://en.m.wikipedia.org/wiki/SpaceOrb_360
I’m shocked there’ve been no kickstarters to revive the perfect input device for 3D games.
If you’re not familiar with this input device, this calls it the greatest game controller of all time:
https://www.hanselman.com/blog/TheBestControllerForFPSASpace...
Also happens to be a pretty good hacker (maker) story.
>Matt: Writing code is easy. Finishing is hard.
With similar graphics quality it’s only moderately hard. I think I could re-implement that graphic engine in Direct3D 11 within a week or so.
> developers were forced to deal with a lot more complexity back then.
I think modern games are way more complex. Even for graphics: visual quality improved by a huge factor.
Descent authors had to implement these fixed-point math routines, modern games don’t because already implemented in hardware, both CPU and GPU.
However, modern games do a lot more: complex shaders for stuff like skeletal animation and environment mapping, deferred shading incl. ambient occlusion, multiple render passes for stuff like transparency and volumetric lights, multiple post-effect render passes for stuff like HDR and tone mapping…
Here’s an awesome article explaining how GTA5 does that: http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphic... And that’s just graphics, other components like animations & particle systems, AI, asset streaming, physics and gameplay are not much simpler in modern games.
It's equivalent to selling an Android phone with proprietary apps preinstalled.
I think a lot of people have an unfounded fear of someone else making money when a share-alike license would assuage most of their fears, without forbidding money.