Crysis Tweak Guide

[Page 9] Advanced Tweaking (Pt.2)

Crysis has over 1,600 Command Variables (cvars for short) which you can use to thoroughly tweak the game. As covered on the previous page, you can alter these variables either using the game's command console, via a command line, or in .cfg files. However depending on the type of cvar you're trying to alter, you may need to use a particular approach, so make absolutely sure to read and understand all of the usage instructions provided on the previous page first before attempting to use these cvars, as otherwise they won't work.

This section lists descriptions for all the major Crysis cvars I have personally tested and found useful, grouped by general function. In particular, I have focused on commands which have noticeable visual, gameplay or performance impacts. It's impossible for me to cover every single one of the 1,600+ cvars in detail in this guide, as doing so would literally take up 20-30 or more pages. So again, the list below are the commands which my testing has revealed to be of some use to most players. If you wish to view and test all the commands in Crysis for yourself, you can download the full list here: (12KB).

It's important to note that there are no magic tweaks which greatly increase performance without any sacrifice, or which make Crysis playable at High or Very High on low-end systems, so if you're after a quick fix or a minor miracle, you won't find it here. Instead, readers who take the time to go through this list, have the patience to experiment and think about what is written below, will be able to make intelligent tradeoffs that minimize image quality decline in return for extra performance and/or customize the game to better suit how they wish for it to look and play.

Click to enlarge

