Slashdot Mirror


Doom 3 Source Released

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')."

55 of 187 comments (clear)

  1. Has anyone actually made any worthwhile with the by CmdrPony · · Score: 4, Interesting

    old ID engines?

    I'm curious because the tech is there. Are there any fun open source games?

  2. Re:Has anyone actually made any worthwhile with th by Anonymous Coward · · Score: 4, Interesting

    Check out Tremulous

  3. Another level by masternerdguy · · Score: 5, Interesting

    Carmack has raised the bar for the game industry once again.

    --
    To offset political mods, replace Flamebait with Insightful.
    1. Re:Another level by nbohr1more · · Score: 2

      Megatextures still have potential. They just need to be more conservative instead of trying to make everything out of them. Mixing traditional textures and Megatextures gave the game BRINK it's distinctive look and the technique could be extended further. John Carmack was trying too hard to: http://en.wikipedia.org/wiki/Eating_your_own_dog_food A more realistic approach would've been optimal.

    2. Re:Another level by nbohr1more · · Score: 2

      Please make sure to read some technical documents about BRINK before posting: http://charles.hollemeersch.net/node/58 Otherwise known as Virtual Texturing see Bethesda Press: http://www.bethsoft.com/eng/games/games_brink.html

  4. Re:Can I learn how to program the GPU from the sou by masternerdguy · · Score: 5, Insightful

    Yes but you'd be better off learning by assembling a simple program than reverse engineering a big one.

    --
    To offset political mods, replace Flamebait with Insightful.
  5. Re:Has anyone actually made any worthwhile with th by Lemming+Mark · · Score: 4, Informative

    Xonotic (successor to Nexuiz) is worth a look: http://www.xonotic.org/

    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: http://ufoai.ninex.info/wiki/index.php/News

    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.

  6. Re:Has anyone actually made any worthwhile with th by Hadlock · · Score: 2, Interesting

    Not Open Source, but Brink came out this spring based on the Doom 3 (IDTECH 3, I think?) source code. While terribly supported by the developer (Splash Damage) for the PC, it's a beautiful game, and really says a lot about what can be done with this codebase.

    --
    moox. for a new generation.
  7. Re:Has anyone actually made any worthwhile with th by next_ghost · · Score: 5, Insightful

    Even if nobody created anything new, the ability to keep the original ID games up to date with modern systems is more than enough.

  8. Re:Has anyone actually made any worthwhile with th by Joehonkie · · Score: 3, Informative

    Many mentioned above and Warsow (http://www.warsow.net/) which takes the arcadey style of Quake 3 even up yet another notch.

  9. Re:Has anyone actually made any worthwhile with th by xavdeman · · Score: 5, Informative

    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". (http://en.wikipedia.org/wiki/IW_engine)

  10. License by u17 · · Score: 4, Informative

    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.

    1. Re:License by Anonymous Coward · · Score: 5, Informative

      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] ...

    2. Re:License by u17 · · Score: 3

      The GPL3 does indeed state that. But isn't the purpose of section 7 only to allow the copyright holder to work around the fact that the header of the license states that changing it is not allowed? Section 7 explicitly mentions that you have to have permission from the copyright holder to add additional clauses. You may thus add restrictions to the license which are not counter to the spirit of the vanilla GPL3.

      But the question is, how does this affect compatibility between "GPL3 with additional restrictions" and just "GPL3"? Since without permission from the copyright holder you cannot add or remove additional restrictions, you may not use the licenses interchangeably. Because the additional restrictions are not present in the vanilla GPL3 (which does not allow additional restrictions unless you are the copyright holder and these restrictions fall under section 7), if you combine GPL3 code and "GPL3 with restrictions" code, it seems to me that there is no possible way to satisfy the terms of both licenses simultaneously.

      So the way I see it, although GPL3 allows you to add these terms, by doing so you make your license GPL3-incompatible. If this is the case then it is troubling, and I would welcome any clarification from someone who knows the details behind this.

    3. Re:License by Meneth · · Score: 2

      It seems to me that ID's replacement sections 15 & 16 comply with section 7 of the GPLv3. The source code, remains, therefore, GPL3-compatible. https://github.com/TTimo/doom3.gpl/blob/master/COPYING.txt

  11. Carmack's Reverse by orphiuchus · · Score: 3, Funny

    Oh, I thought that was when he went from the god of PC graphics with games like Quake to their bane with that abortion Rage.

    1. Re:Carmack's Reverse by scdeimos · · Score: 5, Informative

      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: http://newenthusiast.com/carmacks-reverse-still-an-issue-20090409489

    2. Re:Carmack's Reverse by xavdeman · · Score: 5, Interesting

      It took Carmack a considerably shorter time to come up with that engine than it took for id's art department to make a game out of it. And that game isn't even good. Seriously id Software needs to refocus on one thing, making great engines with tech-demo games (Doom 3) or great games with outdated engines because all they are doing now is tech-demo games with outdated engines (Rage). The id Tech 5 engine was first shown at the WWDC 2007, RAGE was released just a month ago. So there's a four year disparity. Also, the engine (or at least, RAGE) lacks features like HDR, which are present even in the (old, but updated) Source engine.

    3. Re:Carmack's Reverse by SpazmodeusG · · Score: 2

      You're overstating it a bit on Rage. It's an OK game with a good FPS engine behind it which was buggy on release but has since been fixed.

    4. Re:Carmack's Reverse by am+2k · · Score: 2

      If you remove the deadline, you get something like Duke Nukem Forever. A game is never "done", so you have to make a cut somewhere.

    5. Re:Carmack's Reverse by Lord_Jeremy · · Score: 4, Informative

      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.

    6. Re:Carmack's Reverse by dudpixel · · Score: 2

      In order to meet a deadline, you should drop features, not quality.

      I guess this is something that really determines how good the project lead is...

      --
      This seemed like a reasonable sig at the time.
  12. Re:Has anyone actually made any worthwhile with th by MBoffin · · Score: 5, Informative
  13. what's this function doing in here... by Anonymous Coward · · Score: 2, Interesting

    when the comment says /* ... //FIXME: This is pretty much wrong. won't access data in most situations. ...
    */

    The function in question is idInterpreter::GetRegisterValue in neo/game/script/Script_Interpreter.c

    A lot more FIXMEs in other source files. Fun to read.

  14. Open Content Projects by Hsien-Ko · · Score: 2

    Anyone going to cook some up?

    I may or may not do it because I personally loath MD5's lack of precalculated normals.

    Quake4 source is obviously not included so no OpenArena4. Probably something coopey and SPey would be in order (OMG A LINUX FIRST?)

  15. Re:Has anyone actually made any worthwhile with th by nonsensical · · Score: 2

    The game is the most popular in Europe even more than South America. But North America has plenty of people playing, and it's own league, http://www.ftwgl.com

  16. Re:Can I learn how to program the GPU from the sou by somersault · · Score: 2

    How about just doing some tutorials? Those ones are pretty old of course, but they're what I used when I was messing around with 3D graphics as a teenager.

    --
    which is totally what she said
  17. The Dark Mod! by nbohr1more · · Score: 5, Interesting

    The Dark Mod, a Doom 3 total conversion which turns the game into something similar to the "Thief" series games, will now be able to optimize and fix render, AI, and physics. This is a day for celebration! www.thedarkmod.com http://www.moddb.com/mods/the-dark-mod

    1. Re:The Dark Mod! by hedwards · · Score: 2

      The real product as far as I'm concerned with iD games is as much the mods you get for free from the community as the game itself. There have been some amazing mods over the years.

  18. i think. by Truekaiser · · Score: 4, Insightful

    considering id is now owned by besthesda, that this is going to be the last release of their engine source as they now have final say. and when was the last time they even acknowledged the existence of linux let alone treat pc gamer's well?

    1. Re:i think. by francium+goes+boom · · Score: 2

      Bethesda has treated PC gamers very well with the Fall Out and Elder Scrolls games. Releasing API's to allow fan made mods to their games are one of the reasons I enjoy playing them.

      But like just about everyone else these days, if I get the game day 1 i'll be paying $60 to beta test for them.

    2. Re:i think. by X3J11 · · Score: 3, Informative

      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).

    3. Re:i think. by Mia'cova · · Score: 2

      When something crashes on exit, it's usually due to some form of memory leak. Those aren't always trivial to investigate and fix. It's not as brain dead simple as you seem to imply.

    4. Re:i think. by petman · · Score: 4, Informative

      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.

  19. Re:Can I learn how to program the GPU from the sou by Dan+East · · Score: 5, Informative

    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.

    --
    Better known as 318230.
  20. Some neat projects by AHuxley · · Score: 2

    Recall the Pathways into Darkness mod for D3 based on the old Bungie game from 1993?
    http://rampancy.net/reviews/pathwaysredux

    --
    Domestic spying is now "Benign Information Gathering"
  21. Re:Has anyone actually made any worthwhile with th by Anonymous Coward · · Score: 3, Interesting

    Doom 3 release is going to be great for The Dark Mod among other projects: http://www.thedarkmod.com/main/

  22. Open Arena by nullchar · · Score: 3, Informative

    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.

  23. Re:Has anyone actually made any worthwhile with th by Ciccio87 · · Score: 4, Informative

    Check out Tremulous

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

  24. Useless by Sigvatr · · Score: 2, Interesting

    Doom 3's shadowing technology is what made it stand out at the time. What good is yet another FPS engine being released open source when its distinguishing feature is removed?

    1. Re:Useless by Anonymous Coward · · Score: 3, Informative

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

  25. Re:Shadow clarification by XenoBrain · · Score: 5, Informative

    You can read the substituted implementation here: https://github.com/TTimo/doom3.gpl/blob/master/neo/renderer/tr_stencilshadow.cpp https://github.com/TTimo/doom3.gpl/blob/master/neo/renderer/tr_shadowbounds.cpp I won't pretend to fully understand it but it does seem to be an implementaion of shadow volumes.

  26. Re:Has anyone actually made any worthwhile with th by Hamsterdan · · Score: 2

    If only Lucasarts were listening... I mean, the possibility they could still *sell* the original X-wing & TIE series (DOS ones, with iMuse, not the CD-audio crap) aren't just there, so unless it's

    1- Just because they don't want to
    2- Some code might have been licensed

    My money is on n.1

    (yes, I know about Dosbox, but it has some sound issues)

    --
    I've got better things to do tonight than die.
  27. Compiled Re:The Dark Mod! by mrmeval · · Score: 2

    I just tried to compile it and it squeeled and died. I use 64 bit Fedora so 32bit systems may 'just work'.

    Do

    scons NOCURL='1'

    As it the compile fails add in the i686 development version of the library it's crying for. There is no static version of zlib so you'll have to grab the source, compile it and copy zlib.a to /usr/lib

    --
    I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    1. Re:Compiled Re:The Dark Mod! by mrmeval · · Score: 2

      This fixed all the rendering problems I have been having with the GPL radeon driver.

      --
      I'd go on a Vegan diet but the delivery time from Vega is too long. --brownkitty
    2. Re:Compiled Re:The Dark Mod! by nbohr1more · · Score: 2

      Thanks for the update! If you get a chance, stop by The Dark Mod forums to discuss your findings. http://forums.thedarkmod.com/

  28. Re:Has anyone actually made any worthwhile with th by Gripp · · Score: 2, Interesting

    Why are you trolling /. with your BF3 vs MW3 babble? both are about "realistic" warfare. but there are only so many ways you can make a FPS before it becomes "just the same old shit". especially if both games have the same visual goals. I've been over FPS since about CoD4. at this point every FPS seems like the same'ol to me (because they are). and it sounds like that may be happening to you too.

    on a separate note, i've never understood the desire for an FPS to be "realistic"... i mean, they simply can't be realistic - unless most single shots kill you, or shrapnel from 50m away for that matter. or, at the very least, limit your mobility and senses to a point that you'll be dead soon regardless. and i doubt anyone hardly ever plays in a sleep deprived, hypertensive state - much less with serious crotch rot, athletes foot and scabs/bites from being in dirty/damp places for days without the chance for personal hygiene (your mom's basement does NOT count!). And the most **enjoyable** FPS PvP that I've played were no where near "realistic" (quake, halo, lost planet (yes, the grapple ftw), etc) yet, realism is where all of the push/cash seems to be anymore. it's confusing to me. /rant...

  29. Re:Has anyone actually made any worthwhile with th by LordLimecat · · Score: 2

    Its not based around vehicles, and its not a straight up FPS. It is similar in some ways to TF2, but probably the closest thing to it is Command and Conquer: Renegade (a FPS / RTS hybrid).

    One of its charming unique aspects is the versatility of the aliens-- being able to play a wall-crawling headcrab or a gigantic trampling monstrosity is always a lot of fun, and it feels really balanced-- a good character can use the weakest weapons and still dominate.

    There are reasons to play Battlefield, or TF2, but theyre different sorts of games-- Battlefield (at least BF2) emphasizes the team aspect to an unusual degree with coordination, while TF2 seems to focus on pairs of people on a smaller scale. Tremulous focuses instead on fast-paced action like unreal with a fortress-building aspect.

  30. Re:Has anyone actually made any worthwhile with th by Lanteran · · Score: 2, Funny

    Wait, you mean you actually LIKE CoD? Geek card status: revoked. I mean, you would have been fine if you hadn't compared it FAVORABLY to quake 3. There is no comparison, only disgrace.

    --
    "People don't want to learn linux" hasn't been a valid excuse since '03.
  31. Re:Has anyone actually made any worthwhile with th by chilvence · · Score: 5, Insightful

    From the tone of your post, it sounds as if you are dubious about the point of companies releasing their source.

    I find that depressing. Once a studio has released a game, patched the worst of the bugs, and moved on, disbanded, been bought up, that game is effectively dead. Sooner or later, some new hardware or software update will poke a hole in it, it will become impossible to run, and it will sink into the abyss taking all its fun and charm with it. The only way to keep hold of your old favourite games is to preserve your old computer, like an embalmed beige corpse in a crypt under the stairs, exhuming it once in a while to fill a void left by the abscence of anything even remotely similar in modern games.

    For me this game would be Dungeon Keeper, for you, I bet there is a 90% chance there is something you can fit in this story.

    My point is, id is a good sport releasing source code, but ALL games should release their source eventually. Once they have been sold in their millions, they are, in spirit, public property, and like a park or a road or a shopping centre, they need people to maintain them, until they have been able to live out their full lifespan gracefully.

    Now if you need me I will be under the stairs, slapping my imps...

  32. iodoom3 by Time+Doctor · · Score: 5, Interesting

    If anyone is interested I've created iodoom3 to follow on from the ioquake3 project my team put together.

    Let me know what you'd like to see in a modernized Doom 3 Engine!

    --
    Check out ioquake3.org for a great, free, First-Person Shooter engine!
  33. Re:Can I learn how to program the GPU from the sou by Bwerf · · Score: 3, Informative

    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.

    --
    If noone rtfa, then what's the slashdot effect?
  34. Porting games to Linux by polyp2000 · · Score: 2

    I've not checked out the source yet - but I assume it can be compiled for linux since there was a Doom 3 version.
    This brings me to another question - Are there any commercial games out there also using the same engine that could now be ported to Linux?
    Obviously this would involve some work and use of "legally owned" data files etc.

    This could be really good news for gaming on alternative platforms

    N...

    --
    Electronic Music Made Using Linux http://soundcloud.com/polyp
  35. Re:Has anyone actually made any worthwhile with th by kahless62003 · · Score: 3, Funny

    Not the other guy, but hell yeah! I'd want a really, really old frayed rope thanks.