The source code for ID Software‘s Quake 2 is now available for download, and is also released under the GPL license.
The .plan file for John Carmack has the details. If you know working mirrors for the downloaded archive, please post about it on the comments section of this story.
The Descent 2 code is also out there. It’s also much better than Q2.
I thought, most modern games were programmed in an object-oriented fashion, but Descent2 as well as Q2 merely consist of C-Code.
> I thought, most modern games were programmed in an object-oriented fashion,
> but Descent2 as well as Q2 merely consist of C-Code.
I could be totally wrong about more modern compilers, but I always thought that if you wanted total control over game speed, you shouldn’t use C++.
C++ isn’t a very good OO language, and at the time when Quake2 was written the language standard and compilers still weren’t very mature. Without a lot of industry hype there wouldn’t have been any C++ development in the 1990s because the langauge just wasn’t worth using on its own merits back then IMNSHO.
The hype for C++ partly comes from (tada!) Microsoft, for whom the lack of a standard (de facto or de jure) for the C++ ABI, and the enormous engineering effort required to track Stroustrup’s endless quest for perfection aka C++ standarisation, were good obstacles to throw at the competition.
The Microsoft approach to C++ is enshrined in various “standards” such as ActiveX which implicitly rely on Microsoft’s implementation of name-mangling, object layout and vtables, among other hacks.
But I’m the wrong person to ask about this, I’d choose to go back to Standard ML before I’d write another serious C++ program.
Nope commercial games are just about always C/C++. Usually VC++.
“Cara, the quake 2 source code had just been released”
“Cool. Lets make some mods!”
She’s being sarcastic, but I love my girlfriend.
> C++ isn’t a very good OO language
I guess, it’s not perfect, but the best compromise between performance and ease of use, one can currently get.