There are many video options you can customize to adapt to your system performances and to your personal flavour. They can affect 3D world rendering or your HUD (head-up-display).
Many of them are in these menus:
- Setup --> System --> Graphics
- Setup --> System --> Display
- Setup --> Game options
And some may be available only via command console. You can restart video system using \vid_restart command (but many options do not need to do this to have effect).
Writing a variable name without setting its value will return the present value, and often also its "default" value. Warning: you should check default values after starting a match... if you check them from main menu, before entering a match, previous value stored in your config file may be erroneusly indicated as "default" one.
Go to "Graphics" options menu and first select your monitor aspect ratio (4:3 is classic, but nowadays many monitors are "wide", 16:9 or 16:10), then your resolution and then click "accept" to submit changes (if you exit with "escape" key, there will be no change). Higher resolution gives better image quality, but this has a big impact on performances. Do some attempts to find the best resolution according to your monitor size and your system's "power". For example, you could enable \cg_drawfps 1 then begin from 640x480 or from 800x600 and then increment resolution, checking your frames-per-second at each try (remember that fps change from various factors, like how many players are there and what are you watching, for example, if you watch the ground directly under your feet you will have higher fps). Notice that at higher resolutions, text in command console will appear smaller.
Texture quality and detail
Changing texture detail heavily affects framerate and overall video quality. You can change "texture detail" from "graphics" menu, selecting from 4 different levels. Highest quality level is associated with \r_picmap 0, lowest detail level is associated with \r_picmap 3 (higher r_picmap value means lower quality). It needs \vid_restart to be effective and default value is 1. You can use console to set even lower texture quality levels, specifying higher values for r_picmap, even 8 or 16: this increases framerate more; but, when you set a value higher than "3", remember that after any change from "graphics" menu or even after a second \vid_restart, it may automatically return to "3".
Other settings related to texture quality:
- \r_detailTextures <0 or 1> (it should be set to 1 for best quality).
- Asinotropic filter: \r_ext_texture_filter_anisotropic <0 or 1>, plus \r_ext_max_anisotropy <0, 2, 4, 6, 8> (these two cvars are easily controlled from the same "asinotropy" option under "graphics" menu).
- \r_texturebits: Obviously, 32 bit textures should be better than 16 bit textures ("Texture quality" under "graphics" menu).
- "Texture filter" can be set to "bilinear" or "trilinear" from "graphics" menu.
- Typing \r_ext and pressing TAB key you can find some other texture-related CVARs.
You can change "geometric detail" from "graphics" menu, and set it to "low", "medium" or "high". You will see quality difference on curves. Choose "high" for quality, "low" for rendering speed.
Field of view
You can use \cg_fov <number> command to change your view angle. So you can have a larger lateral view and find your enemies more easily. However it also makes enemies smaller and your aim precision and reaction time might be slightly worse if this value is increased. Theoretically a large value is best in open environments and a low value best in corridors. To get a precise and fast aim you should find a value you like and stick with it. Notice that, as you increment this value, world will seem distorted, distances will seem bigger and your movement will seem faster. Default value is 90, and 120 could be a nice compromise.
"Weapon bar" is the series of icons that shows your available weapons. Usually it is visible only when you are switching weapons; OpenArena can always draw it, if you enable "always show weapons" in "game options" menu (or enable it with \cg_alwaysweaponbar). Notice that if this option in enabled, you will not see names of items you pickup during game (as far at OpenArena 0.8.5 it is so). Default value is 0.
There are various styles for the weapon bar. You can use cg_weaponbarstyle <number> command change style. Some are on the lower edge of the screen, others on the left edge. Some simply show weapon icons, other also a bar to show ammo for each weapon, other the accurate ammo number for each weapon. Default value is 0.
Force player model
You can enable "force player model" option from "game options" menu or using \cg_forcemodel 1 to have all player models look like yours. This allows to save system resources if your machine isn't too powerful. It may also be useful during team matches: since some models have small areas that change colour according to team (red or blue) -making difficult to tell apart your friends and your enemies-, you can select a model where team colours are evident and enable forcemodel. Dafault value is 0.
You can use \cg_drawfps <0 or 1> to view your frames-per-second value in the upper right corner. You may check this when you are changing graphic options, trying to balance your graphic quality over speed. Default value is 0.
You can also use \com_maxfps <number> to change the maximum number of fps allowed. Default value is 85 and 0 means "no limit".
The framerate multiplied by an integer must be equal one thousand. So if you use com_maxfps 125 you will get 125 frames per second because 8*125 is 1000. If com_maxfps is 85 you will get 90.9 frames per second because 11*90.9 = 1000.
You should set it to the maximum fps your graphics card can deliver constantly, to prevent big framerate changes during the game, that you could find annoying; remember also that your framerate may slightly influence your in-game physics, so having them constant could make the gameplay a little more consistent. If you are using a laptop running on battery, and you want to maximize your battery duration, you could set a lower framerate limit (maybe with a bit lower video resolution and quality settings, too) to prevent your PC from using 100% CPU (with Microsoft Windows, use your task manager to check che CPU load).
The "lagometer" is a small window in the lower right corner of your screen that graphically shows your ping (the ping is the time your packets (data) need to reach the server and come back: lower it is, better it is) as a graph, with some seconds of "history". You can enable it with \cg_lagometer 1 (and disable with 0).
If you see that your ping is irregular, and from green goes yellow (with higher lines), consider to connect to another server or to close other bandwidth consuming applications you may have running. Red lines in the lagometer indicate "packet loss" (data that is lost and did not reach its destination): if you have many of them, change server or try to set \cl_packetdup 1 (to send each packet two times); if you don't have them, you can try to set \cl_packetdup 0 for best performances. You can read your current ping as a number when showing the score table (usually holding TAB key).
You can use \cg_drawspeed 1 to show your current horizontal speed in the upper right corner. Default value is 0. Some mods (like Alternate Fire) may use another command, \cg_speedometer 1.
Show or hide 2D (HUD)
You can use \cg_draw2d 0 to hide your HUD. You will no more see your statistics: you may want use this when you want to capture screenshots. Default value is 1 (show).
You can use \cg_thirdperson <0 or 1> to switch from first-person to third-person view. This game is designed to play in firstperson, and enabling thirdperson is not so comfortable since you cannot see your crosshair. Some mods, like Bid For Power, may be designed to work with thirdperson view. Default value is 0.
You can change "brightness" ("gamma") from "display" menu. This will make game brighter or darker. You can control it also from console using \r_gamma <number>, where number is a value like 1.213450, for example. Default value is 1.
Other related cvars:
- \r_ignorehwgamma <0 or 1> (default = 0; requires \vid_restart)
- \r_mapoverbrightbits <number> (default = 2; requires \vid_restart)
- \r_overbrightbits <number> (default = 1; requires \vid_restart)
- \r_intensity <number> (default = 1; requires \vid_restart)
If you are experiencing a low frame rate, you could also reduce "screen size" from "display" menu. This will draw the 3D game stuff inside a sort of window. 2D HUD will not be affected. You can change it from console using \cg_viewsize <number> (default value is 100). \sizedown and \sizeup commands are/can be binded to specific keys.
If you want to switch from "full screen" mode to "windowed" mode, you can use "Fullscreen" option from "display" menu. You can also use \r_fullscreen <0 or 1> to do this.
"Simple items" option in "game options" menu replaces 3D models for powerups (weapons, ammo boxes, etc.) around the arena with simple 2D icons. This should save system resources. You can also use \cg_simpleItems <0 or 1> to control this option. Default value is 0.
Draw team overlay
"Draw team overlay" option in "game options" menu allows you to view your team-mates health, armor and current weapon during team play modes (like TDM and CTF). You can also control this function with \cg_drawTeamoverlay <number>. 0=off, 1=upper right corner, 2=lower right corner, 3=lower left corner. Default value is 0.
"Flares" option is available in "Graphics" menu or using \r_flares <0 or 1> command. This will add glow to light sources and "lens flare" effects. Flares are nice at view, but may distract you from playing. You may want to disable this option. Default value is 0. If you type \r_lensreflection and hit TAB key you see there are some other variables to fine-tune this function.
"Bloom" option is available in "Graphics" menu or using \r_bloom <0 or 1> command. This will add "glowing" effects to some light sources (less than "flares" option) and to some objects (like ammo boxes and yellow armour). Disable if you are trying to get higher FPS rate. Default value is 0. If you type \r_bloom and press TAB key, you will see there are some other commands to fine-tune this function.
You can change your crosshair look from "game options" menu.
You can use \cg_drawGun <number> to select where your weapon will be shown in your view. 0 = weapon not shown; 1 = right; 2 = left; 3 = center. Default value is 1. Before OpenArena 0.8.5, only 0 and 1 values were allowed.
\cg_drawTimer <0 or 1> allows to hide or show a timer that indicates the time elapsed since the beginning of the match. Default value is 0.
See also: Stereo Rendering on ioquake3 wiki site.
ioquake3 engine includes stereoscopic view features, to have a more deep 3D experience, even if only for the sake to try it. You need special glasses to see such images in the right way. There is support for "anaglyph rendering" (with cheap different colors lens glasses) and "OpenGL stereo rendering" (with more expensive shutter glasses).
Anaglyph stereoscopy is enabled changing the value of \r_anaglyphMode variable. There are different values depending from the colors of your glasses. You don't need \vid_restart to change this.
- 0 = disabled (default)
- 1 = red-cyan
- 2 = red-blue
- 3 = red-green
- 4 = cyan-red
- 5 = blue-red
- 6 = green-red
Each frame contains two sligthly different images, with altered colors, and the colored lens will prevent each eye from seeing one of the two main colors, so your brain should "see" two separated images and put them together as a single 3D image. You may try to enable also monochrome rendering with \r_greyscale 1 (default value is 0) to have not problems with items of a single color.
OpenGL stereo rendering, instead, needs shutter glasses, and works only on hardware that supports quad buffers. Each eye will get only half of the frames (each half with a slightly different image), and your brain should put them together in a 3D image. This mode is enabled with \r_stereoEnabled 1 (default value is 0 and requires \vid_restart to be effective).
You can tune the stereo rendering using \r_zProj (default value is 64) (you can find here a good explanation of how the "projection plane" works in stereoscopy) and \r_stereoSeparation (default value is 64) variables. It is advisable to read the more extendend help in the ioquake3 wiki for how to use them.
Using 3D glasses for long times may be tiring for your eyes.
- \cg_leiEnhancement 1 should enable some new particle effects. Default value is 0.
- \cg_oldrail <0 or 1>. With 1, external "spiral" trace is omitted from railgun beam. Default value is 0.
- \cg_oldplasma <0 or 1>. With 0, plasma balls left additional particle effects behind them (nice at view, but nothing impressive and they could distract from gameplay). Default value is 1.
- \cg_oldrocket <0 or 1>. Default value is 1.
- \cg_truelightning <number>.
- \r_greyscale <0 or 1> allows to view the game in greyscale. Even too much "old style", it is almost useless and may slow down frames-per-second a lot. It then needs \vid_restart. Default value is 0.