The source of our doom
November 30, 2011 8:26 AM   Subscribe

id Software have released the source code to Doom 3 under the terms of the General Public License.

Driven by founder and programming legend John Carmack, id have released the source code to several of their previous games, following up on their early days in shareware. These do not contain the full game – any game assets, such as textures, sounds, and maps are still proprietary – but enable other programmers to study and build upon the foundations of their games. Particularly popular are Fabien Sanglard's articles on his impressions of the Quake World and Quake II sources.

Bonus links: Sean Barrett, previously of Looking Glass software, discusses the internals of Thief's Dark Engine; and what if Quake was made today?
posted by smcg (24 comments total) 23 users marked this as a favorite
 
holdFlashlightAtSameTimeAsHandgun() {
	throw new NotImplementedException();
}
posted by East Manitoba Regional Junior Kabaddi Champion '94 at 8:32 AM on November 30, 2011 [19 favorites]


Fabien Sanglard also provided instructions for compiling the source on MacOSX with XCode 4.
posted by tykky at 8:36 AM on November 30, 2011


Interesting side note is the wrangling around theCarmack's Reverse/z-fail algorithm. A shadow volume technique discovered independently by Creative and Carmack. Creative got it 2 years earlier and got the patent. Carmack rewrote the shadow volume code for this release to avoid the patent.
posted by Ad hominem at 8:39 AM on November 30, 2011 [1 favorite]


How long before someone mods it into "Porn World"?
posted by destinyland at 8:51 AM on November 30, 2011




How long before someone mods it into "Porn World"?
posted by destinyland at 8:51 AM on November 30 [+] [!]


Is this a thing?
posted by Stagger Lee at 9:33 AM on November 30, 2011


|How long before someone mods it into "Porn World"?

Too long?
posted by Godspeed.You!Black.Emperor.Penguin at 9:33 AM on November 30, 2011


I remember being excited when this was being developed, but never actually playing it upon release (due to my computer not being good enough to run it). Are there any benefits that the engine brings to the table that a DevKit like Source or UT3 doesn't?
posted by codacorolla at 9:54 AM on November 30, 2011


Are there any benefits that the engine brings to the table that a DevKit like Source or UT3 doesn't?

It's free (in both senses of the word).

the UT3 dev kit is windows only, and fairly restrictive non-commercial licencing. Same goes for steam. Source-based development requires end-users already have the source engine licenced.
posted by ArkhanJG at 10:00 AM on November 30, 2011


I think Quake III's fast inverse square root method may have appeared on the blue before but I think there has been a bit more digging since them.
posted by Ad hominem at 10:17 AM on November 30, 2011 [1 favorite]


Are there any benefits that the engine brings to the table that a DevKit like Source or UT3 doesn't?

There are limits to what you can modify in Source (and as far as I know there are similar limits with UT3). The SDKs for those engines don't give you the engine source code itself (i.e. the underlying graphics and physics code). What they give you are the header files and libraries needed to compile new games using the engine. So, for example, suppose Source didn't support shadows. You couldn't add that to the engine using the SDK, at least not in an efficient, non-hacky way.

By contrast, it would be entirely feasible to do something like tack a modern physics engine on to the Doom3 engine, so long as it was GPL compatible.
posted by jedicus at 10:35 AM on November 30, 2011


I hope this encourages further development of The Dark Mod.
posted by BrotherCaine at 10:47 AM on November 30, 2011


While we're talking about the Dark Engine, people should check out The Dark Mod, which I made an FPP about a while back.

It replicates the medieval/steampunk sneaky gameplay of Thief using the Doom 3 engine, they've already got a bunch of high-quality missions, and the release of the source code means lots more neat things are on the way.

What's especially neat is that they've built their own version of the level editor GTKRadiant called DarkRadiant, which has been heavily customized to create complex, interactive levels you couldn't dream of in Doom 3.
posted by dunkadunc at 10:48 AM on November 30, 2011


The bonus video reminds me a lot of this mod/video on Deus Ex vs. Human Revolution, or the infamous Doom vs. Call of Duty map graphic. I generally prefer old shooters to new ones, and particularly miss Looking Glass and the quirky, convoluted maps of times past, so I'm not going to complain too much. BUT.

There are a couple of things that bother me about the video and those like it. One is the focus on the very blandest of mainstream shooters like Modern Warfare to make points about generational shifts, while ignoring the fact that we've seen several popular games recently that are extremely difficult (S.T.A.L.K.E.R. and Metro 2033), as well as games that expand the horizons of the FPS (the Portal series comes to mind--a gun that shoots holes?).

The second is that there are some simplifications that genuinely make games more elegant. I just replayed System Shock 2, which was basically stripped down to make Bioshock, and realized that despite how much I like having a huge map, an inventory, and the option to carry around houseplants and turn them into money, it doesn't really bother me that Bioshock did things like limiting your psi power/plasmid slots and making it possible to switch between them quickly.

