Well has hit the shelves and some of you are even lucky enough to have already started playing it. As with any new game their will be a lot of questions and not many answers. I have my own questions, and have found a few answers to them which I'm sharing here. Please note I've had the game for less than a day, so it's possible their will be errors which will be fixed as more information becomes available. Thanks to Scott for his huge help in pouring over the cvars and configs.
WORD OF CAUTION
If you don't know what you are doing, you can screw things up pretty badly, for which Viperlair won't be held responsible. You follow the info in this article at your own risk. That said, make a back up of your current DoomConfig.cfg and you should be safe (it's in the doom3/base folder). If anything goes wrong, you can either revert to that or delete it entirely, forcing Doom III to create a new DoomConfig.cfg from scratch.
The guide will be broken down as follows:
Autoexec and the Console - Basic Introduction
Performance Tweaking - Image and other performance tweaks
Game Tweaking - other tweaking area such as mouse control, coloured names
Editor - getting it running to design your own maps
Scripting - just a few scripts you can use in your autoexec
Server - so you want to run a MP server?
An autoexec.cfg file is a configuration list of cvars that is run when the game is loaded. It can contain your settings for the game, your bindings for chat messages and controls, and anything else you might need. The beauty of using an autoexec file is that you can layout it out in a manner that is easy for you. Basically its nothing more than a text file. You can take a look at an example autoexec here. It's currently rather big and very much a work in progress, however we have started to mark out a few items of interest for tweaking.
To create your own, make a new text file and save it as 'autoexec.cfg' making sure you save it as all files and not as a txt file. If you don't, you'll end up with an 'autoexec.cfg.txt' file. Save this in the Doom3/base folder (the same folder as the DoomConfig.cfg). You can then edit it with a text editor such as wordpad. Should you want to make your own notes, placing // before a line will tell Doom III to ignore it.
Where is the console?
The console can be accessed by pressing CTRL-ALT-x where 'x' is the key under ESC, tilde for many, ` hyphen for others, it all depends on your region. You can however set this to the key under ESC only by adding the line -
set com_allowConsole "1"
to your autoexec.cfg.
What was that command again .... ?
You get a list of commands or have your commands completed in the console by using the tab key. For example -
c + tab key in the console will give you a list of all commands beginning with c.
Speaking of commands beginning with c, you can dump the current console to a text file if you wish with the 'condump blah.txt' command.
Before you get to tweaking, you will want to know how to benchmark the game to get before and after results of your handiwork. So start Doom III and bring down the console. Then type -
Wait for the demo to run and you will be presented with a screen at the end with your frame rates. Since you will be stopping and starting Doom III a lot, you can also bypass the beating heart machine intro by adding -
to the target command line of your Doom III shortcut. To do this, right click the shorcut and go to properties. Find the Target line and change it accordingly. Mine reads -
"D:\Doom 3\Doom3.exe" +disconnect
If you want to see your frame rates in game, simply use -
set com_showFPS "1"
which will display your current FPS in corner of screen.
set com_videoRam "64"
Doom III has detected I have 64mb of ram on my video card. Well I actually have 256mb, which is probably why a few other settings seem out, hence I set it manually.
set image_downSizeBumpLimit "512" //1024 for 256mb gfx. 512 for 128mb gfx. 256 for 64mb gfx
set image_downSizeBump "1" //enables above
Originally the above was set to 256, as if I had a 64mb card. What I believe it does is decide how large in pixels the bump map textures should be on screen. Without a performance hit I was able to use 1024 with a 256mb card. You can also try -
set image_downSizeLimit "512" //1024 for 256 cards. 512 for 128mb gfx. 256 for 64mb gfx
set image_downSize "1" //use to enable above
I've had friends say that below does work and others say it doesn't. Give it a try but make a note of your current settings before you change it. You can do that either by reading your DoomConfig.cfg or by typing the command without a variable in the console.
set image_useCache "1"
set image_cacheMegs "128"
set image_cacheMinK "10240"
20 was the default Cache for me and I've had a small FPS boost by setting it higher, although this is bound to be linked directly with available memory so don't go too high. I'd set it between 96 and 128 depending on your system specs. Note you will need to raise the cacheMinK as well or the game will crash before you've finished loading. Still playing around with above but even if it doesn't raise the FPS, it does seem to smooth out the transitions and pauses you can experience in single player. Note that these settings are for PreCompressed textures only, so should you be lucky enough to run in ultra mode without texture compression, they shouldn't effect you.
How make name in pretty colors?
From the very limited time I've had playing around in Multiplayer, it seems that chat messages don't support colour codes. However you can change the colours in your name. The colour codes I've found so far are -
^6 Purple (might be pink?)
To use them simply put the codes in your name before the letters you want in that colour. For example -
set ui_name "^4D^8oo^1M"
would give you the name DooM
We've barely scratched the surface here but some stuff to get you started -
set pm_runbob "0" //default is 0.4
set pm_runpitch "0" //default is 0.002
set pm_runroll "0" //default is 0.005
set pm_walkbob "0" //default is 0.3
set pm_bobpitch "0" //default is 0.002
set pm_bobroll "0" //default is 0.002
set pm_bobup "0" //default is 0.005
set pm_crouchbob "0" //default is 0.5
The above will stop your view from bobbing up and down as you walk when set to 0. This is applicable to both the singleplayer and multiplayer. So should you feel a little sick while playing Doom III, perhaps it's not just the scenery ...
You may also want to set a monitor refresh rate (especially with all the dark corners) using -
set r_displayRefresh "75"
Speaking of your view, wouldn't it be nice if you could see a bit more on screen?
set g_fov "90"
FOV is the 'Field of View'. I personally use 105 but the choice is yours. Note it will decrease your framerates the higher you set it, and it will also compress the image on screen to fit. Go too far and you'll get a fishbowl appearance.
Afraid of the dark? You could lighten things up a notch or two with -
set r_brightness 1
set r_gamma 1.3
Bear in mind it is supposed to be dark, go too far and you'll ruin the atmosphere.
A few others that will likely be of interest -
set com_showFPS "1" //display current FPS in corner of screen
set com_allowConsole "1" //tilde key only for console *
set g_nightmare "1" //enables highest skill level for the real hardcore
* this will change depending on region, but it is always the key found below the ESC key
How about a few fun ones.
set com_showMemoryUsage "1" //displays current memory usage, interesting during section transitions
set s_showLevelMeter "1" //display sound level meter for each speaker
So you want to make your own maps for Doom III? Well saw fit to provide the tools with the game. To access the Editor you simply type
in the console. This will start DOOMEdit, which for those familiar with the Q3 engine will recognize the majority of what there (its very radiant alike). I did however have a few problems running this at first, no mouse pointer for starters. I'd also changed the gamma and brightness levels from the default and these had to be reset beforehand. The way I've done it is to create a shortcut to Doom3.exe and then edit the target line. Mine reads as -
"D:\Doom 3\Doom3.exe" +disconnect +set r_gamma 1 +set r_brightness 1 +set r_mode 8+set r_fullscreen 0 +editor
Basically my mouse pointer will not show unless I run it r_fullscreen 0. The command r_mode 8 gives me a 1600x1200 screen, you'll want to set yours to the size of your desktop accordingly.
set r_mode 3 = 640x480
set r_mode 4 = 800x600
set r_mode 5 = 1024x768
set r_mode 6 = 1200x1024
set r_mode 8 = 1600x1200
Couple of basic scripts to get you going, one is for recording demos, the other is for a 'clean' screenshot. Speaking of which, you can get screenshots with the F12 key by default.
// Record Demo - start & stop with F10 //
set startrec "recordDemo; set demorec vstr stoprec"
set stoprec "stopRecording; set demorec vstr startrec"
set demorec "vstr startrec"
bind F10 vstr demorec
F10 once will start you recording. Note that you won't get a message on screen stating that recording has started (if you want one, set con_noPrint "0", although this will display a lot of other stuff too). You can check it in the console although this will obviously be in your demo. To stop recording simply press F10 once again. Demos can be found in the Doom3/base/demos folder and can be run from the console with the 'demo demoname' command.
// Clean Screenshot - no Gun or HUD in picture //
bind F11 "set ui_showGun 0; set g_showHud 0; screenshot; set g_showHud 1; set ui_showGun 1"
F11 in game will create a 'clean' screenshot (no gun, no HUD) in the doom3/base/screenshots folder with the below. Change the key in red to one of your choosing if you so wish.
Running a server from the GUI is simple enough but should want to run a dedicated server (i.e. text console only, you don't play the game) then you will want to do it something like this.
Create a new text file called doomserver.bat and save it as all files in the doom3 folder. The idea is that you get a doomserver.bat and not a doomserver.bat.txt file. Once thats done, right click the newly created batch file and choose edit. Now we need to add some commands.
Doom3.exe +set net_serverdedicated 1 +exec doomserv.cfg +servermaprestart
Note that is 3 lines of text. The commands used here are +set net_serverDedicated which tells doom what kind of server you want (1 for a text only console, 2 for a graphical in game listen server). The next part, +exec doomserv.cfg runs our server configuration file we shall create in a moment. The last restarts the server map which seems to be needed for some servers (another thing to add to the research list).
Now we need an actual server config for that batch file to run. So create a doomserv.cfg file in the same manner as an autoexec.cfg and put your server options in it. Here's a few to get you going.
set si_spectators "1" //on-off Allow people to spectate games or force them to play
set si_usePass "1" //enable password for server play
set si_warmup "1" // on-off
set si_teamDamage "1" //Available for Team Deathmatch only
set si_timeLimit "10"
set si_fragLimit "10"
set si_map "game/mp/d3dm5" // d3dm1-5
set si_gameType "Deathmatch" // Deathmatch - Team DM - Last Man - Tourney
set si_name "D^7oo^1M ^7]|[ Server^7" //name of server, note use of colours
set si_pure "1" //force client files to match server files
set si_maxPlayers "4"
set logFile "1" //logfile on-off
set logFileName "doomserverlog.log"
set net_serverRemoteConsolePassword "password here" //rcon pass
set net_serverClientTimeout "40"
set net_serverZombieTimeout "5"
set net_serverMaxClientRate "16000" //max client rate
set net_serverSnapshotDelay "50"
set net_serverAllowServerMod "1" // allow non-pure mod paks with pure game paks
set g_countDown "10" //warmup time ? UNTESTED
set g_balanceTDM "1"
set g_spectatorChat "1" //on-off spectator chat
set g_password "password" //server password
set g_mapCycle "mapcycle" //mapcycle configscript to use, default mapcycle.scriptcfg in pak0
That's it for now, we'll hopefully be able to add more info as time goes on. Any questions or comments can be directed to us in the forums.