Enemy Territory: Quake Wars - Insights, Analysis, Intelligence

Tweaking Your Game

Below is a table of CVARs with some notes about where they're used, what values they can take, and a short description where I had one. I've also added some notes about what variables you can "tweak" to improve your framerates. Values that are binary, e.g., take values of 0 or 1 can be set up as toggles, to enable you to quickly switch back and forth between states. Other CVARs with a range of acceptable values, can be set up with a cycle command, which allow you to cycle through a range of possible values.

Waxing Philosophical - Is CVAR Tweaking the same as Cheating?

Nope, at least not in my opinion. CVAR tweaking is available to anyone who can Google, open a configuration file, copy, and paste - this is simply not rocket science limited to the upper strata of l33t players - after all, you've found your way here. Furthermore, in my version of the world, server admins set the rules. They set boundaries around what they consider to be acceptable play (CVAR limits, use of profanity, mods used, mod settings, etc). To enforce their game standards, they have a couple of tools (RCON, Punkbuster, personal presence etc) with which to "police" and moderate their server, and I stress again their server and community. As players, we have two obligations: 1) play nice according to their rules and 2) if you don't like the rules, then leave and find another server more to your liking.

So what does this mean to the tweaker? Each server admin will set the range of "acceptable" CVAR values for their server and use Punkbuster to control observation of the limits. Players are allowed to modify CVAR values within those limits, but no more. Tweakers who find the stated limits unacceptable, simply get to find another server. Cheating? Hardly - it's just a matter of knowing the rules and exercising your choice to accept them or not - on a server by server basis.

STOP RIGHT NOW IF YOU DISAGREE!

If you disagree with my philosophy regarding tweaking and cheating, then save your soul and proceed no further!

Performance and Visibility Tweaks

First off, here is a great thread that answers a lot of questions about how to unlock your FPS and make some informed tradeoffs between smoothness and pure FPS. Here are two other articles that talk about performance tweaking and what different graphical options mean to you:

First, com_allowconsole 1 // allows you to use ~ to drop the console instead of CTRL ALT ~. If you plan on doing a lot of changes to your config, then I highly recommend creating an autoexec, which will help streamline the tweaking process and be a lot easier to work with.

General Customization
pm_crouchbob 0 //all of the following help disable the rolling and bobbing motions as you move
pm_bobroll 0
pm_bobpitch 0
pm_bobup 0
pm_runroll 0
pm_runpitch 0
pm_runbob 0
pm_walkbob 0
pm_skipbob 1 will skip all bobbing
g_chatDefaultColor 0 0 0 0//sets color of general chat in RGBa format
g_chatFireTeamColor 0 0 0 0//sets color of Fire Team chat in RGBa format
g_chatTeamColor 0 0 0 0//sets color of team chat in RGBa format
HUD Tweaks

Check out the HUD Explained article, which shows a fully annotated HUD with notes about what CVARs affects each. You will see that you can adjust the alpha level on most of your HUD elements to either turn them off or make them much more transparent.

Performance Tweaks
com_unlockfps 1 //this is the master cvar. If you do not set this to '1' then it will never attempt to exceed 30fps. This works regardless of the timing method selected.
com_unlock_timingmethod //this selects one of three timing methods for unlocked frames. Can take values of 0, 1, or 2
com_unlock_maxFPS 60 //sets the upper limit of your FPS to smooth out frame rate fluxuations
r_shadows 0 //turns shadows off, most beneficial indoors, doesn't really affect shadows cast by sunlight
r_skipstuff 1 //disables drawing of ground foliage and grass e.g., "stuff"
setMachineSpec 0 //sets your graphic settings to minimal and execs minspec.cfg, which contains some additonal settings which should help low end computers
r_mode // you can always play around with your screen resolution
g_showPlayerShadow 0 //turns playershadows off
g_decals 0 //Disables bullet mark decals
Improving Graphical Quality
image_lodbias -1 to 1 // adjusts what mipmap is used at a given distance. -1 will generally give you lots of nasty aliasing, while 1 will give you lots of blurring. Note that you can use other values like 0.25 or whatever if you don't want as extreme an effect
r_megaDrawMethod 0 //bumps up the lighting quality and improves depth of field effect
r_MD5LodScale 10 // hides the transition from low poly models far away to very detailed. (vehicles, players)
seta image_detailPower 1 // Controls how fast the detail textures fade out (0 = normal mipmaps, 1 is falloff after the first level)
r_renderProgramLodDistance 400 // affects the distance that special effects like shiny metal are rendered
Visibility Tweaks
ui_showgun 0 //turns off the gun model, also disables reload sound for GDF; another note, you can't combine _weapon* commands with anything else, so it's not possible to selectively turn the gun model off for weapons and keep it on for tools.
g_playerIconSize "10" //Reduces size of player icons
g_weaponSwitchTimeout "0" //disables the right hand weapons inventory from popping out when you switch weapons
gui_showTooltips "0" //disables tool tips from popping out
gui_crosshairSpreadScale "0" //This sets the size of the horizontal and vertical bars around your crosshair
gui_crosshairGrenadeAlpha "0.286585" // adjusts the alpha of your grenade/tools progress ring.
gui_crosshairStatsAlpha "0" //changes the alpha of your health and ammo meter, set to 0 to turn off
gui_crosshairSpreadAlpha "0" // changes the alpha of your spreadscale
gui_crosshairAlpha "0.5" // Changes the alpha of your crosshair
g_showFireTeamLocation 0// Only show the player names and health in the Fire Team HUD

