4A Engine

The 4A Engine is a graphics middleware engine developed by 4A Games for use in their video game Metro 2033, published by THQ. It supports Direct3D APIs 9, 10, and 11, along with NVidia's PhysX, and also NVidia's 3D Vision.

Development
The engine was developed in Ukraine by a set of people who split off from GSC Game World a year before the release of S.T.A.L.K.E.R.: Shadow of Chernobyl, notably Oles Shiskovtsov and Aleksandr Maksimchuk, the programmers who worked on the development of X-Ray engine used in the S.T.A.L.K.E.R. video game series. The engine itself is capable of running on PC, the Xbox 360, and the PlayStation 3. However, in the case of Metro 2033, an SKU was not released for the PlayStation 3.

Shishkovtsov and his colleagues split from the development of S.T.A.L.K.E.R. because that "its inherent inability to be multi-threaded, the weak and error-prone networking model, and simply awful resource and memory management which prohibited any kind of streaming or simply keeping the working set small enough for 'next-gen' consoles" along with its "terrible text-based scripting", which he explained led to the delays in the original game.

The game is multi-threaded in such that only PhysX had a dedicated thread, and uses a task-model without any pre-conditioning or pre/post-synchronising, allowing tasks to be done in parallel. When the Xbox 360 iteration had been measured during development, they were running it at "approximately 3,000 tasks per 30ms frame on Xbox 360 on CPU-intensive scenes with all hardware threads at 100 per cent load". Shishkovtsov also said that the NV40 architecture of the RSX in the PlayStation 3 proved to be very useful during development, noting that there were many "wasted cycles". The engine can utilize a deferred shading pipeline and uses tessellation for greater performance, and also has HDR (complete with blue shift), real-time reflections, colour correction, film grain and noise, and the engine also supports multi-core rendering.

Metro 2033 featured superior volumetric fog, double PhysX precision, object blur, sub-surface scattering for skin shaders, parallax mapping on all surfaces, and greater geometric detail with a less aggressive LOD(s). Using PhysX, the engine uses many features such as destructible environments, and cloth and water simulations, and particles that can be fully affected by environmental factors. The audio in the engine features 3D sound positioning, spatialization and attenuation.

Controversy
There were accusations that the engine was an offshoot of the X-Ray engine used in the S.T.A.L.K.E.R. series, instead of an original development. The rumours were later quelled. Shiskovtsov also noted that porting the original engine to consoles would have proved extremely difficult.

Features

 * Approximate global illumination with local occlusion
 * Analytical AA
 * True Depth Of Field
 * Soft shadows
 * High-Dynamic Range rendering using Floating-Point Buffers, allowing for Tone Mapping, Exposure Adaptation, and Blue Shift, for camera/eye perceptual rendering
 * Soft particles
 * Virtual Displacement Mapping
 * Gamma-Correction, linear colour space renderer
 * Deferred Shading allows hundreds of lights in frame, in huge, complex scenes
 * Only Dynamic Lighting and ability to use light-shaders, with dozens of special effects
 * Weather and Day/Night model
 * Hierarchical Per-pixel Occlusion Culling
 * Real-time colour correction
 * Film grain and Noise
 * Motion Blur

Minimum

 * Operating System: Windows XP
 * CPU: Intel Core 2 Duo at 2.4 GHz or equivalent
 * Memory: 1 GB RAM
 * Graphics Hardware: DirectX 9.0, Shader Model 3 compliant graphics card (GeForce 8800 or ATI 3850 and above)
 * Sound Hardware: DirectX 9.0c compliant sound card

Recommended

 * Operating System: Windows 7
 * CPU: Intel Quad Core at 3.0 GHz or equivalent
 * Memory: 2 GB RAM
 * Graphics Hardware: DirectX 11 compliant graphics card (GeForce GTX 470 / ATI HD 5850 and above)
 * Sound Hardware: DirectX 9.0c compliant sound card