Summary: Doom 3, John Carmack, an interview with Tim Willits and Fred Nilsson, and a pacifier in a beer bottle. It's late, but we break down the highlights of id software's presentations at QuakeCon 2002.
It really isn't recordedAfter the taste of Doom 3 that id software gave at E3 2002 from E3, gamers have been frothing at the mouth for more and more coverage. Other than a couple new screenshots released a couple weeks ago, id has remained tight lipped on the matter, giving precious few details on the next big leap for graphics in first person shooters. What we do know about Doom 3 is that the engine looks incredible, the graphics raise the bar for lighting and shadows to never before seen levels, and it will focus primarily on single player gameplay.
Today, through a panel presentation, id software revealed a little bit about the technology behind the game. One by one, members of id software presented different aspects of the game related to their area of expertise. This panel presentation lasted about an hour and was followed by a long, highly technical talk from John Carmack about the genesis of the Doom 3 engine, and new directions he'd like the graphics industry to go in. The talk was followed with a lengthy Q&A session with Carmack answering questions about Doom 3, and his speech.
Tim WillitsFirst up was Tim Willits, lead designer on Doom 3. While every Doom 3 presentation involved a prerecorded movie of actual gameplay (nothing prerendered), Tim made a point of sitting down with the game and running through it in real time for us, just to prove that the engine *is* real, and that the last couple of "maybe it's fake" people would have nothing to talk about. The first thing Tim did in the level (the same dim mars base from the E3 demo) was spawn a fat zombie in between two light sources. As the zombie ran back and forth, chasing Tim's character, we could see the light casting real shadows across the zombie's model, stretching and changing angles based on the position of the zombie relative to the light sources.
Tim also demonstrated that the Doom 3 engine has a true per poly collision detection for models, meaning that you can actually graze the shoulder of an enemy with a bullet, bust a cap in someone's knee, etc. While shooting the fat zombie with a pistol, we could see the bullets leaving holes in the exact spots on the body where the bullet was aimed. As the body hit the ground, Tim continued pumping rounds into the body as it convulsed with each shot. It's all reminiscent of the features that Soldier of Fortune brought to the table. One thing that set Doom 3 apart from SoF is that Tim stood on top of the "dead" zombie's body. When it re-awakened and tried to get up from the ground, it could not with the engine detecting the weight of Tim's boots stepping on its chest. Instead, the fat lump squirmed around like a fish out of water. Once Tim stepped off the zombie it could get up again and resume chasing.
SIDEBAR: The brand new Battlefield 1942 demo has proven to be popular, filling a couple of servers from the BYOC floor of QuakeCon 2002
LightingThe next thing that Tim pointed out is that EVERY single light in the game is dynamic, not just casting areas brighter indiscriminately, but having a real effect on all objects in the game, casting real shadows. Every light in the game can be shot out as well, although doing so would make it a lot more difficult to spot enemies. Speaking of which, we got treated to an old friend from Doom 2 - the Revenant. The Doom 3 version has twin shoulder mounted rockets, which it fired liberally as it chased Tim around the level. We did notice a little bit of hitching on the machine as rockets were fired and smoke trails criss-crossed the map.
Next, Willits talked about the physics engine in the game, once again demonstrating on a fat zombie, killing it on a short staircase. The zombie displayed "rag-doll" physics similar to that demonstrated by Epic in their Unreal engine technology demos. That is, the body did not lie perpendicular to the floor, hanging over the edge of the stairs and "defying" gravity as you may have seen in many current games. Rather, the body slid down along the staircase as it was shot, lying diagonally across the irregular surface just as you'd expect. The physics engine considers even dead bodies as a skeletal system with relative weights, so there is no strange overhanging or clipping. Likewise, other objects in the game are subject to the physics engine, like boxes shot off of shelves, and light fixtures shot up from their hanging joints. And with the Doom 3 engine's superior handling of direct light sources, a lamp shot from its fixture so that it swings back and forth will indeed cast shadows that lengthen and contract from characters and objects in the room, relative to position.
Willits also demonstrated that a texture overlay can be placed on lights to create an even moodier atmosphere. For instance, there was a metal grating overlay on the light source that casts everything with a striping, windowblind shadow pattern. Those who have seen the movie Aliens would be familiar with the effect such a texture might create. It's also similar to the album cover of the Cure single, "Let's Go To Bed.". The best part about the light source texture overlays is that the cast dynamically and correctly across objects and character models that run across the room!
In-game GUIOne of the final things that Willits demonstrated was that id is testing out new ways of presenting information to the player. As new objectives are given, you are shown an actual screenshot of the objective. For example, if the next goal is to shut off a computer system, a screenshot of that computer system appears in the top right of your screen so you know exactly what you're looking for. Perhaps more interestingly, the computer consoles that you interact with in the game operate like a GUI. Clicking on a console doesn't take you out of the game and bring up the computer screen, enlarged on your monitor. Instead, you remain in the game engine. Mousing over the console causes you to drop your gun, and the cross hair becomes a mouse you can use to click options on the GUI presented to you. This type of an interface keeps the player immersed in the game.
SIDEBAR: This is the first year that the BYOC area of QuakeCon has entirely filled out and walk up registrants had to be turned away.
AnimationNext up on the panel was Fred Nilsson, id's animation specialist. In this portion of the presentation, Fred demonstrated how models are created in Doom 3. Of course they start with a sketch from the artist, John Scott, who then turns the sketch into a 3D looking picture, which is then painted. From this an extremely high polygon model (up to 800,000 polygons) is constructed. A low poly interpretation of this model is created and overlaid onto the high poly model. This is then passed through the Doom 3 engine, which renders the high poly stuff as bump maps across the model, giving it a lush, lifelike look. From there, another set of bumpmaps can be painted over top, finishing the lifelike look of Doom 3's characters, where human faces come complete with the imperfections of pores, 5 o'clock shadow, scars, and wrinkles. Or as John Carmack put it, it's so detailed, "you can now tell if the guy is having a bad hair day."
Once all that leg work is done on a model, Nilsson creates an underlying skeleton with which the important parts like jaws, spine, and limbs can be manipulated. From there, Nilsson uses key frame animations at 24 frames per second (a nod to his experience in the film industry as a veteran of Pacific Data Images, makers of Shrek) to put the model in motion. 24 frames per second may not seem like a lot, but the modelling engines are quite sophisticated enough to do the necessary interpolations to make the animation look as lifelike as possible
Level EditingAfter Nilsson finished with the animation presentation, it was Robert Duffy's turn to talk about the level editor. Here, the crowd watched with bated breath as Duffy showed off an editor that could simultaneously display in real time, the changes made to the map, in a window off in the corner. Designers can drop and drag dynamic lights in the room they're working on and immediately see the effect the light has on the geometry, and the exact way shadows are cast. Add a texture overlay to the light. You can do just about anything you like with the real time view of the level in the window. No longer do designers have to stop, recompile and load a level to see the effects of the changes they make.
ScriptingAfterward, id's Matt Hooper and Jim Dose came up to explain the scripting language and editing interface in Doom 3. The language is very similar to C, so those with programming experience in that language should have no problem picking it up. They've also made it very easy to attach lighting and particle effects to pieces of geometry, and set timing, movement, and other variables. While the discussion started to fly over the head of this editor, the gist of the matter was that careful attention is being paid to the ease with which scripts in the Doom 3 engine can be written and executed, and the flexibility with which they can be activated within the game. They can be set off by player actions, player or character position, and even with the "GUI interfaces" from within the game.
SoundRounding out the panel presentation was Christian Antkow, explaining the way in which sound editing is done in the game. Using a similar toolset as the level designers, Antkow showed how speakers can be dropped right into the map, and any .wav file or "sound shaders" can be assigned to that speaker. Again, the map is shown in a window, appearing as it would in the game. The speaker can be dragged about, and its properties (loudness in decibels, minimum and maximum range, etc.) all set from the sound editor. Doom 3 will natively support Dolby 5.1 surround systems
SIDEBAR: Flood warnings were issued in southeastern Texas during Qcon. No rain in the Dallas area had fallen though.
Pay close attentionAnyone who's ever heard John Carmack speak knows that he can get very technical and easily start flying over the heads of otherwise intelligent people. Hopefully the summary I present does his main ideas justice and don't represent too much of an overinterpretation.
First thing's firstOne of the first things Carmack talked about was how the development of Doom 3 differed from previous games. Unlike past id efforts, where the development of the technology (the engine) happened very much in parallel with the development of the game content (level design, artwork, weapon design, etc.), Doom 3 was a case where John was able to develop the framework for much of the engine and its capabilities well in advance of the content team getting their hands on it. This happened because John's work on the engine came around the same time id was working on Team Arena. With the engine already in place, there was a lot less confusion on the final engine's capabilities, and thus, the content team at id was better able to frame ideas for the game. Also, this freed up John to serve as more of a technical advisor to the team (helping them use the engine's full capabilities to realize their ideas) as opposed to a strict engine creator.
Another point hammered home several times is that the Doom III engine is based on the feature spec laid out by the original NVIDIA GeForce ONE platform. These features include assumed use of 32 bit color, full stencil buffer support, etc, but does not include full use of the newest features in cards like the ATI Radeon 9700 Pro that he would include in the next engine. These newest features include a floating point pixel unit and generalized dynamic texture lookups. As such, Carmack was quick to point out that while Doom 3 does directed light sources better than any other engine, it's not as strong in representing ambient light sourcing, and thus, would not be ideally suited for representing outdoor levels.
Getting on his soapbox a bit, Carmack touched on the issue of upcoming support for 64 bit color in next-generation graphics cards. Addressing those who question the point of 64 and 128 bit color (since it can't be fully represented on a monitor anyway), Carmack likened the question to previous debates about 16 bit vs 32 bit color. The fact that monitors can't fully display 64 bit color gets away from the point, because the way images are processed by engines, colors keep getting dimmer and dimmer with every pass as color values are multiplied and processed over and over again. Added precision would help minimize this effect.
Higher level APIsPerhaps most interestingly, Carmack spent much of his keynote advocating the emergence and use of some type of generalized high level API that can automatically decompose graphics algorithms by itself and optimize itself for the hardware in the card. Carmack bemoaned the presence of so many different cards from ATI, NVIDIA, 3DLabs, and Matrox among others, each with its own unique architecture. Some have 2 pixel pipelines, some have 4, and still others have 8. Manually optimizing the engine for each of these different architectures is time consuming and detracts from game and engine development. If engines were written using an API that could automatically decompose itself for specific hardware, then this tedious work could be avoided.
While some might bemoan the lack of flexibility for low level tweaks and optimizations, Carmack used the analogy of assembly vs C programmers. Who programs games in assembly anymore? Yes, you'd lose the ability to tweak low level things, but Carmack points out that more time for higher level optimizations would present itself, making a generalized graphics API like NVIDIA's Cg worthwhile. There are similar APIs in the works from Microsoft and 3DLabs and a new version of OpenGL that all work similarly, and according to Carmack there "isn't much difference" between them. Putting his money where his mouth is, Carmack vowed that the next engine he writes will be in a high level shader API.
SIDEBAR: Carmack stressed that Doom 3 will be slower in pace than previous games, because it's a different type of game from Quake 1, 2, and 3.
Will Doom 3 do anything special with water?No, there is no generalized solution for water or fluids. It was not a focus of this engine.
Will there be a console version of Doom 3 and will it be moddable?The only thing we've committed to is the Xbox version and it's not expected that will be moddable. Microsoft isn't interested in that.
Is the monster AI affected by shooting out all the lights?They're demons and creatures of Hell. They can see in the dark!
How will the next generation of 64bit CPUs affect Doom 364 bit is not going to speed up Doom 3. In fact there may actually be a minor slowdown since the pointer references are all in 32 bit, which will mean a hit to memory bandwidth which is the real gating problem.
Will there be a Linux port of Doom 3?Absolutely, but Linux version basically means an NVIDIA version - that's the only safe bet for working video under Linux in Doom 3.
Will we see the rocket launcher, railgun, and standard weapons in Doom 3?Yes you can see some of the basics like the pistol, shotgun, etc. The railgun is iffy at this point though.
How long will Doom 3 be?It won't be an extremely long game. It won't be as short as some games coming out now, but most likely someone could buy it, take it home, obsessively play it for a weekend and beat it.
How much longer will we have to wait to play Doom 3?We hope to not be a company that shows the same game at E3 for multiple years without it coming out. (Does this mean we will see it before the next E3? -ed)
Will Doom 3 have a chainsaw?It's in the spec, but not currently implemented.
What is your opinion of the upcoming generation of 3DLabs cards?From what I can tell, it's not going to be performance competitive with the top level cards from ATI and NVIDIA. They do have good drivers and an implementation of virtualized texture memory.
To what degree have you generalized the Doom 3 engine for licensees?This is a common point of contention in our offices. We do provide full source code to our licensees and not just libraries. The big thing is that we cannot lose focus on making our game in order to make things easier to license out. The game we make serves as a demonstration of what the engine is capable of doing. We don't hand out glossies or stacks of documentation to show what is possible
Will Doom 3 have multiprocessor support?This is kind of a funny story with Quake 3. It started out having SMP with about a 25% increased performance when it was released. Somewhere along the way someone broke something in one of the point releases and it stopped working. Anyway Doom 3 should support it.
SIDEBAR: There were three Jack in the Boxes within about a 5 mile radius of QuakeCon
After all the success id has had with multiplayer shooters, why make Doom 3 a single player focused game?Tim: When John Carmack originally created Doom, he had a vision of what it should be. He felt that this technology he just created could truly bring that original vision to life. The best way to do that would be to create a totally scary, immersive, in-your-face single player game. We feel that Return to Castle Wolfenstein and Quake 3 are great multiplayer games, but there are millions of people who like to be scared, and like to play in their room with the lights off. That's who we want to target with Doom 3.
Ok so you're going for the spooky, scary feel and you have this great technology in place. But is there any way you're going to have the single player game stand out. We've had Medal of Honor and Half-Life with their scripted sequences, and No One Lives Forever with creative mission design. What sorts of things do you have planned for Doom 3?Tim: We have a lot of great tools to add to the immersiveness. We have the 5.1 audio and the physics system to wrap things together. We also have Jim Dose, who developed the scripting technology in games like Alice, FAKK2, Medal of Honor, and Return to Castle Wolfenstein. We have everything we need to create a great single player game.
Fred: In the Doom 3 theater presentation you saw how there will be parts where the game takes control and gives short introductions to new monsters, etc. We probably won't have too many long cinematics, just flashes to what is coming up and what's in store for the player. There will be other cinematics that help tie the story together.
I can also do wake up animations where I import part of the level into Maya to animate stuff, and I can actually add skeletons to parts of the level. Like the part where the Pinky comes through the pipes; that was hand animated. I imported that chunk of the wall, and then I cut it up and made models for it, put bones in there, and I animated the thing coming through. We're going to have all sorts of interesting ways for monsters to come at you like that. You don't see a lot of games where monsters interact with the world, breaking things and moving things.
Another thing previous Dooms are known for is hordes and hordes of monsters coming at you. Is that something that's going to change in Doom 3?Tim: We're focusing on the fear factor over the raw action. We're going to have tighter combat, more intimate interactions with the monsters. The monsters are going to be designed in such a way that they will orchestrate great scenarios with the player.
Fred: I bet you one of the first things someone does is make an empty room with 200 imps or 200 pinkies just to see what happens. But you see the technology is pretty advanced…in a few years, sure I bet the machines will be able to handle it. But right now it's not realistic to put a couple hundred pinkies in a room. Doom 3 is just a different type of game. We're not making the same old Doom. There will be different scenarios and different interactions.
John said something at the end of the Q&A about how the multiplayer will be only four players?Tim: After 2 hours of talking up at the podium, sometimes you leave a few details out. Doom 3 multiplayer will be fully scalable. It will be a peer to peer system. We haven't started working on it yet. Tell everyone not to panic - it will be fine. John just forgot to mention it'll be scalable past four players. It's hard to give a hard number because we haven't started working on it yet. Right now we're focused on making Doom 3 a kickass, over the top single player game.
So will it be standard deathmatch stuff or are you planning any new modes?Tim: We're not going to break any new ground with multiplayer in Doom 3. We feel that Quake 3 and Return to Castle Wolfenstein are great multiplayer games. We have 17 people working with brand new technology. We want to do something better and more involved with single player, so that's where we're focusing our effort.
Fred: Just this morning we were talking about expansion packs and add ons and who knows where those might take the multiplayer. It might get much more involved with the team aspects.
Can we rule out a cooperative mode then?Tim: Yes that's definitely out.
How is per poly collision in multiplayer going to play out? If you pick a really skinny model, you'd be at an advantage over say the fat zombie.Tim: Again, we haven't even programmed it yet. The simple answer to that is, we're not going to put the Bones character in.
Fred: Yes, we're not going to have like 30 deathmatch characters. You're not going to be able to pick any monster in the game and use them in multiplayer. We'll probably make a few specific characters for multiplayer like the way Quake 2 had a male and a female model, so we can keep control over the size of what you're fighting.
SIDEBAR: Pepsi Blue mixed half and half with Sprite isn't too bad
What can you tell us about the weapons? I know this is the first id game where you have to reload your gun.Tim: People familiar with the previous Dooms will be happy with the weapons that the game ships with. But we do have some surprises. There will be a BFG, and the railgun is iffy. The chainsaw is in the spec but hasn't been built yet.
What about alt-fire modes?Tim: No we're not going to have alt-fire modes.
Let's talk about the level of interaction with the environment. We saw how you were shooting boxes off of shelves, a la Metal Gear Solid 2. How will those play out in the game?Tim: Our biggest interactive element is the graphical user interfaces within the game. That gives us a lot of tools and a lot of freedom to make the world seem a little richer. The interfaces will be simple, crude HTML type stuff, you can drag windows and open stuff. The player will be able to interact with the lighting and other aspects through those. We have the physics system is well.
Fred: The GUI system is cool, the way the gun comes down and the cursor comes up. We're coming up with very interesting ways of using it to control parts of the world, relay information about the story.
Tim: We'll have some NPCs as well that you will get information from.
So you can talk to them?Tim: You're not the only guy in the universe, but they'll be talking to you, you won't be holding conversations with them.
Fred: You'll be getting information, overhearing conversations, etc.
What about stuff like shooting a lamp fixture and it falling on somebody, are you going for that level of interactionTim: We have all the tools to do that. We just go work on the game and when we get to the point where we think 'It would be really cool if we could do this,' then we just go do it. Fred has the ability to animate world geometry and do cool things with physics.
Fred: The pipeline for doing cinematics is sweet - you can make a short film with the engine. I can take the level from the level designers, export it out with the geometry/polygons/textures into Maya. So I can load up that same level into Maya. If I want to animate parts of the world I can do that, can set up multiple cameras, do all the editing in Maya, and switch between cameras there.
Is there anything you can reveal about other levels in the game we haven't seen yet?Tim: Oh we'll have some outside areas, as you saw in the Doom theater, the exterior of that city. We'll have Hell of course, which is really cool. The art guys are working on some cool areas that we haven't shown anyone or taken any screenshots.
What about item use in the game? I know that's not something that id's known for, but is that a possible direction you'd go in?Tim: We have items that the player is required to get, but our focus is really on telling a great story, have great weapons, great monsters, etc. Playing with gadgets is not our focus.
John hinted at a release date, that he didn't want to show it again at E3. Any comments?Tim: It'll be out 2003. Whether or not it's the beginning or the end I have no idea. It's way too early for us to speculate about E3.
Fred, what monster that you've shown or that you can tell me about did you have the most fun animating?Fred: Probably the Hell Knight - the one who rips your head off at the end of the demo. The Pinky I like too. I just like the big heavy monsters because you can add a lot of weight and they're just scarier.
What's the name of the monster that crouches and leaps in the demonstration movie?Tim: That's the imp.
So can we count on seeing a lot of those old favorite monsters?Fred: We have a lot of characters in already with rough passes. The ones you've seen seen are more finalized with all the passes, and all the cycles based on pain. You can hit them right arm, left arm, head. We have zones that will make them react differently where they're hit. With the other characters we'll be able to flesh them out, put in the ragdoll physics, how they fall down stairs, etc.
Does the effect of weapons when you're hitting a monster differ depending on what that portion of the monster is made of? For example, the Pinky has a cyborg/robot hind quarters and a fleshy front end. We know he bleeds up front, but will bullets ping off the rear if you shoot him there?Fred: I think we have plans to do something like that. Right now it doesn't work that way, but it's something we're thinking about.
SIDEBAR: Pepsi Blue mixed half and half with Sprite isn't too bad
SIDEBAR: What do you think of Doom 3? Sound off!
|© Copyright 2003 FS Media, Inc.|