There are plenty of new FPS elements that I'm not fond of, but I don't really agree with this blanket assessment that modern shooters are easy and simplified and therefore terrible. Barrett has done some awesome stuff, and I know I'm overanalyzing this light and quite funny video, but I sort of feel like I'm hanging out on his virtual lawn here.
posted by Tubalcain at 10:59 AM on November 30, 2011 [1 favorite]


Countdown to My Little Pony: Friendship is DOOM begins - now.
posted by Wolfdog at 11:04 AM on November 30, 2011 [11 favorites]


Wow, apologies Tubalcain! Sean Barrett didn't make the video (the final link in the post) - maybe I didn't call that out clearly enough. He's only in the first part of that sentence. The video's only there because I thought the 'boss encounter' with the shambler was hilarious, particularly given the actual first and final bosses in Quake (which are puzzle bosses).
posted by smcg at 11:15 AM on November 30, 2011


the UT3 dev kit is windows only, and fairly restrictive non-commercial licencing

[Full disclosure: I work for a commercial Unreal licensee, and my fulltime job when not editing voiceover is to abuse the shit out of its scripting layer for rapid gameplay prototyping. I also spend a fair amount of time screwing around with UDK at home]

The thing about UDK is that the entire game object layer - from the fundamental camera tick function to the post process chain to the AI behavioral code - is implemented in Unreal's native Java-esque scripting language, which PixelMine have directly integrated with the Visual Studio SDK (with support for stepwise debugging, etc.) in nFringe.

The set of games where Unreal is the best engine choice for a small team but there is no performant way to implement it without modifying the C++ source is terribly small: ie if you're making the next Minecraft-style voxel game, Unreal is fundamentally not built for that. If you need to integrate a major middleware package with Unreal, you probably have a commercial license. If you absolutely need to get a slew of custom C functions integrated, UDK allows UnrealScript to call external DLL functions.

On preview, from jedicus comment: you couldn't completely tear out Unreal's physics system, but you absolutely can override at a surprisingly low level how every physics-enabled object class interfaces with that system.

As an example: about a year ago a fellow designer and I challenged each other to make the wildest modification we could pull off in a single day.

I opted to do a basic RTS game in UDK:
Neverwinter Nights-style "isometric" camera/interface with free orbiting about the screen center object
Panning when the mouse approached the screen edge
Tile-based geometry that highlighted on mouseover
The ability to select characters/tanks with mouseover rim highlight*
Click on a tile and they walk to it, click on another character/tank and they start attacking it

Took about 8 hours to get everything working acceptably and looking good, another 2-3 to iron out some AI pathing issues I'd introduced.

Admittedly I'm biased: I eat, breathe, drink Unreal nearly every day. But in terms of bang for your buck and ease of porting to other platforms should you strike gold and go full commercial it really has a lot to offer small teams.

*Basically what the Airborn guys did: gaussian blurred depth buffer edge detection to create a very pretty outline effect where the line thickness is a direct function of the depth delta.
posted by Ryvar at 11:18 AM on November 30, 2011 [2 favorites]


Don't apologize! It really was funny ("Graphics: On/Off" in particular) and I don't feel poorer for having watched it. It's mostly just something I've been thinking about for a while, since it comes up with some frequency.
posted by Tubalcain at 11:21 AM on November 30, 2011


The Quake and Dues Ex videos were really interesting. Lately I've been finding games to be insanely unsatisfying. Maybe I'm just getting older, but the achievements seem smaller, the game play more tedious, and the experience less gripping.

But here's the thing. SkyRim sold something like 4 million copies in two days. Can we really expect the same thing from that as we did from games in the 90s, early 2000, when the market was considerably different, and exponentially smaller?

My concern is that although the market keeps growing, the profits seem to be clustered around a very small group of very expensive, high performance products, rather than being diverse and spread out. It's something that troubles me about all media, whether games, books, movies, or whatever.
posted by Stagger Lee at 12:26 PM on November 30, 2011


I'm actually curious about that, Stagger Lee, because I feel like I'm hearing about it going both ways--on the one hand media is getting clustered into a few hugely-hyped products, but on the other we're entering an age of niche markets with fewer central cultural touchstones. For games in particular, I'd be willing to believe that we're in the sort of in-between stage that music (maybe?) saw in the mid-twentieth century, where you had a sudden consolidation of major "brands".

I've had some really good gaming experiences lately, though, even though I don't have a lot of time to play. There's some great small-to-mid-market stuff going on, like Frictional Games (which has its own modding editor) and Ice-Pick Lodge, and I feel like narrative (loosely speaking) in games has been getting steadily more interesting. There's a vast and diverse market of small stuff that draws loosely from interactive fiction or classic sidescrollers, but I'm not sure how much money a lot of it makes.

