Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
First Person Shooters (Games) Open Source Patents Games

Doom 3 Source Released 187

alteveer writes "Just like Quake 3 before it, the Doom 3 source code has been released to the public (minus rendering of stencil shadows via the 'depth fail' method, a functionality commonly known as 'Carmack's Reverse')."
This discussion has been archived. No new comments can be posted.

Doom 3 Source Released

Comments Filter:
  • by Lemming Mark ( 849014 ) on Tuesday November 22, 2011 @07:41PM (#38142828) Homepage

    Xonotic (successor to Nexuiz) is worth a look: []

    I think that might actually have evolved from Quake 2 era code originally, or something crazy like that - it's a lot more advanced now.

    UFO:AI uses the Quake 2 engine on some level as well I think: []

    In my experience Nexuiz and UFO:AI have both been quality Open Source games, although I think UFO:AI contains some media that are not categorised as fully Free in the strictest sense. Xonotic looks to be doing some cool new things and I hope that UFO:AI has also improved since I last played with it.

  • by Joehonkie ( 665142 ) on Tuesday November 22, 2011 @07:53PM (#38142938) Homepage
    Many mentioned above and Warsow ( which takes the arcadey style of Quake 3 even up yet another notch.
  • by xavdeman ( 946931 ) on Tuesday November 22, 2011 @07:55PM (#38142956)
    It's funny you mention Modern Warfare 3 since that game's engine is based on id Tech 3, an engine id Software open sourced before, just like they are doing now with Tech 4. "The engine was first used for Call of Duty 2 in 2005 under a proprietary license of id Tech 3 created by id Software in 1999, as at this time, the engine was a heavily modified version of the Quake III engine. The engine did not have an official name until IGN was told at the E3 2009 by the studio that Call of Duty: Modern Warfare 2 would run on the "IW 4.0 engine". (
  • License (Score:5, Informative)

    by u17 ( 1730558 ) on Tuesday November 22, 2011 @07:55PM (#38142962)

    It seems that the licensing is a mess.

    The header in the source files state that the code is GPLv3 or any later version, with additional clauses added.

    In addition, the Doom 3 Source Code is also subject to certain additional terms. You should have received a copy of these additional terms immediately following the terms and conditions of the GNU General Public License which accompanied the Doom 3 Source Code. If not, please request a copy in writing from id Software at the address below.

    However, it seems that it is only possible to apply these additional terms to GPL version 3 exactly (and not any later version):

    2. Replacement of Section 16. Section 16 of the GPL shall be deleted in its entirety and replaced with the following:

    These additional terms seem to be just disclaimers of liability and an indemnity clause, but it is entirely possible that they make the source GPL-incompatible, which, if true, would be a huge disappointment.

    So not only is the license not self-consistent, it is likely also GPL-incompatible. The additional terms may further make the license non-free, and definitely non-DFSG-compliant. Thanks go to the corporate lawyers who have turned Carmack's good intentions into an abomination. I hope that they can re-release this under saner terms.

  • Re:Carmack's Reverse (Score:5, Informative)

    by scdeimos ( 632778 ) on Tuesday November 22, 2011 @08:07PM (#38143080)
    This is hardly an authoritative source, but it does give some historical insight (from 2009) into why Carmack's Reverse had to be removed from the Doom 3 source release: []
  • Re:License (Score:5, Informative)

    by Anonymous Coward on Tuesday November 22, 2011 @08:15PM (#38143154)

    This doesn't seem to be a problem since the base GPL v3 license explicitly allows replacement of Section 16:

    7. Additional Terms.

        "Additional permissions" are terms that supplement the terms of this
    License by making exceptions from one or more of its conditions.
    Additional permissions that are applicable to the entire Program shall
    be treated as though they were included in this License, to the extent
    that they are valid under applicable law. If additional permissions
    apply only to part of the Program, that part may be used separately
    under those permissions, but the entire Program remains governed by
    this License without regard to the additional permissions.

        When you convey a copy of a covered work, you may at your option
    remove any additional permissions from that copy, or from any part of
    it. (Additional permissions may be written to require their own
    removal in certain cases when you modify the work.) You may place
    additional permissions on material, added by you to a covered work,
    for which you have or can give appropriate copyright permission.

        Notwithstanding any other provision of this License, for material you
    add to a covered work, you may (if authorized by the copyright holders of
    that material) supplement the terms of this License with terms:

            a) Disclaiming warranty or limiting liability differently from the
            terms of sections 15 and 16 of this License; or

            b) Requiring preservation of specified reasonable legal notices or
            author attributions in that material or in the Appropriate Legal
            Notices displayed by works containing it; or ... [snip] ...

  • by Dan East ( 318230 ) on Tuesday November 22, 2011 @08:28PM (#38143258) Journal

    I've worked extensively with the Quake 1 and 2 sources (I ported them both to Pocket PC, which required rewriting a lot of the computationally expensive routines from floating point to fixed point math, as the ARM processors of that era did not have a FPU). I can say that no, you're not going to learn anything that way. The code has few if any comments at all, the routines are optimized, the data structures are optimized, tons of preprocessing of data happens both at the content level and during load time, plus any other trick Carmack could throw in there to increase performance. Unless you wanting to follow the path of execution as it relates to a specific data set or type of rendering, just to see the exact techniques used (obviously knowing specifically what you are looking for) then you're not going to learn that way.

  • Open Arena (Score:4, Informative)

    by nullchar ( 446050 ) on Tuesday November 22, 2011 @09:14PM (#38143610)

    Open Arena [] is a small, but active community. There are always open games to play online, and some crazy mods [] (like Defrag to learn how to circle jump) that make it fun.

    Works great in linux with old hardware as it's based off Quake III.

  • Re:Carmack's Reverse (Score:5, Informative)

    by Lord_Jeremy ( 1612839 ) on Tuesday November 22, 2011 @09:14PM (#38143614)
    IMHO the best thing about Doom 3 was that it lead to Quake 4, which is definitely one of my favorite single player games. Hell, Q4 is also one of the few games that had both worthwhile single player and multiplayer.
  • by Ciccio87 ( 2101982 ) on Tuesday November 22, 2011 @09:19PM (#38143652)

    Check out Tremulous

    Or World Of Padman, also (as far as I know) a derivative work from Quake3 sources, like Tremulous. (World Of Padman [])

  • Re:i think. (Score:3, Informative)

    by X3J11 ( 791922 ) on Tuesday November 22, 2011 @09:40PM (#38143842) Journal

    Bethesda has treated PC gamers very well with the Fall Out and Elder Scrolls games.

    If by "very well" you meant "released buggy games and a few patches that fixed a small percentage of those bugs, and then left it to the community of players to fix everything else" then yes, you are correct.

    For example, there is the Unofficial Oblivion Patch []

    This mod is a joint effort to fix the vast amount of bugs currently existing in Oblivion v1.2.0.416, fixing over 2,200 bugs so far!

    For another example, there was the Fallout 3 1.4 patch, issued three months after the previous patch, with folks complaining left and right about how buggy the game was (it would throw up an error on Windows when exiting the game... they couldn't even get their "quit program" routine to not crash!).

    The patch does not actually fix any known bugs. The only new features are:
    - New achievements for The Pitt
    - Support for multiple add-ons (Gamers in Asia can now play Operation: Anchorage, unlike before).

    Releasing API's to allow fan made mods to their games are one of the reasons I enjoy playing them.

    They don't release an API, or you misunderstand what an API is - they release a "construction kit". Some might think I am splitting hairs, but they have never put out anything that lets you communicate directly with the internals of the game engine, a "programming interface" if you will.

    Don't get me wrong, I am a fan of Bethesda's games - Skyrim on day 1, Fallout (and New Vegas, different people I know) collector's editions (PC and XBOX). But I am also not blind to how poor their code seems to be and how little they really support and fix their games. When equipping an item causes the game to crash, something is seriously wrong (Morrowind did that to me all the time).

  • by XenoBrain ( 719411 ) on Tuesday November 22, 2011 @10:11PM (#38144062)
    You can read the substituted implementation here: [] [] I won't pretend to fully understand it but it does seem to be an implementaion of shadow volumes.
  • Re:i think. (Score:4, Informative)

    by petman ( 619526 ) on Tuesday November 22, 2011 @10:36PM (#38144202)
    Minor detail: id Software, as well as Bethesda Softworks, is owned by Zenimax Media. In other words, id and Bethesda are sister companies.

    Now please mod me informative.
  • Re:Useless (Score:3, Informative)

    by Anonymous Coward on Tuesday November 22, 2011 @10:44PM (#38144266)

    It's not removed, it's been reimplemented in a slightly more inefficient way to dodge patent issues.

  • by Bwerf ( 106435 ) on Wednesday November 23, 2011 @03:59AM (#38146082)

    The main graphics coder at my job recommends A trip through the Graphics Pipeline 2011 [] for everyone that wants to do something graphics related today. (Actually he says it's a must read for all programmers, but I think that's a bit strong...)

    It's a bit windows-centric, but I think most of it translates to OpenGL since it's focused on what the hardware of today can do.

Remember to say hello to your bank teller.