|/The Unofficial Doom 3 FAQ|
The Unofficial Doom 3 FAQ
By Linguica and Cyb
What is Doom 3? (Back)
- What is Doom 3?
- Who is creating Doom 3?
- What sort of engine will Doom 3 use?
- What sort of system will be required to play Doom 3?
- Will there be any console ports of Doom 3?
- What sort of gameplay will Doom 3 have?
- When will Doom 3 be released?
- Will there be a demo?
- What was this other game that id was planning on making instead of Doom 3?
Doom 3 is the unofficial name for id Software's next full game. The game was unofficially announced on June 1, 2000, in a .plan update by John Carmack:
Well, this is going to be an interesting .plan update.
Who is creating Doom 3? (Back)
Most of this is not really public business, but if some things aren't stated
explicitly, it will reflect unfairly on someone.
As many people have heard discussed, there was quite a desire to remake DOOM
as our next project after Q3. Discussing it brought an almost palpable thrill
to most of the employees, but Adrian had a strong enough dislike for the idea
that it was shot down over and over again.
Design work on an alternate game has been going on in parallel with the
mission pack development and my research work.
Several factors, including a general lack of enthusiasm for the proposed plan,
the warmth that Wolfenstein was met with at E3, and excitement about what
we can do with the latest rendering technology were making it seem more and
more like we weren't going down the right path.
I discussed it with some of the other guys, and we decided that it was
important enough to drag the company through an unpleasant fight over it.
An ultimatum was issued to Kevin and Adrian(who control >50% of the company):
We are working on DOOM for the next project unless you fire us.
Obviously no fun for anyone involved, but the project direction was changed,
new hires have been expedited, and the design work has begun.
It wasn't planned to announce this soon, but here it is: We are working on a
new DOOM game, focusing on the single player game experience, and using brand
new technology in almost every aspect of it. That is all we are prepared to
say about the game for quite some time, so don't push for interviews. We
will talk about it when things are actually built, to avoid giving
The new Doom game is being created by id Software, the makers of Doom and Doom 2. Here is a list of those associated with Doom 3:
- John Carmack
- Jim Dose
- Jan Paul van Waveren
- Robert Duffy
- Graeme Devine
- Paul Jaquays
- Tim Willits
- Christian Antkow
- Malvern Blackwell
Music and Sound:
- Adrian Carmack
- Kevin Cloud
- Kenneth Scott
- Seneca Menard
- Fred Nilsson
What sort of engine will Doom 3 use? (Back)
- Marty Stratton (biz guy)
- Eric Webb (intern / tech support)
- Todd Hollenshead (CEO)
- Donna Jackson (id mom)
The Doom 3 engine is going to be an extremely modified version of the Quake 3 codebase, if not an entirely new engine. On 9/18/00, John Carmack gave the impression that while the prospect of creating an entirely new engine from scratch was tantalizing, he had decided that there is no point in reinventing the wheel: "it is a huge help to have all the existing facilities of player movement, weapons, third person, noclip, cvars, console commands, etc, all present while I just concentrated on new rendering algorithms." However, on 10/23/00 Jim Dose had the following to say:
The engine is being completely rewritten, just piece-by-piece. Currently, the renderer, shader system, and game code are completely new. The cgame and network code have been removed. The animation system is currently being written from the ground up. The sound system and UI are still in place, but will be rewritten by Graeme and Robert when they are finished with the mission pack. At some point along the way, John will probably write a new network system.
So, even though we are not starting out with a blank sheet of paper, the final result will be a full rewrite.
Doom 3 will use an entirely new rendering engine. Features in the new
engine include things such as fully-dynamic lighting with no predetermined lightmaps (something John Carmack has been interested in for a while) and 3D textures.
On 8/9/00 Carmack said that "one of the primary functions of our next-generation technology is trying to do everything with bump-mapping and dot products." On 9/20/00 he seemed to confirm that there will be support for bump mapping via both artist-produced bumpmaps and procedural bumpmaps.
On 2/21/01 John Carmack showed off the Doom 3 engine for the first time at the MacWorld expo. He had the following to say about it, among other things:
"We've been doing hacks and tricks for years, but now we'll be able to do things we've been wanting to do for a long time," Carmack said. "For instance, every light has its own highlight and every surface casts a shadow, like in the real world. Everything can behave the same now and we can apply effects for every pixel."
Unlike previous id Software games, Doom 3 will have a programmer dedicated to the sound code. This suggests that Doom 3 will feature full EAX compatibility, as well as more nifty features which we can only imagine at the moment.
In a 9/20/00 interview, John Carmack let slip the following information regarding the new sound code:
Graeme's primary task is going to be a completely new sound engine. Coupled with the fact that this will be the first project where I am comfortable using threads (previously the cross-platform issues have nixed it for me) for required background streaming, we should have quite literally an order of magnitude more audio richness than in our previous games.
On 2/21/01, Jim Dosé said the following about the sound system in the Doom 3 engine:
Jim: We hope to go really far with the sound in Doom. Probably the best thing about FAKK’s system was the fact that it gave the sound designer a lot of control over sound in the game and we want to have the control and editing support in Doom to be just as good, if not better. Graeme is spending a lot of time developing a robust sound system and Robert is developing a user interface that allows us to quickly setup in-game editing facilities, so I think we should be able to give Doom’s sound the justice it deserves.
Doom 3 will almost certainly include Quake-style client/server TCP/IP networking code. There will probably not be a peer-to-peer networking feature, nor a modem-to-modem direct-dialup connection.
4) Game Logic
John Carmack had the following to say on 9/18/00 when asked about exploiting a broadband-only design target:
The biggest thing that broadband will do is just save a lot of twitchy programmer time spent optimizing for the modem straw. This will increase flexibility and let developers concentrate on making the environment and game play more fun. Clearly, that is a good thing all by itself.
Voice (probably with several optional vocoders) is a no-brainer once we get more bandwidth, and even talking-head webcam video becomes a useful possibility.
I'm not sure of the exact utility of it, but it becomes feasible to send and receive packets from multiple sources on a real-time basis, which you can't afford to do with a modem. This may enable some architectures that are more clustered instead of the binary boundary of client / server.
Doom 3 will use DLLs for the game code much as Quake 2 did. John Carmack has expressed his interest in creating some sort of QuakeC-ish simplified coding language which would make mods a simpler affair than in the Quake 3 engine.
In a Planetcrap.com post on 11/15/00, Jim Dose had the following to say about a handful of popular 3D engines:
By this time next year, most, if not all, of the games made with these engines will use a fully featured physics engine, if not developed internally by the developer, then licensed from someone like Havoc or MathEngine.
As expected the Doom 3 engine features a realistic physics model.
As opposed to earlier id games, Doom 3 is being developed on the same machines it is intended to play on. This means that all the tools that id Software will be using to
create Doom will be available to the average gamer, with no need for specific hardware. In fact, the Doom development tools will be integrated with the game code, and will be accessible
from the same executable. As John Carmack had to say on 9/18/00:
The decisions to integrate all tools (editor and map processing) directly into the executable, and to make map source data required for loading in addition to derived data, make the new game far and away the easiest to create content for. Every installation that can play the game can edit the game.
Also, I have banished the last of the binary file formats, so everything (except standard data files like .wav and .tga) is now in easily explored and understood text files.
All of the following in this section is speculation but it does seem to make a certain amount of sense, so I would go out on a limb and wager than while the details might be wrong, the underlying idea is probably correct.
In a statement in 1/01 on the Polycount boards, "Wrath," ex lead animator at Ion Storm, had the following to say about the Doom tech:
"Ayup...that's 500,000 poly models. I saw them, they were in game though probably not the way you think. The high poly version of the models were being used as the reference for all the cool lighting effects...the self-shadowing, bump mapping, displacements, etc. That info was being projected onto a much smaller version of the model, maybe 1500 polys or so. The high poly versions were untextured, the low poly models were using 3 or 4 256x256 skins I THINK. They were very hush hush about specifics."
Now, here's a tentative explanation by Zaldron in the Doomworld forums from 7/19/01. I know this is a long quote, but it sounds to me that this trick is on par with the initial realization in the Quake engine of calculating lighting information beforehand and storing it in the map data, so I think such a long quote is warranted.
"I dunno how exactly the magic was working, all I know is that they're starting with insanely detailed models, using them for all the lighting info, and passing that info on to the decimated skinned model that's actually running about in game. Not that you would be able to tell. You get close enough to a model, you can see the creases in fingers. All looking incredible."
Now, you have 2 models. One of them is the one you made for the game, it contains only mesh structure for the FIRST frame AND skinning parameters (that is the X, Y, U and V coordinates for every triangle).
If you wanna know what X, Y, U, V, H, X, 545, Hoolapalazac, etc etc are. It's quite simple : A "skin" is made from several images. Artists prefer to use one whole image for the head and neck, the other one for the torso and arms, and the other one for the pelvis and legs. Anyway, each triangle is painted with several pixels of those pics, how? Simple, choose the X and Y coordinates on where it starts borrowing from the pic, and then the U and V numbers tell the engine the horizontal and vertical percentaje of the pic being used.
Anyway, the thing is that X, Y and Z coords for EVERY vertex, the joined edges, the skinning parameters, the normals data and the sub-materials values mean a LOT of SPACE = LOT OF RAM.
That's why the 500k one is untextured. Otherwise it would occupy several megs.
Traditional animation says : 1 frame = one different mesh. This is a horrible, horrible waste, because the size required to store "mesh form" is enlarged as many frames there is. That's why id moved to skeletal. Both the low poly and the high poly versions contain only one frame of animation, commonly the shape of the creature in a non-complex gesture, as standing with both arms stretched.
Now, the hi-poly is user for shadow/bump calculations. Since it's not being rendered, it doesn't need all that skin data, but the model keeps eating a fair amount of RAM.
Anyway, we have 2 models. The hi poly model is being hit by the lightrays in the game, resulting in both shadow/highlight pixel values, and bumpmap results.
Have you ever seen a really good texture job in a model? It generally makes up for the jaggy edges. Now, taking this data in account, the textures will be upgraded by both the shadows and the bumpmaps in real time, as I explained in my article. But this time the position data comes from a MUCH MORE ACCURATE model, meaning that the result will not match the low poly mesh, but actually looking better.
Hard to understand? Imagine a 3 faced finger. Bleh. Anyway, a bumpmap over that finger would look horrible, because you can clearly see how the bumpmap takes in consideration that mesh, and draw some accurate results FOR A 3 FACED FINGER, NOT A NICE ONE. With id's method, the bumpmap will come from the NICE FINGER, and skinned over the CRAPPY FINGER, will make the CRAPPY FINGER look like the NICE FINGER -IN THE INSIDE-
Why did I added that "IN THE INSIDE"? Hard edges are still there, and that's why I'm saying 1500 is way too low. Because the 500k poly will make shadows and bumpmaps look real-like, but the low poly is the one being rendered, and it still has those hard edges.
It's like rendering the 500k poly with all the textures and ligthing and shit, but then cutting the shape of the low poly one all around it.
In a 2/20/01 interview, Fred Nilsson had the following to say about the animation system that will be utilized in Doom 3:
What sort of system will be required to play Doom 3? (Back)
Fred: We have a great pipeline in place already.. I can import a model from Lightwave or 3DSMax. Set it up with bones.. Adjust the deformations. Then export it right into the game.. We can even do cameras etc. So.. Making cinematics should be a blast..
It is also known that id Software has been using Maya for their Doom 3 modelling/animating work as well.
Doom 3's minimum requires specs are a video card with DX 9.0 compatability and at least 64MB of video memory (Radeon 8500 or a GeForce 3), a Pentium 4 1.5ghz or Athlon XP 1500+ processor, 384MB of RAM, and 8X CD-ROM, 2.2 GB of disk space and a broadband connection for multiplayer.
In an interview on 9/18/00, John Carmack had the following to say about the Doom 3 engine and how fast it will run:
I am spending a huge amount of graphics horsepower to allow the engine to be flexible in ways that game engines have never been before. It is a little scary to drop down from the ultra-high frame rates we are used to with Q3, but I firmly believe that the power of the new engine will enable a whole new level of game content.
Will there be any console ports of Doom 3? (Back)
I am hoping that the absolute top-of-the-line system available when the game ships will be capable of running it with all features enabled and anti-aliasing on at 60hz, but even the fastest cards of today are going to have to run at fairly low resolutions to get decent frame rates. Many will choose to drop a feature or two to get some speed back, but they still won't be able to get near 60hz.
Remember, the game won't ship for a long time yet, and today's cards will seem a bit quaint by then.
An X-Box port will be released some time after the PC version, though a specific release date has not yet been set, I'd expect it around a month or two after the PC version. There will not be versions for the Playstation 2 or Gamecube.
What sort of gameplay will Doom 3 have? (Back)
The press release officially announcing the new Doom game on 6/5/00 describes the new Doom as being a "over-the-top, story-based single-player experience." However, specifics about Doom 3's gameplay will probably not be discussed until shortly before the game is released, as what made the original Doom so popular is always a subject of arguments.
A few scant facts are known:
In a 10/28/00 interview, lead level designer Tim Willits had the following to say about an area he would like to explore in Doom 3:
- According to a 8/15/00 interview with Mr. Elusive, one of his tasks with the Doom 3 engine will be working on the scripting, which seems to suggest that the game will
feature scripted sequences.
- In that same interview, Mr. Elusive said that while all the monsters would probably share a common basic AI, they would have different individual characteristics and personalities.
Giving players information. We need to find better ways of giving players the information they need to advance through the game. Sidekicks and computers have been done before. As developers, we need to find more creative ways of giving players the information they need to progress as they play the game, and that's what we're hoping to do in DOOM.
When will Doom 3 be released? (Back)
Doom 3 will hit store shelves on August 4th, 2004.
Will there be a demo? (Back)
Tim Willits has said that there will be a demo, though not until after the shelf date. No specific release date has been set for it aside from 'when it's done' (and we've all heard that one before).
What was this other game that id was planning on making instead of Doom 3? (Back)
Originally, id Software was planning on creating a MMORPG-ish game code-named "Quest." Graeme Devine described the game this way on 8/4/00:
Quest would have combined the RPG massively multiplayer ideas of an game like Everquest with the multiple server features of a Quake-style game. Devine said Quest would have a small party of five, like a fighter, barbarian and magic user, and the players could sign on to a Quest server and have it be a different server with different missions and quests. "You were there on your own," Devine said, "You and your five buddies against the world."
id has said their next project after Doom 3 (which is allegedly already underway) will not be an FPS like their provious projects, so it's entirely possible they will be reviving this idea. We'll just have to wait and see.
Each server would have been run by a person akin to a Dungeon Master in Dungeons and Dragons who would have been in control of the enviroments the players found themselves in, right down to the rats crawling around on the ground.