To be fair, the videos are specifically referring to AAA American shooters, which do seem to have been in the doldrums lately. They're extremely popular, but also stuck in this pattern of infinite sequels with more quicktime events added each time (the Quake video really did need a bit where you beat a monster by hitting "E" over and over during a cutscene.)
posted by Tubalcain at 1:12 PM on November 30, 2011


My concern is that although the market keeps growing, the profits seem to be clustered around a very small group of very expensive, high performance products, rather than being diverse and spread out.

Look, I'm not an indie dev, but...

Minecraft: sold 4 million copies, one fulltime developer for 18 months, some audio contracting.

Angry Birds: 500 million downloads, not sure of dev team size, but at a rough guess three developers with a time machine (translation: shared vision of the final product and marketing strategy) could go back and duplicate it in about three months with some audio contracting. One really talented multi-disciplinary person with some art/audio contracting in six-ish: tightly tune a Bullet Physics iPhone implementation and you're halfway there.

Terraria, Magicka, VVVVV, Super Meatboy... Dungeon Defenders for a multi-platform UDK example. Hawken, another small team UDK project that hasn't released yet but already has the visibility necessary to become a major indie success story, mostly because it has amazing visuals and is hitting a long-abandoned niche with perfect timing.

We live in the golden - or at least silver - age of indie game development. The tools and libraries are developed to the point that just about anybody with a good idea and some experience has a fighting chance via digital distribution channels. It's no longer a question of whether you can make a killing with a good idea, it's a question of whether your idea generates sufficient critical mass (word of mouth or gaming press interest) to achieve real visibility.

In the past few years the industry bifurcated into high-investment/low-risk ventures on one hand, and low-investment/high risk ventures on the other. There was a pretty dark period starting around 2002 where the concerns you voice reflected a serious issue in the medium, but with the advent of Steam/XBLA/PSN/App Store we're past that.
posted by Ryvar at 1:21 PM on November 30, 2011 [6 favorites]


Want to qualify that last sentence: we're past that until the next major console hardware cycle upsets the tools/public expectations balance again. Going to be a hectic couple years all around when that hits.
posted by Ryvar at 1:25 PM on November 30, 2011


Interesting.

Honestly, I have such a casual experience with gaming these days that maybe I've situated myself firmly into mainstream gaming. I'm pretty much stuck with consoles because I can't be damned to deal with upgrade cycles, software installs, linux drivers, running windows, or whatever it is I'd have to do to get games going on PC. I buy my games from the store, when they bring themselves to my attention. So there's my bias.

Okay enough about me. Here's where I think you're still wrong. I'm not talking about the number of games out there. What I'm suggesting is that the profits are clumped. To leap to an example in another media form: Sure everybody is writing books, but all the money is going towards books by Stephanie Meier, Steig Larsson and J. K. Rowling. That's not a judgement of the quality of their books, but you've still got an awful lot of the profits in a very small number of hands.
posted by Stagger Lee at 2:18 PM on November 30, 2011


Which leaves us exactly where we are: A bunch of lumbering, expensive, boring big budget games, and a ton of innovative little games with no budget that nobody knows about.

Which will obviously hit some genres way harder than others.
posted by Stagger Lee at 2:19 PM on November 30, 2011 [1 favorite]


A bunch of lumbering, expensive, boring big budget games, and a ton of innovative little games with no budget that nobody knows about.

Here's the problem with that statement: people know about those innovative little games now. The amount of press coverage given to all of the titles I mentioned (not to mention Braid, Limbo, Shadow Complex, fl0w/Flower...etc. etc.) by major sites like Kotaku and PC Gamer would have been unthinkable not five years ago.

I was about to write that this is because lukewarm PC support from big-budget titles is causing PC gamers to search further afield, but on reflection that simply isn't true: the indie titles in the above paragraph and the previous list I offered are split fairly evenly between PC and XBLA/PSN/AppStore in terms of where they achieved their critical mass.

In terms of profit distribution you're absolutely right, but that's true of nearly every market sector there is. The measure of the health of the independent game development scene isn't necessarily the size of their slice of the pie, but rather the size of their slice of the mindshare.

At the end of the day, here's what every independent developer I've known asks: do I have the opportunity to make a living doing this, and a decent shot of someday realizing my more ambitious game ideas?

Judging from the Boston Indies meetups, the answer to that question has rarely been as emphatically "yes" as it is right now.
posted by Ryvar at 2:43 PM on November 30, 2011


« Older WHAT DO WE WANT? STUFF LIKE THIS.   |   Play that same song. Newer »


This thread has been archived and is closed to new comments