Metro: Last Light, a post-apocalyptic first person shooter with survival horror elements, is joining the family of PhysX enabled titles by offering a support for GPU accelerated physics effects.
Update #2: Metro: Last Light – GPU PhysX Profile
First game in the series – Metro 2033 – was also featuring a GPU PhysX content, however, it was limited to basic particle effects.
Was the Last Light able to improve the results of its predecessor? Let’s find out.
GPU PhysX effects (called “Advanced PhysX” in the game) in Metro: Last Light can be arranged into two basic categories – physically simulated particles, such as debris and chunks, and SPH based smoke and fog simulation.
In turn, particle effects include:
- Impact debris (concrete pieces, wood splinters, glass shatters and so on) and impact sparks.
- Extra chunks and debris from destructible objects (such as barriers, columns, light bulbs and cardboxes).
- Additional sparks and debris, emitted by grenade explosions.
- Specific particle effects, applied to certain types of monsters (for example, spider-scorpion thingies are producing stone chippings as they hit the ground with the their claws).
- Area specific environmental particles (such as welding sparks).
All the particle effects, including area specific ones, are distributed properly along the course of the game’s story and can be encountered on almost every level of the Metro.
It is also worth noticing, that particle debris can also interact with game characters and are affected by Force Fields (grenade explosion, for example, repels nearby particles).
Once again, SPH based effects can be found in quite a few places of the game. They also support interaction with player and NPC characters – throwing a grenade into a callow will produce a clear spot, which will be filled with fog particles after a short period of time.
At this point, one might ask – “Hey ! But what about all cool physical cloth I saw in the trailers?”.
Situation with the cloth in Metro: Last Light is pretty interesting: despite common believe, majority of the cloth objects in the game are using pre-computed animation and not real-time cloth simulation.
There is a good reasoning behind it (art decision to have similarly looking cloth an PC and consoles, performance consideration, etc), but still – if real PhysX cloth simulation would have been utilized in such cases, it would be very impressive, otherwise it is just.. normal.
However, the game also includes a good portion of more simplistic, but actual physically simulated cloth pieces, in a form of various banners and drapes (running on CPU when advanced physics is disabled).
Unfortunately, “Advanced PhysX” option has a minimal impact on the level of cloth simulation in Metro: Last Light – the amount of cloth objects or their resolution is equal to standard CPU simulation, cloth even does not tear from gunfire – instead, “advanced” simulation adds several minor features, such as interaction with force fields (shockwaves) and monster characters.
Simply put – PhysX cloth in Metro lags behind other games, such as Borderlands 2 or even Mirror’s Edge.
In addition, some other interesting and potentially usable physics effects, such as fluid simulation (in a form of a sprinkling water) or turbulence particles have not found their way into the Last Light.
Particle effect in Metro: Last Lights are done accurately, in particular, we find physically simulated sparks being the most immersive ones, as they are looking vivid and natural at the same time against dark and gloomy backgrounds of the game.
Other particle debris, on other hand, are lacking a little portion of visual diversity (all mesh debris within a single emitted “pack” are looking almost identical), and are colliding selectively with objects in the scene, but otherwise they look and feel pretty decent.
SPH smoke and fog are made to a high standard and their visual appearance is corresponding properly with the given environment. Some of the SPH usage cases are even a bit.. unusual.
However, in certain areas SPH simulation lacks proper detalization – due to the lower amount of simulated particles, it is hard see its reaction, unless a large force, such as explosion, is applied.
Speaking of GPU PhysX effects, we always mention the factor of personal taste – you either can like them or not. But we think that Metro: Last Light will be able to please almost everyone.
Yes, PhysX effects in the game are not as rich or remarkable as in other GPU PhysX titles, they won’t make you drop your jaw or even raise your eyebrows, but at the same time, they don’t feel overdone or exaggerated.
Advanced PhysX effects are nice and organic enhancement for the visual look of the game, a good addition to the immersion factor, which won’t make you run for the new GPU just to see them, but at the same time, won’t make you want to turn them off, because you find their look excessive and redundant.
Metro: Last Light is using pretty old (but we think also modified) version of PhysX SDK physics engine – SDK 2.8.3, which is a bit surprising in times of PhysX 3.x based titles. None of the APEX modules are utilized as well.
As in many other games, PhysX SDK integration is present in a form of two layers:
- Basic CPU physics, such as rigid bodies, ragdolls, character controller – identical on all platforms, PC and consoles.
- Extra GPU accelerated PhysX effects, as described in the sections above.
GPU PhysX support can be controlled by a single “Advanced PhysX” ON/OFF switch.
Performance of the GPU accelerated effects is very decent, especially when you don’t overburden your GPU with extreme graphics options, such as high levels of tessellation or SSAA.
At the same time, CPU execution of the extra PhysX effects is unreasonable slow and ineffective (compared to the games like Borderlands 2) – several grenade explosions or a firefight can drop your framerate down to 10-15 frame per seconds or even lower, while actual amount of simulated particles is not something that CPU cannot handle.
To give you a glimpse on the impact of the Advanced PhysX on the performance, we have decided not to use the built-in benchmark, but actual in game scene in the beginning of the “Facility” level, filled with shooting, explosions, shattering glass and violent screams.
Testing system: i7 2600K CPU, GTX 580 GPU, 8 GB RAM, Win 7 64-bit | 320.14 GPU Drivers, 9.12.1031 PSS.
In-game settings: 1680×1024, Quality: Very High, Tessellation: High, SSAA: Off.
As you may see, GPU PhysX performance even in such heavy scene is pretty comfortable. During our playthrough of the whole game, we also haven’t encountered any noticeable performance drops or slowdowns.
At the same time, CPU execution of the extra effects is the disaster. Game can easily become a slideshow even with a minimum amount of the PhysX particles on the screen. If you don’t have the NVIDIA GPU – leave the Advanced PhysX option disabled.
However, users of Hybrid PhysX configurations will be pleased – Metro: Last Light works fine with AMD+NV systems, with minimum amount of tweaking and manipulations with PhysX .dlls.
Metro: Last Light is a great and interesting game, with a bit subtle, but otherwise very nice and natural GPU PhysX effects.
We highly recommend not to miss this title.
Our big thanks to Alexander Kharlamov, Developer Technology Manager in NVIDIA (Moscow), for the valuable information and support.