Some important things to remember about these command variables:

  • You must set con_restricted=0 to get out of restricted mode before most commands will work in the console; only 12 cvars work when restricted mode is enabled.
  • Some command variables can only be altered at startup - these are marked with (system) at the end of their description. You must insert them into your System.cfg file, or more often, insert them into an original Crysis system file such as one of the difficulty files (e.g. diff_normal.cfg) for them to work. See the diff .cfg file description on the previous page for more details.
  • Default values are not provided below, as they can differ from system to system, and also depending on what your in-game settings are. I recommend you check the current value for a cvar on your system before altering it, by just typing the name of the cvar in the console and pressing Enter. To see a basic description for what the cvar does, enter the command name followed by one space then a question mark (e.g. r_HDRLevel ?).
  • Some variables only work if Shader Quality is set to a sufficient level, usually High or above. Alternatively you can use the q_Shader or q_Renderer commands to set individual shader/render options to High or Very High, thereby allowing you to implement your chosen cvars.
  • Only major working commands are covered below, and any command which can be fully adjusted using the in-game settings is usually excluded.
  • Some of these commands may be considered cheats in Multiplayer. Some effects are also automatically disabled or altered in Multiplayer to improve performance and/or keep things balanced.

  • General Gameplay Commands

    cl_fov [value] - Determines your Field of View (FOV) in degrees. The higher the value, the more of the screen you can see, the lower the value, the more 'zoomed in' your view appears. The default of 60 degrees should suit most people, but some people - especially those using widescreen displays and/or custom resolutions - may wish to change this to better suit their display. The FPS impact will vary depending on the scene, since both increasing FOV can lower FPS due to more things on screen at one time, and decreasing FOV can zoom in more on complex scenes, thus lowering FPS as well.

    cl_hud [0,1] - If set to 0, removes the Heads Up Display (HUD), as well as your suit menu. The main use for this command would be when taking screenshots.

    cl_hitblur [value] - Determines the extent to which your vision is blurred when hit. Higher values increase the blur effect, 0 disables it.

    cl_hitshake [value] - Determines how much your view shakes when hit. High values increase the shaking, 0 disables it.

    cl_sensitivity [value] - This command is the same as the in-game mouse sensitivity option. The difference is that here you can set it above the maximum value allowable in-game, further increasing your mouse sensitivity. Note that if you're suffering mouse lag even when using high sensitivity values, it's usually due to low framerates - see the In-Game Settings section.

    i_mouse_accel [value] - Determines whether mouse acceleration - that is the way in which the mouse exponentially increases in speed as it is moved - is enabled, and to what extent. A value of 0 disables mouse acceleration, and higher values enable it to greater effect.

    dt_time [seconds] - If you've enabled the 'Suit Shortcuts' option in the in-game settings, this command determines how many seconds between each keypress is considered a double-tap. For example if set to 0.40, if you press the S key twice within 0.4 seconds, it will be considered a double-tap to activate Shield Mode. Similarly, the dt_meleeTime command works the same, except it applies to detecting double-taps during combat, where you may want slightly higher times to prevent other rapid key presses from mistakenly changing your suit mode; or possibly the opposite - lower times to activate several suit modes much more rapidly in succession.

    r_GetScreenshot [0,1,2] - If this command is set to 1 or 2, it immediately takes a screenshot and places it in your \My Games\Crysis\ScreenShots directory. By default the F12 key is bound to this command, so if you wish to take a screenshot just press F12.

    capture_file_format [jpg,bmp,tga,hdr] - Allows you to set the format for screen captures. The default is JPG.

    capture_folder [path] - Determines the path to which screen captures are made, can be specified manually, e.g. capture_folder C:\Temp. The default output folder is the \Program Files\Electronic Arts\Crytek\Crysis\CaptureOutput directory, created when you first capture something.

    capture_frames [0,1] - If set to 1, this begins continuous screen captures multiple times a second in the format specified by the capture_file_format variable, to the path specified by capture_folder. If you just want to capture a single frame, use the r_GetScreenshot command instead.

    e_screenshot [1,2,3] - There are a range of commands starting with e_screenshot that can be used to take a variety of types of screenshots in the game. You can use commands such as e_screenshot_file_format, e_screenshot_width and e_screenshot_height to set the parameters for the output of the screenshot. The default output folder is Screenshots found under your \Program Files\Electronic Arts\Crytek\Crysis\Game\ directory.

    e_time_of_day [value] - When typed without any value, this command shows the current time of day in hours. It doesn't seem as though you can force a specific time of day using this command. The e_time_of_day_speed command seems to control the rate at which time changes, but changing it beyond the default value also seems to have no impact (system). If you just want to change the rate of time (e.g. for slow motion), use the time_scale command instead.

    time_scale [value] - This setting allows you to control the rate at which time passes. Any value below 1 slows down time (0 freezes everything), and any value above 1 speeds up the passage of time. Note that the time of day doesn't seem to change no matter how high you raise this setting.

    r_CustomVisions [0,1] - If set to 0, disables custom vision effects, such as the way your view looks when peering through Binoculars. Some people may prefer to disable this setting simply out of preference for the way it looks, but beware it can affect other vision modes used later in the game, such as Heat Vision.

    r_DrawNearFoV [value] - Determines the Field of View (FOV) only for objects near the player; in effect this means your own arms and the gun you're carrying. By altering this value you can make your weapon and arms smaller or larger, and there may be an FPS impact associated with this as well depending on how much it changes. To change your overall FOV, see the cl_fov command.

    r_NoDrawNear [0,1] - If set to 1, disables near objects, which essentially means your character's gun and arms will disappear. This may or may not improve FPS, but the main use for this cvar would be if you wish to hide your gun.

    i_iceeffects [0,1] - If set to 0, disables weapon effects for ice environments, which may boost FPS in such circumstances (system).

    i_rejecteffects [0,1] - If set to 0, disables things like ejecting shells from projectile weapons, which can boost performance but reduces realism to a slight extent.

    System Information / Diagnostic Commands

    r_DisplayInfo [0,1,2] - When set to 1, displays a set of useful information about the current scene, including your current Frames Per Second (FPS), how many triangles there are (Tris), which in turn indicates how complex the scene is, and whether the game is running in DX9 or DX10 mode among other things. Note that a value of 0 or 2 appear to disable this display, even though 2 is supposed to provide a more detailed display.

    sys_enable_budgetmonitoring [0,1] - If set to 1, displays a set of sliders showing how close system resources are to their 'budgeted' maximum. The main use for this command is when testing to see the resource impacts of changing various settings and commands. You can use the various sys_budget_ commands to set the individual maximum thresholds for each budget line, and then take notice whenever a particular line gets close to being in the red for that resource, indicating it's running out of resources. However importantly, note that altering the various sys_budget commands does not alter their values for game resource usage purposes - e.g. changing sys_budget_videomem just changes the threshold for monitoring purposes (i.e. to see how close the game's usage goes to your specified threshold); it does not alter how much video memory the game actually uses.

    ai_DebugDraw [0,1] - This command provides a range of information on the screen for each AI (Artificial Intelligence) unit. Note also that if you can't change an ai_ command, even after inserting it in the relevant .cfg file, make sure to set this =1 first (system).

    r_PostProcessEffects [0,1,2] - If set to 0, this setting disables all the major Post Processing effects such as motion blur and depth of field. Setting this to 1 enables all relevant effects, and setting it to 2 shows the name of all the post processing effects currently being used at any time at the top of the screen.

    s_SoundInfo [0,1] - If set to 1, enables a range of information on the sound system in Crysis (system).

    Meminfo [0,1] - If set to 1, enables a memory information display showing allocated memory by category in KB.

    MemStats [0,1] - If set to 1, enables a detailed memory information display.

    Gameplay Difficulty Commands

    ai_UseAlternativeReadability [0,1] - If set to 0, this forces the Korean soldiers to actually speak Korean all the time; if set to 1 they speak English (system).

    ai_ROD - There are a range of settings starting with ai_ROD. These control your 'Rate of Death' (ROD), which is essentially how quickly you're likely to die when facing the enemy. For example, the main ai_RODAliveTime variable controls the base amount of time for which a player can survive under fire. Raising it will make it easier for you when fighting the enemy, as they're less likely to hit you. Similarly, the ai_RODLowHealthMercyTime controls the amount of time the enemy will not hit you while you're at very low health; raising it will increase your chances of surviving (system).

    ai_SOM - The two ai_SOM variables determine the speed with which your 'Stealth-O-Meter' (SOM) rises. Basically higher values for these variables cause the enemy to detect you and react faster during combat or relaxed mode (i.e prior to combat) respectively (system).

    g_playerSuit - There are a range of commands starting with g_playerSuit, and these control the parameters for your nanosuit abilities, specifically the regeneration and recharge times, both when you are motionless, and when moving. For example, by lowering the value of the g_playerSuitEnergyRechargeTime command, your suit energy will recharge much faster, which makes gameplay much easier (system).

    g_suit - There are a range of commands starting with g_suit which control how your nanosuit powers affect energy consumption, and how effective the powers are (system)

    g_aiSuit - There are several settings starting with g_AiSuit which control the nanosuit parameters for any AI (friendlies, enemy) wearing suits. These values do not affect your nanosuit abilities - see the g_playerSuit variables for those (system).

    ai_AllowAccuracyDecrease [0,1] - If set to 1, this allows AI (enemy) accuracy to decrease when their target is moving laterally (side to side). This makes it easier for a player to avoid being hit by the enemy by constantly strafing.

    ai_AllowAccuracyIncrease [0,1] - If set to1, allows the AI to improve their accuracy against stationary targets. This makes it harder for a player if they're standing still, as they're more likely to be shot by the enemy.

    ai_AmbientFireQuota [value] - Determines the number of AI that can fire at the player at the same time.

    ai_WaterOcclusion [value] - Determines by how much being in water will hide you from the enemy. The higher the value, the more likely the enemy will not see you while you're in the water/submerged (system).

    Cheat / Fun Commands

    ai_IgnorePlayer [0,1] - If set to 1, this option makes the player effectively invisible to enemy AI. Note that this doesn't disable AI processing; the sys_AI command does that (system).

    sys_AI [0,1] - If set to 0, disables AI updates, which in effect makes AI unresponsive to anything. Unlike the ai_IgnorePlayer setting, the difference is that the AI are not ignoring the player, ai processing has been turned off altogether.

    ai_ForceStance [-1,0,1,2,3] - Forces all AI to take a particular stance: -1 disables forced stance, 0 = Stand, 1 = Crouch, 2 = Prone, 3 = Relaxed (system).

    g_godmode [0,1] - If set to 1, enables 'God' mode, which makes the player impossible to kill.

    i_noweaponlimit [0,1] - If set to 1, allows you to carry as many weapons as you wish (system).

    i_unlimitedammo [0,1] - If set to 1, provides you with unlimited ammunition for all your carried weapons - when firing your weapon its ammunition count will not go down (system).

    The next page continues the list of command variables.