Moving to a new engine was a long and complicated affair as we had two key objectives: make sure the graphics were both improved and optimized. With 1.0, you will immediately notice the graphical improvements and wonder what strain it might put on your rig. Well, with hard work and dedication, we’ve managed to keep the minimum and recommended system requirements unchanged.
What does this mean? If you’re playing on an older computer (the game has been played on PCs a decade old), no fear, you will still be able to enjoy improved graphics. To get the most from your rig, make sure to run the auto-detection feature when starting the game, more on that later…
How Did You Manage to Keep the Same System Requirements?
Now, we can pre-calculate all this heavy blending, save it as a Virtual Texture, load it in advance and only show when necessary. Besides, we no longer need to do material blending in the tessellation stage. So we use tessellation (the arrangement of shapes closely fitted together) without a significant performance drop.
HOW DOES IT WORK?
The terrain itself is a very complex substance that consist of numerous materials: grass, sand, stone… you name it. In the most complicated cases, we blend eight materials in each pixel every frame, which impacts heavily on your GPU. Previously the terrain was rendered every frame.
In the past, we used a “brute-force” approach to create reflections in the water, duplicating scene render from the direction of the reflection. Is it the most efficient way today? Not really. The new graphics engine lets us improve on it with Screen Space Reflections.
HOW DOES IT WORK?
We combine Screen Space Reflections with Parallax corrected reflection probes that store pre-computed reflection data. One added benefit, this new approach adds fidelity to the water as now we reflect exactly what we see instead of simplified reflections as before.
Shadows are known as the heaviest graphical option in terms of resources. But not in our case! We use an approach similar to Virtual Texture to avoid extra load on performance.
HOW DOES IT WORK?
Most of the shadows are calculated when first loading the map and are only re-calculated when the level changes. That gives a great boost in performance and allows for correctly illuminated objects even on low-end hardware.
The interface went through a major optimization too to reduce the load on performance and memory consumption.
HOW DOES IT WORK?
3D scenery covered by the opaque UI elements (the minimap and damage panel) is no longer rendered, which saves on GPU performance.
Here are some simple tricks:
Increase the mini-map and make it opaque to boost your FPS.
Try increasing the size of the game areas under the opaque interface. In some cases, depending on your PC configuration, this might give you a better frame rate.
Client-side track physics used to be calculated per vertex of the track triangle. Let’s put it in numbers; the sheer number of calculations went up more than 10,000. And it’s just for one whole tank tread. Obviously, it was anything but efficient.
WHAT’S CHANGED?
Now track movement is calculated per track segment (~100 calculations per average tank tread). While increasing performance, this optimization does not affect visual quality. It reduces the GPU load, whilst the tracks display a natural and realistic movement.
Update 1.0 introduces advanced billboards system for trees.
HOW DOES IT WORK?
Trees are baked into billboards (flat rectangles with textures) with all of the information including depth and lighting data. Thanks to it, we can switch trees to billboards much closer to the viewer (and you won’t notice the slightest difference!).
The level of detail is adjusted depending on the distance from your camera to an object and your settings. The closer you are to the object, the more detailed it looks. Move away, and the opposite occurs. In the same vein, there is no need to draw every crack in a wall in detail if it cannot be seen.
WHAT’S CHANGED?
With the transition to the new engine, the adjustment occurs as smooth as possible over a short period of time so there’re no jarring transitions between the different levels of detail. The cherry on top, this seamless transition doesn’t require extra resources.
To do all of this with standard rendering, we had to abandon the use of zero (the best quality) level of detail. The difference in quality between this and the next best is practically indistinguishable, but this decision allowed us to keep the minimum system requirements the same.
Remember how a few simultaneous explosions resulted in an FPS drop or even worse—freezing? We made sure it doesn’t happen again by adding particle multi-resolution rendering.
HOW DOES IT WORK?
Now, with a few explosions, high-resolution effects are displayed only along the edges, and the interior is rendered in lower resolution. This switch is practically unnoticeable but saves a lot of performance in critical moments.
Want to see it with your own eyes? Check for yourself with the enCore program. With this, you can test your system to see how Update 1.0 will perform on it.