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, 11, and recently 12, OpenGL 3.2, 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 , notably Oles Shishkovtsov and Oleksandr Maksimchuk, the programmers who worked on the development of the 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.
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 GeForce 6 series architecture of the RSX Reality Synthesizer in the PlayStation 3 proved to be very useful during development noted that there were many "wasted cycles". The engine can utilise a deferred shading pipeline, and uses tesselation for greater performance, and also has HDR, real-time reflections, colour correction, film grain and noise, and the engine also supports multi-core rendering.
The 4A Engine implementation of Metro 2033 features 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.
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, spatialisation and attenuation.

Controversy

There have been accusations that the 4A Engine is a modified version of the X-Ray engine used in the S.T.A.L.K.E.R series, instead of an original development. 4A denied the accusations. Shishkovtsov also noted that porting the original engine to consoles would have proved extremely difficult.

Games using 4A Engine