Metro Wiki

The subject of this article appears in the Metro 2033 video game. The subject of this article appears in the Metro Last Light video game. The subject of this article appears in the Metro Exodus video game.

This following uses Creative Commons Licensed content from Wikipedia (view authors).

The 4A Engine is a in-house, cross-platform 3D game engine that empowers the games released by 4A Games for use in their games, Metro 2033, Metro Last Light, Metro Exodus, Arktika.1. It supports OpenGL and Direct3D APIs 9, 10, and 11, 12 Ultimate, along with NVidia's PhysX,[1] and also NVidia's 3D Vision, Hardware Accelerated Ray-Tracing.

Since the release of Exodus SDK at 2023, while it's limited to hobby modding uses of Metro Exodus, the game's SDK is officially available to the public.

Features[]

While unlike other proprietary game engines by mid-range developers such as Frictional Games' HPL Engine and Croteam's Serious Engine, 4A Engine doesn't uses numerical numbering systems.

But there are significant changes, upgrades on engine feature between 4A Games' releases.

The first iteration of 4A Engine for Metro 2033 included following 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

The second iteration of 4A Engine for Metro Last Light featured following improvements:

  • Native Support For Linux Distributions and MacOS (Intel x86 only)
  • V-Sync Support
  • Support for OpenGL Rendering (Linux and MacOS only) [2]
  • Improved PhysX
  • Improved Tessellation [3]
  • Support for PlayStation 3

The third iteration of 4A Engine for Metro Redux, while generally has small difference between Metro Last Light 's iteration, featured following improvements:

The fourth iteration of 4A Engine for Arktika.1 featured following improvements:

  • VR Support for Oculus Rift and Motion Controller support for Oculus Touch

The fifth iteration of 4A Engine for Metro Exodus featured following improvements:

  • Ray-Tracing support for global illumination, ambient occlusion and emissive lighting.
  • Surround Audio Support for Dolby Atmos
  • DirectX 12 Support (with removed support for DirectX 9 and 10)
  • HDR Monitor Output support
  • TAA (Temporal Anti-Aliasing)'s Support [5]

The sixth iteration of 4A Engine for Metro Exodus: Enhanced Edition featured following improvements(and downsides):

  • Full DirectX 12 Ultimate Support (removing the support for native Linux and Mac support, OpenGL rendering. although playable on Linux through Proton Compatibility Layer)
  • Improved Ray-Tracing Support (removing the support for non-RT capable GPUs)
  • Support for Nvidia DLSS (Deep Learning Super Sampling)[6]
  • Support for Xbox Series X/S and PlayStation 5.

Since this iteration of 4A Engine lacks support for non-RT capable GPUs (GTX 1600 series, Radeon RX 5000 series and older), although co-existing with original version, making Enhanced Edition to be first RT-only game in PC Market, other than Indiana Jones and the Great Circle (2024)

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.[7] 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,[8] 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.[9]

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


Video[]

4a™_Engine_(Metro_2033)

4a™ Engine (Metro 2033)

4A Engine demonstration

References[]