Here’s two shots of the same scene, one using maxed-out graphics options with default settings, the other using gameplay-optimized graphics and settings (open these images in new tabs to compare):

pretty

ugly

Nevertheless, graphics aren’t the only thing you can change in Sauerbraten, and other settings may be at least equally important, for example a mouse sensitivity you are comfortable with and key bindings that make sense to you.

Graphics settings

Sauerbraten can be set up to look really nice, which is great and a lot of fun to look at. Luckily, it can also be set up to facilitate serious gameplay, which is about seeing things as fast as possible so that you can react to them as fast as possible.

GFX

You can/should turn off everything except the “fix t-joints” setting in the gfx tab of the options menu. Keep in mind that however beautiful graphical effects look, they are a distraction to your eye. How ugly you want to play the game is up to you of course. Especially water will look really bad, and it’s probably a good idea to keep the water refraction on, to be able to better see into water from above. You can keep textures and animation on high quality, it won’t do much to your frame rate or your concentration.

Frame rate

Turn off vsync. Next, find out your monitor’s refresh rate (probably 60Hz, but check for yourself in your OS’ settings). Now do /maxfps 60 (60 being your monitor’s refresh rate) and test if you can get stable 60 fps while playing as usual (/showfps 1 in case you can’t see your frame rate in the bottom right corner of the screen). A good map to test this is eternal_valley. Make sure to stand somewhere high so you can overlook a good part of the map. If you’re feeling fancy, test xenon from a high position, and if that’s not enough, try kopenhagen from a high viewing point (try flying around as spectator). If you have stable 60 fps, add another 60 and try the same with /maxfps 120. Do this until you found a multiple of your monitors refresh rate that still gives you a stable framerate.

Why bother doing this? A stable frame rate will result in the same amount of frames being calculated in between each refreshing cycle of the monitor. This gives you about the same amount of “change” with each new frame. This technique uses the maximum possible frame rate while making sure frame changes are smooth (due to multiples of the refresh rate). Would you set maxfps to, say, 150, your monitor (assuming a refresh rate of 60Hz) would show you 1 calculated frame with the first cycle and 2 (drawn as one) in the next. Your eyes prefer the constant amount of “change” you get with the method explained above. For more info on this, read about tearing.

Custom player model skins

A huge help for your eyes when looking for enemies are custom skins for the playermodels. Most widely used are the IronsnoutX10K skins by greenadiss, they are also used in the screenshot above. They are much brighter than the default ones, and you can get them in pink and yellow, too. In combination with using these skins you should enable forcing matching player models (see below) and use the Ironsnout model yourself, to ensure all enemies are shown with the new bright skins.

On greenadiss’ modding site you can also find skins for the Ogro playermodel as well as flag skins, transparent hudguns and some custom crosshairs.

Mouse acceleration

A lot of professional players prefer mouse acceleration to be disabled. This will give you 1:1 responsiveness from the distance your mouse travels on the table to the amount you turn in game; regardless of what speed you move your mouse at. Normally, the OS interprets fast mouse movement different from slow mouse movement (using an acceleration factor) and accelerates cursor movement for you. This is nice when clicking around on 2D GUIs, but it can be very confusing in a 3D game. Hence, most players want it off.

On instructions on how to turn off mouse acceleration in windows, use Google. It’s kind of complicated and involves registry changes. On Linux (using X server) it can be done on-demand using the command xset m 0 0. Note that it will go back to the default value when X restarts, so you should probable write a script and use your desktop’s autostart feature, or remember to execute the command every time you want to play. On OS X, I have no idea, but Google probably knows where to look.

Miscellaneous commands

These settings, again, support professional gameplay. Some of these may will have a bigger effect on your playing than the GFX settings we did before. Some of these can be set in the GUI, but for consistency’s sake they are all written out here.

Type them into the chat console, preceeded by a /, e.g. /fov 120.

  • fov 120 (or anything else higher than 100, the default value): allows you to see more of your surroundings (“field of view”)
  • maxroll 0: disables the rolling camera effect when starting or ending a sideways movement
  • zoominvel 0: disables the zoom-in animation, thus making zoom instant
  • zoomoutvel 0: same as before, for the zoom-out animation
  • hudgunsway 0: disables hudgun swaying animation; resulting in less distraction for the eye from moving enemies
  • muzzleflash 0: disables the flashing animation when shooting
  • muzzlelight 0: disables the lighting effect caused by the muzzle flash
  • forceplayermodels 1: all players are shown as using the model you use; makes it easier to train your aiming on one kind of target
  • fullbrightmodels 200: makes player models shine bright
  • texreduce 12: reduces texture quality; think of it as blurring each texture until there is only one main color left, making the map quite ugly but also making it easier to see playermodels (this can make it harder to navigate in maps you don’t know well, so if you have problems, turn it off (texreduce 0) or to a lower level (e.g. texreduce 6).)
  • bind MOUSE2 togglezoom: binds zoom to right mouse button; you’ll have to get used to jumping with the space bar
  • bind MOUSE2 [deaths = (getdeaths); togglezoom; onrelease [if (<= (getdeaths) $deaths) [togglezoom]]]: same as before, but zooms out when you release the right mouse button; useful for quickscoping; the getdeaths stuff is in there because Sauerbraten automatically zooms out when you die, so when you die holding the right mouse button, releasing it would zoom in…