Introduction into Graphics Technology Reviews in Games
F.E.A.R. uses the Jupiter Extended ("Jupiter EX") Technology engine from Touchdown Entertainment. Lithtech was initially developed inside Monolith Productions. Later on the team that worked on the game engine was detached from Monolith into a separate group, Touchdown Entertainment. The latest known engine version differs from the previous ones first of all in the latest Direct3D 9 renderer and Havok physics engine.
In this article we are interested in the 3D part of the engine. Jupiter EX is powered by a new flexible, extensible, and data driven DirectX 9 renderer that uses materials for rendering all visual objects. Each material associates an HLSL shader with artist-editable parameters used for rendering, including texture maps (normal, specular, emissive, etc.), colors, and numeric constants. Jupiter EX features a unified (for all surfaces) Blinn-Phong per-pixel lighting model, allowing each light to generate both diffuse and specular lighting consistently across all solid objects in the environment. The game is notable for lots of surfaces with several texture layers and many vertex and pixel shaders: bump mapping/normal mapping on all surfaces, simple parallax mapping on some of them.
Jupiter EX uses an advanced rendering system for special effects: explosions, fire, steam, smoke, dust, etc. One of the noticeable differences from other games is the effective particle system - just look at the screenshots from the game, sparks and explosions look great even now, to say nothing about the release date, and especially when the first screenshots appeared. The renderer uses advanced post processing techniques: blur, motion blur, depth of field, heat haze, distortion, lens flare, etc. Speaking of what cannot be illustrated by the screenshots, but still pertains to our article: Jupiter EX offers a flexible animation system that includes support for inverse kinematics, lip-syncing, skeletal animation, skinning, animation blending, level of detail, and Havok physics.
F.E.A.R. contains mostly enclosed spaces as well as rare open spaces, small and medium. There are actually no vast open spaces (what seems like them at first glance is just an imitation). The game is mostly rooms and passages. That's hardly a technical limitation of the engine. That's rather a concept of the game design and probably the effect of the selected shadow rendering system. The game uses shadow volumes, though the engine also supports shadow maps. Of course, shadow volumes have their drawbacks. But shadow volumes do well in games that mostly occur in enclosed spaces with lots of light sources that cast shadows to calculate. This fact is backed up by the other games that use this shadow system: DOOM 3, Far Cry (shadow volumes are used indoors, shadow maps - outdoors), The Chronicles of Riddick: Escape from Butcher Bay, etc. The most interesting issue in F.E.A.R. shadows is the method used for softening their borders. "Soft" shadows are obtained by mixing several usual ones. Unfortunately, soft shadows come at the high performance cost. The algorithm is rather slow and is incompatible with multisampling.
The volume of geometry processed in a single frame in typical conditions with maximal settings is a tad higher than the average level in most games. This value changes from 40000 to 300000 polygons per frame (it may grow sometimes - up to 500000, but it's a rare scenario). That's the average of 120000-150000 polygons per frame with maximal settings, depending on a game level.
Almost like previously reviewed Call of Duty 2, this game has high requirements to the size of local video memory. It uses up to 400MB of video memory at 1024x768 with enabled antialiasing 4x and maximum quality settings! Memory management is original: new resources are loaded as you go deeper into a level, but memory is purged of unnecessary resourced only when you save the game or autosave at control points. The average video memory usage at 1024x768 with 4x antialiasing and maximum quality settings is 230-270 MB. That's why many systems with less physical memory use some of system memory as well. But unlike Call of Duty 2, the performance difference between 512 MB and 256 MB video cards appears only in very high resolutions with enabled antialiasing, e.g. 2048x1536, where the frame rate is still too low.
The graphics engine uses shader programs, written in HLSL. Our testbed with a video card supporting Shader Model 3.0 compiles them on-the-fly into vertex shaders 1.1 and 2.0 and pixel shaders 1.1, 1.4 and 2.0. Most programs are compiled into SM 2.0, more complex and longer. On the other hand, a lot of pixel and vertex shaders 1.1 indicate that the game will not lose much on video cards without SM 2.0 support. Though it's intended for DirectX 9 GPUs. All pixel shaders 2.0 have partial precision optimizations. They should come in handy to all modern video cards from NVIDIA, especially the NVIDIA GeForce FX series.
According to some info sources, Lithtech engine had been initially developed by Monolith for Microsoft to be included into DirectX. But it didn't happen for some reason. Monolith continued to develop this project, to use this engine in its own projects and license it to other developers. After the reorganization, the team that worked on the Lithtech engine, was detached into Touchdown Entertainment. And this company has been developing the engine since that time. Different engine versions were used in games from Monolith as well as from third-party companies.
When Lithtech 1.0 was released, it couldn't compare with more famous engines like Quake and Unreal. It lacked support for some modern graphics technologies, which were supported by the above-mentioned engines. In return, it was very easy to use, because it was initially developed as part of DirectX, to facilitate game development by third-party companies. Games that are based on this engine version: Shogo: Mobile Armor Division è Blood II: The Chosen. Both games were released in 1998 and were rather popular at that time. The engine v1.5 was significantly improved and even outscored Quake 3 and Unreal Engine in some aspects. It supported many new features, for example facial animation and physical model for vehicles. Lithtech 1.5 was used in such games as No One Lives Forever and KISS: Psycho Circus, released in 2000 and Aliens vs Predator 2, released in 2001.
Lithtech has reached its peak by Version 2.0. This engine version was called Jupiter. That was when Lithtech became competitive, even versus such grands as Unreal Engine and Quake Engine. The following famous games were based on this engine version: No One Lives Forever 2: A Spy In H.A.R.M.'s Way (released in 2002, it used to be one of the most technologically advanced games at that time), TRON 2.0 (released in 2003, it used a modified version of the Jupiter engine), The Matrix Online (released in 2005, one of the latest games that use Jupiter). And finally the latest modification of the Lithtech engine - Jupiter EX, was announced in one of the most popular PC games in 2005 - F.E.A.R. Another game, based on Jupiter EX, is Condemned: Criminal Origins, released for Xbox 360 and then for PC.
F.E.A.R., publicly announced at the largest game expo E3 in 2004, offered astonishing graphics: a powerful particle system (showers of sparks, puffs of smoke and dust for collisions with objects and walls), normal maps everywhere, interesting implementation of bullet marks on walls (first without parallax mapping, and then with it), and some other visual effects.
The first screenshots show complex geometry models of characters, shadows from several light sources cast by all geometry. The particle system shows its advanced level, as the screenshots were shown two years ago, when we could only dream of such graphics.
The multiplayer beta, released later, disappointed us a little with its low performance and monotonous MP maps. But it still demonstrated its high technological level, there appeared new effects - parallax mapping where necessary and post processing of bullet traces in slow-mo mode:
Look at bullet holes, they seem like 3D, if you look at different angles (except for the sharpest ones, of course). That's the most evident effect of parallax mapping in the game. The screenshots also show an excellent job of particle systems and normal mapping on all surfaces. Besides, developers implemented their vision of soft shadows in this beta version:
Each new MP version added and improved post processing algorithms, such as bullet traces in slow-mo and air distortions from explosions and fire:
Besides, the second MP beta demonstrated high-quality water with real dynamic waves and reflections. The SP version already included all those features that were later implemented in the release version. The new version just had a faster soft shadow algorithm, general rendering performance optimizations, etc.
Peculiarities of Graphics in the Game
From the technical point of view, the graphics level is very good in this game. F.E.A.R. astonishes us not with its dark indoor levels, but with many special effects, such as nice explosions, a lot of sparks, various post processing effects, etc. As we have already mentioned, the whole game is played in enclosed spaces and in some small, artificially limited open locations, which are notable for relatively simple geometry.
The release version proved its high technological level - widely used normal mapping, each material has several layers (diffuse, normal, specular), detailed surfaces, especially those with parallax mapping.
The last two screenshots illustrate the most obvious examples of parallax mapping in the game. Unfortunately, the game has much less surfaces of this kind than it should have had. They are limited to selected brick walls and holes in the walls. Thanks for that.
F.E.A.R. renders shadows from all light sources and for all geometry (maximum quality settings). It uses shadow volumes that have become very popular in recent indoor shooters. Soft shadows from Monolith are implemented using the same shadow volumes. Just several (probably three or four) identical shadows are mixed and post processed to get something like realistic soft shadows.
Water surfaces in the release version are more diverse - there appeared small pools with per-pixel distorted reflections as well as large water surfaces with real geometric waves. Unlike most games, where waves on the water are just effects on the pixel level (there is little real geometry, the waves have no height, the effect is imitated with special dynamic textures - environment and height maps). Water surfaces here are a lot of vertices and polygons. Water waves are created dynamically from moving objects. Vertices of the polygonal mesh really change their position in space. The results look very realistic.
Unfortunately, unlike some other games (Far Cry, Half-Life 2), developers had to sacrifice simultaneous application of refraction and reflection effects - there is only reflection, and underwater objects are visualized without distortions. But the game does not suffer much from it, as unlike the two above-mentioned games, this one has no large lakes and rivers anyway. Besides, you will hardly manage to make out any refractions in the dark.
The game pays special attention to the beauty of lighting effects. Developers' efforts were not wasted. These very effects attracted gamers in the first screenshots and amazed them in demo versions. Good-looking explosions and lots of sparks attract your attention immediately.
Let's review another important moment of modern 3D graphics - post processing effects. This game uses a lot of usual post processing filters. Several examples: blur - when your character blacks out and comes back to his senses, motion blur - in script scenes and in slow-mo, depth of field, heat haze - distortions in the air from explosions and fire, as well as some other post filters (distortion, lens flare, etc).
Unfortunately, the game and its engine do not support HDR with high precision formats. Calculating post filters in HDR might have yielded much better quality. On the whole, the technological level of 3D graphics in the game is very high. We are mostly concerned with errors in game design, these corridors and grey buildings are too monotonous. You will grow tired of all those boxes and other small objects, when you see them for the hundredth time. Our other gripes have to do with the previously-mentioned lack of HDR and tone mapping (we are getting used to all these things in other technological games), insufficient geometric details of game levels and some objects, which is done with real geometry instead of normal maps. It's high time to use more advanced lighting models for human skin imitation, we are sick and tired of plastic dolls.
Graphics quality settings
F.E.A.R. is one of the games that use all features of modern GPUs, though it sometimes uses not the most effective methods. It's not easy to make F.E.A.R. run smooth and fast with maximum settings. Here is the list of video cards that provide the average FPS level above 60 frames per second with maximum quality settings, enabled anisotropic filtering and antialiasing, at just 1024x768. The data are taken from the latest 3Digest: ATI RADEON X1800 XT, ATI RADEON X1900 XT, ATI RADEON X1900 XTX, NVIDIA GeForce 7800 GTX (256MB and 512MB modifications), NVIDIA GeForce 7900 GT, NVIDIA GeForce 7900 GTX. The same cards will make the list for 1600x1200, but... only in SLI and CrossFire configurations, that is with doubled strength! That's only the situation in the built-in benchmark, which does not reflect a full gaming picture. When you play this game, there appear much heavier moments, when the performance slumps even lower. Remember that the game is more than six month old... So in order to get a sufficient frame rate, you should pay special attention to graphics settings of the game. We are going to review them now.
As it often happens in modern games, you can let the game choose optimal settings for your system (Auto Detect). But it will not produce as much effect as you can get by configuring the game manually. Having fine-tuned the parameters, you will most likely get higher performance and/or better quality. The Performance menu contains two sub-sections. We are interested only in the second - "Advanced Video Card Options", which includes settings that affect performance and rendering quality.
The most efficient and fastest way to configure the game is to run the built-in benchmark without changing the automatically detected settings and then to evaluate minimum FPS, average FPS, and the time when the frame rate was below 25 fps. If the last value (in percents) is too high (that is the game will often slow down and lag), the average frame rate is below 35-40 fps, and the minimum frame rate is below 20 fps, you have to ease some settings down. If the average FPS exceeds 50-60, and the frame rate does not drop below 25 fps very often or it never does, you may try to improve video quality by raising settings (if there is a reserve for it). And so forth. You should try to get the results you want. Most often, it's the average frame rate of 50 and higher and the minimum frame rate above 25 fps. But remember that the benchmark does not include large and complex scenes. Obtained results can be used only as ballpark figures. Performance in heavy scenes with vast spaces and lots of enemies and special effects may be much lower.
The choice of a rendering resolution has a significant effect on performance. The game has high requirements to the effective fill rate. That is the most important parameters of video cards for this game are the fillrate (depends on the operating frequency of a video chip and a number of pixel pipelines) and memory bandwidth (depends on memory frequency and memory bus width). Here is an example of a testbed with the GeForce 7800 GTX 256MB: if we take 1024x768 for 100% and calculate the average frame rate ratio in other resolutions, we get the following results: 640x480 - 185%, 800x600 - 145%, 1024x768 - 100%, 1280x960 - 70%, 1600x1200 - 50%. That is the average frame rate in 1600x1200 will be twice as low as in 1024x768, and it will be nearly twice as high in 640x480. The game is limited to 4:3 resolutions (1600x1200, 1280x960, 1152x864, 1024x768, 800x600, 640x480, etc, they depend on a given card), but you can set the native LCD resolution 1280x1024 by editing the configuration file of the game (see below).
The first section contains usual settings - resolution, antialiasing, texture filtering, synchronization, brightness, etc. Let's review the most interesting graphics settings of the final version.
Advanced Video Card Options - Effects
Advanced Video Card Options - Graphics
Speaking of performance, we can only add that the game with maximum settings (except for soft shadows, which have a questionable effect) offered decent performance on our testbed with enabled antialiasing 4x and anisotropic filtering 16x at 1024x768. The average frame rate was about 50-60 and the minimum FPS did not drop below 25-30. Higher resolutions and antialiasing levels require faster video cards, like the ATI RADEON X1900 XTX and the NVIDIA GeForce 7900 GTX, CrossFire or SLI configurations are welcome. In case of mid-end systems with such video cards as the NVIDIA GeForce 7600 GS and the ATI RADEON X1600 PRO/XT, you will have to ease some settings down and/or disable antialiasing.
A couple of words about F.E.A.R. configuration files The game uses several such files: Default.archcfg and autoexec.cfg in the root folder of the game and settings.cfg in "\Documents and Settings\All Users\Documents\Monolith Productions\FEAR\". The last file is the most useful. You have to change some lines in this file to use a non-standard resolution. For example:
I cannot help mentioning one funny fact. By the way, it may accelerate video cards from ATI, provided you use certain Catalyst versions. It seems that ATI programmers made a mistake in the description of this game for Catalyst AI in some last-year versions of the drivers (that was when the game was released). Catalyst AI is intended to raise performance in some applications using some specific optimizations. This function worked fine for the demo, but it reduced (or failed to raise, if you like) performance of the release. The problem was discovered by enthusiasts of 3D graphics. They solved it by renaming the execution file of the game "FEAR.exe" (use any other name you like). After that operation, the game gained much performance, retaining the same quality. The bug was fixed in the next versions of ATI drivers, and this funny way of raising performance was lost. It's all the more strange that performance of all ATI cards drops again in Catalyst 6.4 with default settings compared to Catalyst 6.3! If it isn't the old bug? Moreover, this bug is fixed again in Catalyst 6.5 and the old performance level is back.
Alexei Berillo aka SomeBody Else (firstname.lastname@example.org)
October 20, 2006
Write a comment below. No registration needed!