When it was released at the end of 2007, the original Crysis had a dramatic - and somewhat polarizing - impact on the gaming community. Virtually everyone agreed that it was one of the most graphically stunning games ever to grace the PC, but opinion was divided on the somewhat harsh performance toll that these amazing graphics took on most systems. While the game could be run at lower settings and thus be quite playable on even low-end PCs, unfortunately the overwhelming desire of many gamers to run Crysis at its maximum settings meant that a great deal of disappointment and anger ensued, souring the Crysis experience for some. However graphics aside, there were also many complaints regarding various gameplay aspects that some players felt detracted from Crysis, particularly in the latter half of the game.
The lessons that Crytek took from the feedback on the original Crysis have been put into effect in Crysis Warhead, a standalone expansion pack/parallel story to Crysis. In Warhead you take on the role of a somewhat more quirky and animated character by the name of Sargeant "Psycho" Sykes, a bit player in the original game, but who now comes to the fore to deliver his unique take on infiltration, combat and life in general. Just as Warhead's Psycho is a more dynamic character than Crysis' relatively reserved Nomad, so too the game is much more dynamic and action-packed. With Warhead Crytek has taken great care to resolve what many saw as the negative gameplay aspects of the first Crysis, such as vast tracts of open unpopulated areas, unimpressive aliens, and a lack of variety. Warhead gives you more explosions, more combat, more vehicles, more weapons and a more cinematic experience - while still allowing stealth and exploration similar to the first game. It's the same island, but it's a new game.
Almost as important, Crytek has proven their commitment to improving the game by revising and enhancing the oft-overlooked but excellent multiplayer component of Crysis. Crysis Wars is a genuinely improved version of the Crysis multiplayer experience, and brings highly immersive and exciting online gameplay to complement Crysis Warhead's relatively short singleplayer campaign. All the existing maps and modes in Crysis MP are available in Crysis Wars, along with new modes, new maps and new weapons, and greatly improved netcode.
In terms of performance, the situation is still not what many would expect or desire a year after Crysis was released. Despite promising a great deal of optimization, Warhead performs roughly on par with Crysis, and running it smoothly at maximum settings requires a high-end PC. However there has been optimization in that the environment is more detailed, and there's much more action on screen at any time, so to get the same performance with more happening is actually a form of optimization, albeit not quite what people were expecting. The bottom line however is that Crytek can't work miracles - for the game to look amazing at its highest settings, it will still require a lot of computing power.
For the most part, tweaking Crysis Warhead and Crysis Wars is almost identical to Crysis. However there are a range of differences that I felt needed to be spelled out, so I've put together this brief guide - to be used in conjunction with the original Crysis Tweak Guide. It should give you everything you need to know to get Crysis Warhead up to speed on your machine.
Note: This guide refers to the latest version of Crysis Warhead Version 1.1 and Crysis Wars Version 1.5. However this is not a standalone guide, it is meant to be used in conjunction with the Crysis Tweak Guide. Make sure to check back regularly for updates.
As mentioned on the front page, this guide is quite short and is not meant to be used in isolation - it is designed to be used in conjunction with the Crysis Tweak Guide. The reason is that 99% of the settings, tweaks and advice in that guide apply equally to Crysis Warhead and Crysis Wars, as they are all based on the same engine and do not contain dramatic differences. This guide simply contains additional information which is not included in the Crysis guide, or advice which differs for Crysis Warhead and Crysis Wars. Even if you're not new to tweaking Crysis, I strongly advise that you read the Crysis Tweak Guide to refresh your memory and get across all the important information and tweaking potential of CryEngine 2. You will also find information that you may not have seen elsewhere, so it's worth the effort.
To start with, in this section we look at additional Troubleshooting Tips, provide information about any Official Patches, and examine details about Crysis Warhead and Crysis War's new copy protection system.
Troubleshooting Tips
Official Support: If you're having problems and need help, the first place to look for official support details is in the Readme.txt file in your \Program Files\Electronic Arts\Crytek\Crysis WARHEAD (or Crysis Wars)\Support directory and read the Readme.txt for minimum hardware requirements, known issues and tips. Also check under the \EA Help subdirectory and launch the Electronic_Arts_Technical_Support.htm file for further troubleshooting help. Next, you should check the Official EA Support Site for more details of known issues and solutions. Finally, you can get community tech support via the Official Crysis Forums, as well as fan sites such as the InCrysis Forums.
64-bit Users: At the moment Crytek has not released the 64-bit binaries for Crysis Warhead, however they have released the 64-bit binaries for Crysis Wars as part of the 1.1 Patch - see below for details. However note that the PunkBuster anti-cheat system still doesn't support the new 64-bit version of Crysis Wars, so if you want to play with cheat protection you will still need to launch the 32-bit executable as normal.
Update: Both Crysis Wars and Crysis Warhead now have 64-bit binaries as of the latest versions. To run these, create a shortcut to the following game executable: \Program Files (x86)\Electronic Arts\Crytek\Crysis Wars\Bin64\Crysis.exe (Crysis Wars), and \Program Files (x86)\Electronic Arts\Crytek\Crysis WARHEAD\Bin64\Crysis64.exe (Crysis Warhead). Alternatively, for Crysis Warhead in Vista 64-bit, right-click on the game's icon in Games Explorer and select 'PlayDX9 (64-bit)' or 'PlayDX10 (64-bit)'. The 64-bit version is recommended for Warhead users because it should help resolve memory-related issues.
Note: Games saved when using the 32-bit version won't work properly when running the 64-bit version and vice-versa.
Crashes: Crysis Warhead is a very strenuous game, and as such can crash for a variety of reasons. Don't just assume that every crash or problem is a bug - almost all issues are due to incorrect system configuration and poor system optimization - see the TGTC link below for more help on how to resolve this. However there is a known bug which can cause crashes and stuttering: if you disable texture streaming (Using the r_texturesstreaming=0 command) then this will result in texture corruption and then an eventual crash - see the next page for more details. For crash problems related to SecuROM, see the Copy Protection section further below.
See Page 3 of the Crysis Tweak Guide for more important troubleshooting tips which you should not ignore. Importantly, the biggest performance improvement and troubleshooting step you can undertake is to download and run through the comprehensive TweakGuides Tweaking Companion (TGTC).
Official Patches
Crysis Warhead has received a 1.1 Patch which fixes several issues and includes 64-bit binaries for the game. Note that shortly after the original release of this first patch, Crytek has released a '1.1 Hotfix' version of the patch with some additional fixes - the link above is for the latest Hotfix version which is recommended.
The multiplayer component Crysis Wars has received a 1.5 Patch which contains a range of bug and balance fixes and some general improvements.
Check back here for details as patches are released in the future.
Copy Protection
One of the more controversial aspects of Crysis Warhead has been its increased copy protection. Due to the high levels of piracy for the original Crysis, Crytek and EA have implemented the SecuROM copy protection system which incorporates an online activation component. Unfortunately there has been a great deal of misinformation and FUD spread about this protection system, so let's just examine the facts. Both the Steam version and the DVD version of Crysis Warhead and Crysis Wars are protected by SecuROM in the same manner. If you are interested in the actual facts regarding Crysis Warhead's copy protection and SecuROM in general, I urge you to read the following official documents:
Crysis Warhead Copy Protection FAQ
Crysis Warhead Steam Copy Protection FAQ
SecuROM FAQ
Below I summarize the most important points:
If you are experiencing problems with SecuROM, see the SecuROM FAQ further above, and also make sure to turn off X-Fire, Process Explorer, or Virtual Drive software as these are known to cause conflicts with SecuROM when a protected game is run. Disable these, reboot and retry activation or launch of the game.
It is important to understand that SecuROM does not run in the background when a protected game is not running, it does not have any general performance impact on your system, it does not spy on your personal information, it is not a rootkit or malware, and when uninstalled, it only leaves behind a set of Registry keys holding license information. All of this is explained in detail in the EA SecuROM FAQ linked further above. Increasing piracy has forced companies to protect their multi-million dollar investments in PC game development and thus increase DRM measures to discourage casual piracy. If you wish to feel outraged about these measures, I would encourage you to aim your anger at the pirates who for years have downloaded all manner of games, whether good or bad, cheap or expensive, protected or unprotected, under an endless variety of excuses. DRM is not the source of piracy; rampant piracy has unfortunately forced DRM upon us. There is no magic solution to this problem.
Update: Crytek has released a Revoke Tool which allows all users to manually revoke and thus free up any unused Activations of Crysis Warhead.
Mods
Crytek has announced that a Sandbox Editor and SDK for Crysis Warhead and Crysis Wars will be released soon. Until then, they point out that many maps developed for Crysis MP can also be played in Crysis Wars.
Update: Crytek has released the Mod SDK for Crysis Wars, allowing users to create custom maps for multiplayer and singleplayer use.
There is also a popular Mechwarrior: Living Legends total conversion mod for Crysis Wars.
The next section goes into detail about any new or altered In-Game Settings and Advanced Tweaks, as well as some handy tips and performance information.
This section contains details about the altered In-Game Settings and any new or significantly different Advanced Tweaks which apply to Crysis Warhead. It also provides some handy tips like how to disable the introductory movies and discusses performance, including a comparison of DX9 vs. DX10 modes.
In-Game Settings
For full details of what all the in-game settings do in Crysis Warhead and Crysis Wars, you should check out the In-Game Settings section starting on Page 5 of the Crysis Tweak Guide. Below are those settings which are new or have changed since Crysis:
Advanced Graphics Options: While all the settings are the same, Crytek has changed the name of the setting levels for PR purposes. Originally in Crysis, the available levels were Low, Medium, High and Very High. Now in Crysis Warhead these levels have been renamed Minimum (Low), Mainstream (Medium), Gamer (High) and Enthusiast (Very High). In Crysis Wars, the levels have been renamed Best Performance (Low), Good Performance (Medium), Good Visuals (High) and Best Visuals (Very High). Only the names have changed, these settings are still exactly the same as before.
Importantly however, in Crysis the Very High (Enthusiast) option was only available in DirectX 10 mode, or by manually editing the .cfg files to allow it in DirectX 9 (See Page 13 of the Crysis Tweak Guide for details). Now in Crysis Warhead, Crytek has fortunately allowed all setting levels to be available without the need for any modification, whether in DX9 or DX10 mode, on both XP and Vista. Note however that Object Motion Blur is not enabled in DX9 Enthusiast mode by default, but can be enabled using the r_MotionBlur=5 command variable.
Crysis Wars on the other hand is still the same as the original Crysis - the highest setting in DX9 mode is still Good Visuals (High), and to enable Best Visuals (Very High) you will need to modify the config files as detailed in the link above.
Update: As of the 1.4 Patch, you can now select Best Visuals (Very High) in Crysis Wars in DX9 mode from within the game without requiring any modification to the config files.
Mouse & Keyboard Setup: Crysis Warhead has added a Utilities Toggle command; most everything else is identical.
In all other respects, Crysis Warhead and Crysis Wars appear to be the same as Crysis in terms of in-game settings, so again check the Crysis Tweak Guide for more details.
Advanced Tweaking
For full details of how to conduct advanced tweaking and what the numerous Command Variables (cvars) do in Crysis Warhead and Crysis Wars, you should check out the Advanced Tweaking section starting on Page 8 of the Crysis Tweak Guide. However below are those cvars which are clearly new or have changed noticeably since Crysis:
Changed Variables:
e_view_dist_ratio_detail [value] - This setting controls the maximum view distance only for detail objects. The value for this variable at the Very High (Enthusiast) setting has been increased significantly from 30 in Crysis to 50 in Crysis Warhead, increasing visible detail objects at the cost of some FPS. You can alter it back to the level it was in Crysis to improve performance if you wish.
e_view_dist_ratio_vegetation [value] - This setting controls the maximum view distance for vegetation/foliage. The value for this variable at the Very High (Enthusiast) setting has been increased from 45 in Crysis to 65 in Crysis Warhead, increasing visible vegetation at the cost of FPS. Once again, you can lower it back to the Crysis value if you want a performance boost at the cost of more vegetation pop-in for example.
r_TexturesStreaming [0,1,2] - This setting controls the streaming texture system in the game, and if set to 0, textures are not constantly streamed as you walk around, they are preloaded from a cache, and furthermore distant texture quality is also improved. If set to 1, it is enabled, and if set to 2, it uses a more aggressive form of streaming. In Crysis you can disable texture streaming and usually have no performance issues; in Crysis Warhead if you disable texture streaming, particularly at the Enthusiast setting, you will experience texture corruption and crashes on virtually any system. This appears to be a bug and will hopefully be fixed in future patches. For the moment, ensure that if you use the Gamer or Enthusiast options for the Texture Quality setting under Advanced Graphics options, that you do not disable texture streaming.
Update: As of the 1.1 Patch, and using the 64-bit executable, I have found that disabling texture streaming (i.e. r_TexturesStreaming=0) at higher settings no longer appears to cause a crash. I haven't tested this on the 32-bit version, but 64-bit users in particular might like to try it now as it does provide enhanced visuals.
Note: Various people are suggesting that changing the sys_budget_videomem variable to match your Video RAM size will resolve the problems with texture streaming. This is incorrect - as covered in the Crysis Tweak Guide the sys_budget-related commands do not alter the actual amount of resources used by the game, they are merely a way to set warning thresholds for monitoring purposes when used in conjunction with the sys_enable_budgetmonitoring command. In other words whether you change sys_budget_videomem to 5 or 5000, the game does not use this variable to determine how much Video RAM you have or how much VRAM it will use. Test it for yourself by setting it to 5 for example (i.e. 5MB); in theory that should result in massive stuttering every second - but it won't.
e_time_of_day [value] - When typed without any value, this command shows the current time of day in hours. When typed with a value, it used to have no impact in Crysis, however in Crysis Warhead you can now use it to change the actual time of day using a specific hour. For example enter a value of 6 for 6:00am, or 6.5 for 6:30am, or 14 for 2:00pm. Importantly however, it will only work if you run Warhead in Developer mode - that is, if you add the -Devmode command line switch to the Target box of the game's launch icon.
Removed/Disabled Variables:
e_particles_max_emitter_draw_screen
r_WaterUpdateFactor
r_WaterUpdateDistance
New Variables:
ca_FacialAnimationRadius [distance] - This setting determines the maximum distance at which facial animation updates are performed. The higher the value, the further away at which the enemy soldiers will have animated facial expressions, such as when you zoom in on them using binoculars. The performance impact of changing this value seems negligible.
e_particles_max_screen_fill [value] - This setting replaces the e_particles_max_emitter_draw_screen variable in Crysis, however just like the setting it replaces, it essentially controls the volume of particle effects such as smoke. The higher the value, the thicker/richer such effects will be at the cost of FPS, while the lower this value, the less dense and smaller such effects will be, but with improved FPS.
p_sleep_speed_multiple [value] - This variable is described as a multiplier applied to rigid body sleep threshold. This may mean the multiplier essentially controls the level of movement of rigid body objects (i.e. inflexible objects) in the game world after some physics has been applied to them. The higher the value for this multiplier, the more quickly moving solid objects will revert back to 'sleep' mode (i.e. come to a complete stop). In practice this should mean that higher values give better performance at the cost of some realism, but in my experimentation the difference is not necessarily easy to detect. Thanks to FireballFlame for the description.
p_enable_triangle_cache [value] - This appears to be a method used to cache data for heightfields, which describe the surface elevation of terrain. I don't believe there should be any reason to disable this caching, so it should be left =1.
r_WaterUpdateChange [0.0 - 1.0] - This setting replaces the r_WaterUpdateFactor variable which was used in Crysis, and along with the r_WaterUpdateTimeMin and r_WaterUpdateTimeMax variables below, determines how frequently reflections are updated upon the water's surface. The higher the value, the less often updates are performed, which in turn can make reflections jerky and unrealistic but may improve performance in water areas.
r_WaterUpdateTimeMin [0.0 - 1.0], r_WaterUpdateTimeMax [0.0 - 1.0] - As noted above, these settings are related to the frequency of reflection updates on the surface of water. In experimenting I've found the most obvious impact occurs when you alter the r_WaterUpdateTimeMin value; raising this value decreases the frequency of reflections, up to the maximum value specified by r_WaterUpdateTimeMax. If you're after the best image quality for water reflections, set all the r_WaterUpdate variables to 0.0 to ensure that reflection updates are performed with every single frame.
Neat Stuff & Conclusion
Here are a few last tidbits of information which will help you understand and hopefully enjoy Crysis Warhead and Crysis Wars even more:
Disabling the Introductory Movies
As with Crysis, there are a large number of introductory/promotional movies which play before you reach the main menu in Crysis Warhead and Crysis Wars. If you want to automatically skip all of these and reach the main menu much more quickly, go to your \Program Files\Electronic Arts\Crytek\Crysis WARHEAD (or Crysis Wars)\Game\Localized\Video directory and rename all the .sfd files starting with Trailer_, as well as Crytek.sfd and Intro.sfd, and the Trailer_Rating files under the \English folder to something else. Better yet, create a new folder under the \Video directory (e.g. \Nomovies) and move all the above .sfd files to that new directory - I don't recommend deleting them. The next time you launch the game it will automatically skip all these introductory movies and get to the main menu within a shorter space of time.
General Performance
In general, as noted in the Introduction, Crysis Warhead is quite a graphically intensive game, and just like Crysis before it, demands a good quality and/or well optimized machine to get playably smooth FPS at the higher settings. To judge the performance and visual quality impact of the game better for yourself, check out the following articles:
HardOCP Crysis Warhead Performance and IQ Article
PCGH Warhead Graphics Comparison Article
PCGH Warhead Performance Benchmark
Techspot Warhead Performance Analysis
I have to add that I personally find that the game is quite playable at lower framerates when set to Gamer or Enthusiast, especially with Object Motion Blur enabled. By low FPS, I'm referring to anything in the 20-30FPS range, which would usually be frowned upon by any 'hardcore' gamer. To understand why Crysis can still look and feel relatively smooth at lower framerates, read this page on frames per second. It also bears noting that CryEngine 2 doesn't slow down as dramatically during heavy combat, because it has optimized particle effects among other things. So if you're averaging in the 20-30FPS range then you shouldn't feel too bad.
'Cheap' Very High
Remember that as discussed on the last page of the Crysis Tweak Guide, you can have Enthusiast-level graphics (Very High) 'on the cheap' by only applying a range of key command variables which implement the most obvious visual enhancements of Enthusiast, while getting performance closer to that of Gamer (High). Set your in-game settings all to Gamer quality, then in your System.cfg or Autoexec.cfg file the main variables to use are: r_UsePOM=1, r_sunshafts=1, e_water_ocean_fft=1, q_Renderer=3 and r_colorgrading=1. I personally also add r_UseEdgeAA=2 to further smooth out jagged foliage, and r_MotionBlur=5 to add Object Motion Blur to the mix. I then set the in-game Texture Quality and Sound Quality to Enthusiast as well, as these have minimal FPS impact. The end result looks incredibly close to Very High/Enthusiast, but is usually much faster. See the comparison further below, and of course refer to the 'Very High On The Cheap' section on the page linked above for more details.
Note that 'Cheap' Very High in DX9 mode may result in blurry faces - this is a known visual glitch with object motion blurring force-enabled in DX9 mode. Switch to using 'Cheap' Very High in DX10 mode, or disable object motion blur (i.e. remove r_MotionBlur=5 from your System.cfg).
Benchmarking
Unlike the original Crysis, Crysis Warhead does not come with .bat files you can use to run automated benchmarks. However there is a uniform way you can run a set benchmark with Warhead - use a utility like the HOCBench CW Benchmark.
DirectX 9 vs. DirectX 10
One of the biggest performance improvements for Windows Vista users is to switch from using the default DirectX 10 renderer to DirectX 9, in the process gaining quite a few FPS with no noticeable drop in image quality. To do this, you must use the -DX9 command line switch. If you have a desktop icon for Crysis Warhead, then right-click on it, select Properties, then at the end of the Target box, one blank space after the last character, add -DX9. It should look something like this:
"C:\Program Files\Electronic Arts\Crytek\Crysis WARHEAD\Bin32\Crysis.exe" -DX9
Alternatively, if you use the Games Explorer launch icon for Warhead, then you can right-click on that and select 'Play DX9' to launch the game in DX9 mode. If you want to always launch Crysis Warhead in DX9 mode just by double-clicking the icon in Games Explorer, then right-click on its icon, select Customize, highlight the 'PlayDX9' item and click the 'Move Up' button at the top right until 'PlayDX9' is at the top of the list, and click Close. Now the game will automatically run in DX9 mode whenever the icon is double-clicked. You can do the same for Crysis Wars.
I provide some screenshots below to demonstrate the visual and performance difference between DX10 Enthusiast, DX9 Enthusiast, and DX9 'Cheap' Enthusiast. The framerate is at the top right of each screenshot:
As you can see, they all appear very similar, however in terms of framerate @1280x1024 on my 8800GTS: DX10 Enthusiast is 21FPS, DX9 Enthusiast is 24FPS, and DX9 'Cheap' Enthusiast is 30FPS. Visually, DirectX 10 Enthusiast actually has a noticeably more vivid Sun, the sky is more brightly lit and hazier, the shadows are a bit more soft and subtle and the glass bottles on the table at the right are also a bit more detailed. DirectX 9 Enthusiast shows more vegetation on the distant island to the right, a darker sky and more defined/darker shadows. DirectX 9 'Cheap' Enthusiast lacks the water reflection for the island to the right, the shadow outlines are not as noticeably softened, and the vegetation in the distance is also a bit less lush.
In short, there is a noticeable visual difference between DX9 and DX10 mode, moreso than in the original Crysis in my opinion. It's most noticeable while actually playing the game, the DX10 shader effects are more subtle and much nicer. However unfortunately the performance impact of running in DX10 mode is also quite pronounced, and generally most people will not find it worth the drop in FPS. DX9 mode should suit most people, and indeed as I've demonstrated, with a few wise tweaks, you can have a 'Cheap' Enthusiast version of DX9 which runs at an even more acceptable framerate, so tweaking definitely can help Crysis look good and perform well.
Conclusion
This has been a rather brief look at Crysis Warhead, however as repeatedly noted, that's because the original Crysis Tweak Guide really does cover the bulk of what you need to know to get the most out of all the Crysis-based games. It takes a fair bit of patience to get across the optimization of Crysis/Warhead/Wars, but it's a worthwhile investment given CryEngine 2 is likely to continue to be used in upcoming cutting-edge games, including hopefully more sequels to Crysis. In any case I will update this guide with information specific to Warhead and Wars as required, so check back here often. If you have important information regarding additions/changes to this guide, please Email Me, however keep in mind that I can't provide any tech or tweaking support/advice under any circumstances, and I also don't provide permission for the guide to be reproduced or translated elsewhere for several reasons.
Until next time, take care!