The Doom 3 engine is important to the gaming community as it continues id Software's commitment to OpenGL. OpenGL ensures that Doom 3 can be ported to the Macintosh and Linux platforms with minimal impact to the base code. The Doom 3 engine is expected to be licensed by other game developers, which will provide us with games that contain state-of-the-art graphics. Graphics could even improve when you consider that a game like Call of Duty was derived from a heavily modified Quake 3 engine.
Doom 3
And you can be sure that ATI and NVIDIA will be doing their part by providing the high-end graphics hardware that will keep hard-core gamers happy.
SYSTEM SPECIFICATIONS
AMD's Athlon 64 is an excellent processor for a gaming system. I purchased the 3400+ model, with 1MB of L2 cache, in March for $416. Since then, its price has dropped by 25% to a little over $300. Of course, NVIDIA's GeForce 6800 Series comes highly recommended by John Carmack, who is the President and Technical Director of id Software.
"As DOOM 3 development winds to a close, my work has turned to development of the next generation rendering technology. The NV40 is my platform of choice due to its support of very long fragment programs, generalized floating point blending and filtering, and the extremely high performance."
Gamers on a budget will be interested in NVIDIA's recently announced GeForce 6600 and GeForce 6600 GT. The GeForce 6600 GT has an estimated retail price of $199 and is expected to be available during the 4th quarter of 2004.
NVIDIA's GeForce 6600 GT (SLI Ready)
The PCI-Express model supports NVIDIA's Scalable Link Interface which allows you to add a second GeForce 6600 GT. Tests conducted by NVIDIA indicate that 3D graphics performance will increase up to 75% in dual SLI mode. PCI-Express versions of the GeForce 6800 GT and GeForce 6800 Ultra will also be capable of operating in SLI mode.
Do you know that Doom 3 is being bundled with the PNY Verto GeForce 6800 GT at CompUSA?
One of the first tweaks most people make after playing Doom 3 a few times is to bypass the introductory video clip. This can easily be accomplished by adding the +disconnect command to the Target field of the shortcut properties for Doom 3.
Shortcut Command Line
Other commands and console variables can be added to the Target field as necessary.
THE CONSOLE
The console is a command line interface to Doom 3 that allows console variables, or cvars, to be reported and assigned values. Commands, such as quit (the game) can also be executed via the console. By default, the console is activated by holding down the Crtl and Alt keys and then pressing the tilde key (~), which is located to the left of the number 1 key.
To override the default keys and allow the console to be activated by using the tilde key only, type seta com_allowconsole 1 and press enter. To exit the console, press the tilde key.
Console
A complete list of commands and console variables can be written to a text file. First, activate the console and enter clear. Then enter list cvars or list cmds, which will write a list of all commands or all console variables to the console. The last step is to save the contents of the console to a file, which can be done by entering condump filename.txt, such as condump cvarlist.txt or condump cmdlist.txt. The files will be saved in the \Doom3\base directory.
SCREENSHOTS
The following screenshots were taken while paying back Doom 3's built-in demo1 demo. Screenshots can be taken by pressing the default F12 key and are saved as targa (.tga) formatted images in the \Doom3\base\screenshots directory.
Demo1 Screenshot
These particular screenshots were captured while Doom 3 was running at a custom resolution of 1440x1103. The frame rate is shown at the top right of the screen courtesy of FRAPS.
Demo1 Screenshot
The freeware graphics utility IrfanView can be used to view and save targa images in other image formats.
The frame rate in Doom 3 can be displayed by entering seta com_showfps 1 in the console although it is capped during gameplay at 60 frames per second. This was done to ensure that responses to player input remained consistent and to avoid the advantage that a player with a higher frame rate may get.
Frame Rate Cap Removed
The 60 frames per second cap is overridden during a timedemo benchmark and can also be overridden during gameplay by entering com_fixedtic -1 in the console. Note that com_fixedtick can also be set to 1, which causes player movement to increase and decrease proportionally with the change in frame rate. For example, when the frame rate is 180 frames per second, the player moves at three times the rate than he would have at 60 frames per second.
CUSTOM CONFIGURATION
Custom settings for Doom 3 can be saved in a text file named autoexec.cfg, which is to be stored in the \Doom3\base directory. The image below shows an example of an autoexec.cfg file. The // characters are comment indicators.
Sample autoexec.cfg
The r_mode variable sets the graphics resolution. Use the vid_restart command to apply graphics related changes without exiting the game.
Note that the last four commands in the autoexec.cfg are commented out and will not be executed by Doom 3. Aslo, be sure to check your monitors specifications if you attempt to enable a custom resolution or change the refresh rate!
GAME SETTINGS
As a result of the dark environment that Doom 3 takes place in, the benefits of antialiasing will be less than that of a game where light is prevalent. However, antialiasing is a desirable feature and its performance continues to be accelerated by increasingly powerful graphics processors.
System Options
Based on the capabilities of your graphics card and processor, Doom 3 will automatically select a video quality and resolution. Robert Duffy of id Software provides an overview of the video quality setting here.
Low Quality - Defaults to a resolution of 640x480 and is intended for graphics cards with 64MB of memory and systems with 384MB of memory. Compression is used for specular, diffuse, and normal maps. Lowers the resolution of textures over 512x512 and specular maps are downsized to 64x64.
Medium Quality - Defaults to a resolution of 640x480 and is intended for graphics cards with 128MB of memory and systems with 512MB of memory. Although textures are compressed with Medium Quality, they retain their original size. More sound effects are also used.
High Quality - Defaults to a resolution of 800x600 and is intended for graphics cards with 256MB of memory and systems with 768MB to 1GB of memory. Normal maps are uncompressed, while specular and diffuse maps remain compressed. An anisotropic filtering level of 8X is enabled, which can be overridden with the image_anisotrophy variable. The most sound effects are also used.
Ultra Quality - Defaults to a resolution of 1024x768 and is intended for graphics cards with 512MB of memory and systems with 1GB or more of memory. Textures are not compressed and 8X anisotropic filtering is enabled.
Additional graphics settings can be managed in the Advanced Options.
Advanced Options
HIGH QUALITY PERFORMANCE
The following bar charts are High Quality benchmark results from the demo1 demo. Entering timedemo demo1 in the console will run a benchmark. Sound is automatically disabled.
The results are based on an average from the second and third benchmark runs. Results from the first run were not used.
No AA And 2X AA Benchmarks
The demo1 benchmark gives the system a good workout as the minimum frame rate is about half of the average frame rate. However, note that Doom 3's artificial intelligence and physics engines are not used during a timedemo.
With 2X antialiasing (bottom chart), we see a sharp decline in the minimum frame rate at 1280x1024 (-24%) and 1600x1200 (-26%). While the average frame rates are in good shape, the minimum frame rate reveals that performance will drop well below 30 frames per second at 1600x1200 under some conditions.
4X AA And 8X AA Benchmarks
With 4X antialiasing (top chart), 1024x768 provides very good results. However, minimum frame rates are extremely low with the High Quality setting at 1280x1024 or 1600x1200. At 1024x768, the average and minimum frame rates dropped by 21% and 28% respectively when compared to no antialiasing. At 1280x1024, the average frame rate decreased by 34% and the minimum by 42%.
While 8X antialiasing offers the best quality, its performance under High Quality mode will keep it limited to a resolution of 640x480. The sharp decline in performance from 8X antialiasing is due to supersampling, which is demonstrated in the next section.
ANTIALIASING QUALITY
The following javascript applet will demonstrate the effects of the various levels of antialiasing in Doom 3. Clicking the links underneath the image will reveal the screenshot that was taken with the chosen method of antialiasing enabled. Be patient while the image is downloaded from the server as they average around 50 KB in size.
After each image is downloaded and saved in your browser cache, you'll be able to quickly switch between them to see the differences in the antialiasing techniques. As you switch between the images, subtle changes may occur in the areas pointed out by the yellow arrows.
This particular scene makes for an interesting comparison as 8X antialiasing provides superior image quality over 2X and 4X. Notice that the areas pointed out by arrows 1,2 and 3 are not receiving any antialiasing at 2X and 4X as they both employ a multisampling technique. However, multisampling is relatively fast since it targets objects that are rendered using geometric primitives, such as the areas indicated by arrows 4 and 5.
Display Triangles (r_showTris 1)
Multisampling does not affect areas inside a polygon, which can be rendered with alpha textures. These areas, which are antialiased by supersampling, can be illustrated by displaying triangles in the scene via the r_showtris variable.
In developing the above image, a top and bottom section from the comparison scene were joined an enlarged by 50%. It will better illustrate the effects of antialiasing in those particular areas.
This Doom 3 guide is a work-in-progress, which I hope will end up being similar in concept to Part 1 and Part 2 of "The Quake 3 Arena Tune Up Guide."
To be continued...
CHANGE LOG
This following is a list of changes that have been made to this article since it was originally published:
August 17, 2004 - Added information in the frame rate section about com_fixedtic -1. When com_fixedtic is -1, the 60 frames per second cap is removed, but the player moves at normal speed. Thanks Thomas T.