Bit of an erratic release for Quake 4, amidst the lower than expected ratings from game reviewers, and the staggered release dates around the world (luckily I got mine earlier than expected thanks to Simply Games pre-order system). As with any game like this that allows quite extensive customizing to the game experience, there will inevitably be lots of questions and not many answers. As time goes by, that situation will change as information becomes more available. We do have one leg up though; since this is a Doom 3 Engine based game, a lot of the same information that was good for Doom 3 will also work with Quake 4. As a devout Quake III Arena fan, I've been eagerly awaiting Quake 4, and set about fiddling with my configurations files ... well before the game even arrived! Still a long way to go, but as we did for Doom 3, we will share what we know with you, and update this guide with any little info we may find.
Before we get started, you can get into quite a mess with your game settings if you don't know what you are doing, so before you make any changes, be sure to back up the Quake4Config.cfg file found in your Quake 4\q4base folder; and if all else fails, you can delete the Quake4Config.cfg file, run the game and a new one with the default settings will be created.
The first question most folks will want to know is 'Where is the Console?'. Like Doom 3, the console can be found by pressing the CTRL and ALT and ~ keys, with the ~ key being the key under escape (Not the ~ key in all countries, for me here in the UK it's ` for example). The easier way is to right click the shortcut for Quake 4 and view the properties for the shortcut. Find the target line that reads -
"C:\Program Files\Quake 4\quake4.exe"
And add the following to the end of it -
"C:\Program Files\Quake 4\quake4.exe" +set com_allowConsole 1
This will allow you to get to the console without the need for pressing CTRL and ALT, but just the ~ key alone. And if the 3 manufacturer intro's bother you, you can remove by adding -
"C:\Program Files\Quake 4\quake4.exe" +set com_allowConsole 1 +disconnect
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.
An autoexec.cfg file is a text file that you can edit with your settings and have those settings run every time Quake 4 starts without any interaction from you. You simply create a new text file in the Quake 4\q4base folder (the same location as the Quake4Config.cfg) and save it as autoexec.cfg. Make sure you save it as all files and not as a text file, or you will end up with an autoexec.cfg.txt file.
Once that's done, you can list your commands and binds for settings in an order that makes sense to you. Here is a small example of what is possible with an autoexec.cfg. The start of my own begins as -
// VoOdoO's AUTOEXEC //
// <-- These tell Quake 4 to ignore that line, so you can add your own information markers
// C O N T R O L S
bind "w" "_forward"
bind "a" "_moveleft"
bind "s" "_back"
bind "d" "_moveright"
bind "SPACE" "_speed" //walk-run
That's a small example, but what you can see above would set up your movement controls for you. If perhaps you wanted to use the ESDF keys, you could simply change the keys (highlighted in red in the example) to the settings you want. You could even copy that autoexec.cfg file, take it a friends house, drop it in their q4base folder and have you movement keys set without even starting the game.
Other options aside from key binds are prefixed with one of 2 (there are 5 total but it's the first two we are interested in for the basics) indicators - seta and set.
set ui_name "VoOdoO"
'set' will tell Quake 4 to set the information for use. 'seta' will do the same, but also store it. Either can be used, I prefer to use set in my autoexec.cfg
There are obviously a lot more options you can add, you can see my current test autoexec.cfg here, which I will as time goes by be adding to as and when I get more information/test different settings.
This is a little harder than Doom 3 as for one thing, there is no included timedemo (although the timedemo command is there) and while I need to do some more testing, it would appear that recording your own demo's and timedemoing them is useless, since it often drops shadows and lighting during playback. You can of course make some runs with FRAPS and this will offer you a true gameplay experience with those settings.
If you want to see your frame rates in game, simply use -
set com_showFPS "1"
Don't forget, Quake 4 is capped at 60 frames per second* just like Doom 3, so the aim in your tweaking will be to get as constant a 60 as often as possible, as with the speed of the movement in the game, you really will notice the lower frame rates.
*You CAN remove this limit, but unlike Quake III Arena where the framerate was tied to game physics, Quake 4 doesn't have this issue. However should you wish to remove the cap, add this to your autoexec -
set com_fixedTic "-1"
Chances are removing the cap is not going to improve your game performance, so there is little point in changing this. Default setting is 0.
When you have finished tweaking the game settings via the menus, there are other settings only accessible via the console/configs that you can adjust for more performance. Some of these include -
set image_useCache "1" // enable the below setting
set image_cacheMegs "128" // cache size for precompressed textures, 128 for 512MB systems, 196-256 for 1GB
set image_cacheMinK "2048" // might need to raise this to prevent crashing
Some other you may want to try include -
set image_downSizeSpecular "1" //enables Specular downsizing setting
set image_downSizeBump "1" //enables Bump mapping downsizing setting
set image_downSize "1" //use to enable image downsizing setting
set image_downSizeSpecularLimit "512" //1024 for 256mb gfx 512 for 128mb gfx 256 for 64mb
set image_downSizeBumpLimit "512" //1024 for 256mb gfx 512 for 128mb gfx 256 for 64mb
set image_downSizeLimit "512" //1024 for 256mb gfx. 512 for 128mb gfx. 256 for 64mb
set image_lodbias "0.2" //0 default, use fractions as image quality suffers as you approach 1
Those of you who like to dumb down the graphics (ala Quake III's picmip 5) will be interested in the above. Setting the limits on the 3 above 'Limit' options as 64 will give you an image pretty close to Q2, without any of the fancy lighting and pretty imagery to distract you from your kill.
Other settings of graphical interest include -
set g_muzzleFlash "0" //default 1
set g_brassTime "0" //ejecting spent ammo, 0-1, 1 default
set g_projectileLights "0" //remove lights from projectiles, 0 is faster
set g_skipItemShadowsMP "1" //remove item shadows - MP only, default 0
set g_skipPlayerShadowsMP "1" //remove player shadows - MP only, default 0
set g_showPlayerShadow "0" //player shadows on/off, default 1
set g_skipViewEffects "1" //remove certain FX from view, 1 is fastest
Personally, first thing I did was adjust the bottom two settings to my liking -
set r_brightness "1.4" //default 1.2
set r_gamma "1.5" //default 1
*Update - It would seem there is either a driver problem or a game problem, but if you want to improve the image quality with a negligable/no performance hit -
set image_lodbias "-1"
This should sharpen details, especially Bump maps, considerably.
How make name in pretty colors?
You can change the colors in your name with the following codes-
^6 Purple (might be pink?)
To use them simply put the codes in your name before the letters you want in that color. For example -
set ui_name "^4V^8oO^4d^8oO"
would give you the name VoOdoO. You can also use those color codes with naming your server, although there is a character limit for server names when in the game menus.
Now this bit is going to sound a little like a rant ... well ok it IS a rant but ...
I can tell you how to remove the bobbing motion when you walk and run but I can also tell you that you won't like it. The following settings will do it -
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
All you have to do is convince your server admin to add them to their server, since iD/Raven have for some reason that is beyond me made them server settings. Unless the server you play on has these settings, they won't work for you online. Singleplayer is fine, but this is Quake; multiplayer is where it's at. Here is to hoping that the first patch puts those options (amongst others) back into the hands of the clients.
I intend to update this article with a few scripts but at this time, it would seem that Quake 4's use of scripts is slightly different than Doom 3/Quake III Arena, so we'll have to wait a little while for more information.
You can get to a copy of my autoexec.cfg here (and lists of cvars and commands) but please remember, this is how I have my game setup for my system and preferences; you will likely wish to change the settings for your own. Now go frag people!
*Edit - Someone asked me for a quick server config - clicky clicky
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.