4A Engine Explained

4A Engine
4A Engine
Screenshot Alt:

the player character, Artyom, pointing a shotgun at an enemy.

Developer:4A Games
Platform:Microsoft Windows, macOS, Linux, PlayStation 3, PlayStation 4, PlayStation 5, Xbox 360, Xbox One, Xbox Series X/S, Nintendo Switch, Luna, Stadia
Middleware:PhysX
License:Proprietary

The 4A Engine is a graphics middleware engine developed by 4A Games for use in its video games Metro 2033,, Metro Exodus, and Arktika.1. It supports Direct3D APIs 9 through 12, OpenGL 3.2, Nvidia PhysX,[1] and Nvidia 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.[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.[2]

The game is multi-threaded such that only PhysX had a dedicated thread[2] 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 percent 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 (complete with blue shift), real-time reflections, colour correction, film grain and noise, and the engine also supports multi-core rendering.[3]

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.[1] The audio in the engine features 3D sound positioning, spatialisation and attenuation.[3]

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.[4] Shishkovtsov also noted that porting the original engine to consoles would have proved extremely difficult.[4]

Games using 4A Engine

Further reading

Notes and References

  1. Web site: Metro 2033: 4A Engine specifications. PhysX. February 20, 2010. December 29, 2017. September 7, 2018. https://web.archive.org/web/20180907032347/http://physxinfo.com/news/2017/metro-2033-4a-engine-specifications/. dead.
  2. Web site: Metrospective: 4A Games vs. Digital Foundry. February 20, 2010. December 29, 2017. Eurogamer.
  3. Web site: Metro 2033: 4A Engine impresses. February 19, 2010. December 29, 2017. Eurogamer.
  4. Web site: 4A Games dismisses Metro 2033 engine rumours. February 18, 2010. December 29, 2017.