Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / Doom 3 source code released under GPL

Author
Message
The Wilderbeast
19
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 23rd Nov 2011 12:48
Finally!

The entire source code for Doom 3 (using the iD Tech 4 engine) has been released under the GPL license and is available to fork over at GitHub

We should be seeing some really great projects come from this in the near future.

Apparently there was a slight holdup caused by property issues as some of the shaders used were owned by a different company.

zenassem
22
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 23rd Nov 2011 12:52
I still can't understand Quake's source code. I'm scared to even look.

~ZENassem
The Wilderbeast
19
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 23rd Nov 2011 13:18
Quake 3 was really pushing the limits of what could be done with pure C. Doom 3 was written in C++ and thus should be a little easier to understand.

zenassem
22
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 23rd Nov 2011 13:28 Edited at: 23rd Nov 2011 13:53
Quote: "Quake 3 was really pushing the limits of what could be done with pure C. Doom 3 was written in C++ and thus should be a little easier to understand."


I was referring to the original "Quake" engine (id Tech 1; !note: not the same as the Doom id Tech 1 engine).

But your response basically still applies,, with addition of some Assembly. Just the lighting code in itself was too much for me to get my head around. (Or was it the BSP and HSR (Hidden Surface Removal) parts??

Perhaps it's a little more readable now. I'll have to look at the "Unified lighting and shadowing" that was used in Doom 3. I've also never looked at id Tech 2 or 3.




~ZENassem
The Wilderbeast
19
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 23rd Nov 2011 13:41
I know, it's crazy the amount of forks the engine has!


Just a heads-up for those building on Linux: you will need to have the GNU M4 utility and freeglut libraries installed to build it.

zenassem
22
Years of Service
User Offline
Joined: 10th Mar 2003
Location: Long Island, NY
Posted: 23rd Nov 2011 14:17
I never had success in building from the source. When I first heard of the source code release,, I thought that with my knowledge of C and limited knowledge of C++ that the source would immediately make sense to me. Unfortunately I couldn't (and probably still can't) understand much of it. The size and complexity of the source was a bit beyond anything I had, or could of imagined at the time.

Then I began playing around with QuakeC and the qcc... which only added to my confusion. I see now .DLL modules are used. I had some success with the Valve Hammer Editor,, but that's as far as I went.

~ZENassem
Oolite
19
Years of Service
User Offline
Joined: 28th Sep 2005
Location: Middle of the West
Posted: 23rd Nov 2011 15:43
Aren't the media files still protected though, so you aren't going to be downloading and compiling the whole doom 3 game?
Or am I mistaken?
The Wilderbeast
19
Years of Service
User Offline
Joined: 14th Nov 2005
Location: UK
Posted: 23rd Nov 2011 16:40
You are indeed correct, what you are compiling is the game engine binary. The media files are not released under GPL and require you to purchase a copy of the disc. After you've built the engine, so long as the media files are in the correct place then you should be able to run it straight away.

But you've got a fully functional engine, replace the iD media with your own and you're good to go.

heyufool1
16
Years of Service
User Offline
Joined: 14th Feb 2009
Location: My quiet place
Posted: 23rd Nov 2011 20:36 Edited at: 23rd Nov 2011 20:36
This is awesome! Not so much because I could use the engine for my own stuff (which I won't anyway), but now I can see that my approach to writing a game/engine in C++ is generally correct! I always figured that major game companies used some sort of crazy intense programming language, and that C++ was sort of a non professional approach to games.

It's just nice to see that what I'm doing is not far from what the professionals are doing

"So hold your head up high and know. It's not the end of the road"
Switch Game Engine
Accoun
19
Years of Service
User Offline
Joined: 9th Jan 2006
Location: The other end of the galaxy...
Posted: 23rd Nov 2011 21:36
I wonder what would be if someone created a totally open equivalent of UDK based on this engine...

Make games, not war.
Got Last.fm? Join the TGC Last.fm group!
Eminent
14
Years of Service
User Offline
Joined: 15th Jul 2010
Location:
Posted: 24th Nov 2011 02:45
Quote: "This is awesome! Not so much because I could use the engine for my own stuff (which I won't anyway), but now I can see that my approach to writing a game/engine in C++ is generally correct! I always figured that major game companies used some sort of crazy intense programming language, and that C++ was sort of a non professional approach to games."


C++ IS that crazy intense programming language.

Login to post a reply

Server time is: 2025-05-20 06:18:47
Your offset time is: 2025-05-20 06:18:47