4A Engine
Developer(s) | 4A Games |
---|---|
Operating system | Microsoft Windows, OS X, Linux |
Type | Game engine |
Website | www.4a-games.com |
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, OpenGL 3.2, along with NVidia's PhysX,[1] 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 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.[2]
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,[3] 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 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 (complete with blue shift), real-time reflections, colour correction, film grain and noise, and the engine also supports multi-core rendering.[4]
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(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.[5] The audio in the engine features 3D sound positioning, spatialisation and attenuation.
Controversy
There were accusations that the engine was an off-shoot of the X-Ray engine used in the S.T.A.L.K.E.R series, instead of an original development. The rumors were later quelled.[6] Shishkovtsov also noted that porting the original engine to consoles would have proved extremely difficult.