Demo CVARs

There are CVARs available for demo play back that never come into use during regular play. For starters, you can check out the demo config that Joe999 put together.

Resources

If anyone is interested, here's an annotated copy of my Autoexec with my settings and notes about where to find the values for various tools and items, etc.

I started a config repository to benchmark and report performance and output of user-submitted configs on a common hardware platform (e.g., my computer). Take a look. Hopefully, you can make up your own minds about the trade off between FPS and graphical quality.

Table of CVARs

CVAR Variable Range Default Value Description
com_gpuSpec 0-3 TBD -1 = not detected, 0 = low, 1 = med, 2 = high
com_machineSpec 0-3 TBD -1 = not detected, 0 = low, 1 = med, 2 = high
com_showFPS 0-1 0 1 displays FPS counter in upper right of screen
com_unlockfps 0-1 1 Enables or disables the 30 FPS cap
com_videoRam Float 64 Amount of video ram
condump CMD NA Dumps the contents of the console into a text file in /base
g_chatDefaultColor RGB-a Color of global messages in normalized RGB values, last value sets the opacity
g_chatFireTeamColor RGB-a Color of fire team messages in normalized RGB values, last value sets the opacity
g_chatTeamColor RGB-a Color of team messages in normalized RGB values, last value sets the opacity
g_commandMapZoom Float 0.125 Sets initial command map zoom
g_commandMapZoomStep Float 0.125 Sets command map zoom increment
g_decals 0-1 1 Toggles drawing of decals
g_drawPlayerIcons 0-1 1 Toggles drawing of player icons on the screen
g_enemyColor RGB-a 0.9 0.1 0.1 1 Color of enemy icons and territory in normalized RGB values, last value sets the opacity
g_friendlyColor RGB-a .5 .83 0 1 Color of friendly icons and territory in normalized RGB values, last value sets the opacity
g_neutralColor RGB 0.75 0.75 0.75 Color of neutral icons and territory in normalized RGB values
g_playerArrowIconSize Float 10 Determine size of friendly/enemy indicator triangles; Default = 10
g_playerIconAlphaScale Float 0.5 Alpha to apply to world-based objective icons
g_playerIconSize Float 20 Size of the screen space player icons
g_playTooltipSound 0-1 1 Play the sound attached to a tooltip when it is shown
g_radialMenuMouseInput 0-2 2 0 = no mouse input, 1 = mouse input, no view movement, 2 = mouse input, view movement
g_radialMenuMouseSensitivity Float 0.5 Mouse input scale
g_radialMenuStyle 0-1 0 Sets the style of the quick chat menu: 0 = radial, 1 = vertical
g_radialMenuUseNumberShortcuts 01 1 0 = use letter inputs, 1 = use number inputs
g_rotateCommandMap 01 1 Toggles between a command map that is fixed or rotates to show what's in front of the player
g_showFireTeamLocation 0-1 1 Shows the location of fire team members in the fire team HUD. Note: takes up a lot of space.
g_showplayershadow 0-1 1 Toggles rendering of player shadows
g_showwaypoints 0-1 1 Toggles between objective waypoints
g_skipIntro 0-1 0 Toggles whether the intro movie is played on start up or not
g_vehicleSteerKeyScale Float 1 The scale of the wheeled vehicle steering keys - 1 is standard, 2 is twice as fast, etc
g_waypointAlphaScale 0-1 0.7 Waypoint icons scale with dist
g_waypointDistanceMax Float 3084 Max distance at which to show max icon size
g_waypointDistanceMin Float 512 Min distance at which to show max icon size
g_waypointSizeMax Float 32 Sets max size of waypoint and objective icons, default = 32
g_waypointSizeMin Float 16 Sets min size of waypoint and objective icons, default =16
gui_crosshairAlpha 0-1 0.5 Sets the alpha of your crosshair
gui_crosshairGrenadeAlpha 0-1 0.5 Adjust alpha of progress bar around crosshair
gui_crosshairKey 0-15 pin_01 Selects the crosshair variant
gui_crosshairSpreadAlpha 0-1 0.5 Sets the alpha level of the horizontal and vertical spread lines around your crosshair
gui_crosshairSpreadScale Float Amount to scale the spread indicator movement
gui_crosshairStatsAlpha 0-1 0.5 Toggles health and ammo status around crosshairs
htmlcvars CMD NA Dumps an HTML list of CVARS into /base
image_anisotropy Set the maximum texture anisotropy if available
image_bumpPicMip -4-2 Uses a miplevel X steps down
image_detailPower Controls how fast the detail textures fade out (0 = normal mipmaps, 1 is falloff after the first level)
image_diffusePicMip Uses a miplevel X steps down
image_globalPicMip -1-0
image_ignoreHighQuality 0-1 0 ignore high quality setting on materials
image_picMip -1-0 Uses a miplevel X steps down
image_specularPicMip -4-2 Uses a miplevel X steps down
logFileName console_$Y-$M-$D_$h.$m.$s.log for a time and date stamped log
net_clientLagOMeter 0-1 0 Shows lagometer (show network packet activity)
pm_bobpitch Float 0.002 Sets player bobbing and rolling motions
pm_bobroll Float 0.002 Sets player bobbing and rolling motions
pm_bobup Float 0.005 Sets player bobbing and rolling motions
pm_runbob Float 0.4 Sets player bobbing and rolling motions
pm_runpitch Float 0.002 Sets player bobbing and rolling motions
pm_runroll Float 0.005 Sets player bobbing and rolling motions
pm_walkbob Float 0.3 Sets player bobbing and rolling motions
r_ambientscale Float 1 Cheat protected
r_aspectRatio 0-2 0 Sets screen aspect ratio, -1 = none set, 0 = 4:3, 1 = 16:9, 2 = 16:10, 3 = 5:4
r_customAspectRatioH Float NA Sets horizontal component of custom aspect ratio
r_customAspectRatioV Float NA Sets vertical component of custom aspect ratio
r_customHeight Float NA Sets custom screen height, in pixels
r_customWidth Float NA Sets custom screen width, in pixels
r_detailFade 0-1 Distance fading control ('reloadImages all' needed)
r_detailTexture 0-1 1 Detail texture on landscape
r_displayRefresh 60 Sets resolution refresh rate (default 60)
r_fullscreen 0-1 1 Toggles between fullscreen and windowed mode
r_gamma Float Changes the overall gamma of the in game graphics. Changing this will also temporarily affect the gamma of your desktop
r_megaFadeTime Float Unknown
r_megaTilesPerSecond Float only update a limited number of mega texture tiles per second
r_mode -1, 1-13 4 Sets screen resolution, 4 = 800 x 600, 5 = 1024 x 768, 7 = 1280 x 1024, 13 = 1680 x 1050. -1 indicates no preset screen resolution)
r_multiSamples Anti-Aliasing
r_shaderQuality 0-3 0 = low, 1 = med, 2 = high, 3 = ultra
r_shaderSkipSpecCubeMaps 0-1 0 Unknown
r_shadows 0-1 1 Toggles shadows
r_skipAtmosphere 0-1 0 skips atmosphere pass, Cheat protected
r_skipDepthAmbient 0-1 0 uses legacy black depth fill (instead of ambient fill)
r_skipinteractions 0-1 0 Skips all light/surface interactions. Also means no shadows are drawn. Cheat protected
r_skipRefractCopy 0-1 0 uses copy of frame buffer
r_skipStuff 0-1 0 Does not draw stuff models
r_softParticles 0-1 0 Enable soft particles
r_useAlphaToCoverage 0-1 1 Use alpha to coverage
sensitivity Float Mouse sensitivity
ui_advancedDrivingControls 0-1 0 Enables advanced driving controls
ui_advancedFlightControls 0-1 0 Enables advanced flight controls
ui_drivingCameraFreelook 0-1 0 driving cameras where there is no weapon defaults to freelook
ui_rememberCameraMode 0-1 0 use same camera mode as was previously used when re-entering a vehicle
ui_showGun 0-1 1 Shows gun and hand model