Engine & Visuals Blog

Get behind the wheel, SnowRunners, there’s work to be done!

Today we are talking about visual improvements in SnowRunner! During the course of development the team has updated practically every visual aspect of the game.

Our first goal was to make the terrain in SnowRunner bigger and better. First of all we increased the maximum area of the map to 2x2 kilometers, which were limited to 1x1 in MR maps, while also improving terrain mesh resolution. We also dramatically increased view distance and added farplane objects to improve the map’s sense of size.

1_.jpg

But we still saw a lot of room for improvement - we increased the number of terrain texture layers from 2 to 4 and added a special snow layer where we blended 4 additional normal maps to create a great looking snow surface. A new special snow shader helped to improve the overall look of the snow surface, complementing the improvements and additions to the physics engine in order to provide the best possible feeling when driving through snow.

2.jpg

One of the biggest visual improvements in SnowRunner came with the introduction of Physically Based Rendering. All the assets in the game were created using PBR materials, so all material shaders were reimplemented and lighting ranges were adjusted to work well within the PBR model. Also correct HDR effect with filmic tonemapping and modern bloom was added to work well with the extended lighting ranges and PBR materials.

truck_SR2.jpg

As you probably remember from the previous game, only vehicles had dynamic shadows, while all other objects were using lightmap based shadows. In SnowRunner we introduced shadowmap shadows for all objects around the camera.

snow+vegetation_alaska_2.jpg

Having proper anti-aliasing is considered the de facto standard for every AAA game nowadays. Previously, the franchise has featured the fast approximate anti-aliasing (FXAA) filter, which, being a post-processing effect, is unable to remove shimmering in motion that is especially noticeable on foliage. We implemented temporal anti-aliasing (TAA) to make sure players can enjoy smooth and stable images without jagged edges. To combat blurring which is inherent to all TAA algorithms, we added Contrast Adaptive Sharpening from AMD’s FidelityFX package. For gamers with powerful PCs who prefer raw, sharp visuals, multisample anti-aliasing (MSAA) was also implemented. FXAA is still available and can now be used in combination with TAA or MSAA.

5.jpg

In the first game - atmospheric effects played a big role in setting the proper mood in the game. Recognizing the importance of weather in the game, we implemented a new weather system, improved skyboxes, added clouds and light shafts, improved rain effects, and added snow as well.

rain-(1).jpg

In order to support large levels with dense vegetation we updated our vegetation rendering system, updated Level of Detail (LOD) for trees and grass, and introduced advanced billboards that look indistinguishable from real trees at a very close distance. We redid all the vegetation assets in the game to take advantage of the new shading and vegetation rendering system.

7.jpg

There were also a few technical changes done for consoles and PC. We implemented texture streaming to support high resolution textures (up to 4k). On consoles, we added a dynamic resolution scale algorithm to balance GPU load with render resolution.

We hope you’ve found this deep dive into the engine of SnowRunner interesting, and enjoy all the improvements we’ve brought to it when you play the game! We’ll see you soon in the wilderness on April 28!

alt text

last edited by Jellyfoosh

Wow, spectacular! Only 7 more days!

@Jellyfoosh Just out of curiosity how many total lines of code had to be written to build this game? I am thinking the number is staggering...

@Jellyfoosh said in Engine & Visuals Blog:

For gamers with powerful PCs who prefer raw, sharp visuals, multisample anti-aliasing (MSAA) was also implemented.

Yes! This is the single most important item to take away from this. All other techniques are useless.

Did you also put in screen scaling, like in WWZ?

super- first time i didnt understood almost everything but still happy!))

thank devs and pubs!

well, weather is great, thx!
any chance it affects terrain and traction?

@Lombra said in Engine & Visuals Blog:

@Jellyfoosh said in Engine & Visuals Blog:

For gamers with powerful PCs who prefer raw, sharp visuals, multisample anti-aliasing (MSAA) was also implemented.

Yes! This is the single most important item to take away from this. All other techniques are useless.

Have to disagree. Since they've have moved to PBR workflow, expect a lot of inner-surface specular aliasing with MSAA. TAA is a must here

@Stazco they said in Discord, rain and snow dont affect terrain

@Stazco I am so happy that I am not alone...
AAA
FXAA
TAA
MSAA
I mean, who doesn't like abbreviations? I have to look it up...😳

@zamal
clear. thx!
so huge room for improvement)

Nice Job. Pre order done.
I hope the server is stable and the coop ping is okay..

last edited by Hartge

@zamal said in Engine & Visuals Blog:

@Stazco they said in Discord, rain and snow dont affect terrain

Not even to give the terrain a wet look? That seems like a letdown, given all the other graphical improvements.

@Unster they pretty much said u can make terrain look wetter with special brush in editor long ago in blog, and they didnt say it wont have visual affect on terrain, might have it, it wont have physical we know this 100%

last edited by zamal

No mudrunner vc não consegue escutar o som dos caminhões dos amigos e online acho que falta isso também... Vocês Estao fazendo um ótimo

Are those vehicles created in Substance Painter? If yes, please provide a SP plugin for mod creation, so we have the exact same results in game after export without additional texture editing.

So what about Ultrawide and Multi-monitor support? Is that in the game?

Nice PBR ! I use this in prepar3d.

So i am having trouble pre-ordering snowrunner on my PS4.

@muddman said in Engine & Visuals Blog:

Nice PBR ! I use this in prepar3d.

Wow, Prepar3D looks impressive - from my quick bit of reading this is the engine behind Flight Sim?