Ground Deformation Explained in LS25
It’s not a secret anymore, that the ground in Farming Simulator 25 will deform. But you want some details, don’t you? Well, go and get some!
Alongside new screenshots visualizing how the ground will deform, Senior Software Engineer Eddie Edwards from GIANTS Software will go further into detail on how it actually works.
Eddie, tell us about you and your position first – what’s your role?
I’m one of the Senior Engine Programmers for Farming Simulator. I’ve been at GIANTS since the early days of FS13. I created the original PlayStation 3 port, and I have been responsible for other ports of the GIANTS Engine to PS4, PS5, Switch and iOS. I’m very much “the PlayStation guy” at the company, but I also work on cross-platform engine technology such as Density Maps, rendering, shader compiler, some physics, audio, etc.
There’s not much in the GIANTS Engine that I haven’t worked on to some extent over the last 12 years! And in particular, of course, I created the new technologies that bring us ground deformation for FS25 – the improved Density Map system, the new terrain geometry system, and the terrain virtual texturing system.
How the Ground Deforms
Depending on the ground type, the deformation and compression of the soil is dependent on multiple factors. Take a look!
Which factors define how the ground deforms?
Eddie: A number of factors affect this. Firstly, every ground type has a different level of “firmness” and “viscosity”. Tarmac cannot be deformed at all, for instance, while mud can be deformed a lot (due to different “firmness”), and driving on snow instantly crushes it, while driving on mud causes it to compress over a longer time (due to different “viscosity”). Also, if the ground is wet, this affects the deformation as well.
Which vehicle you are driving also affects the deformation – the weight of the tractor and the width of its tires both affect the reaction of the terrain. And a slower-moving vehicle will sink faster than a fast-moving vehicle.
How does ground deformation affect gameplay? What will players “feel”?
For the first time, FS25 gives a real physical response from the terrain – you will feel the tractor bumping over the ground, and you will see it creating ruts and tracks, and if you go back and drive over those ruts and tracks you will feel the effect from them as well.
It is also harder to steer if you have dug into the ground, just as it is in real life. Driving in rain will be more difficult than driving when it is sunny. Your tire configuration now has a greater effect, too, and you may need to consider which tires are best to use for different seasons and different types of field work.
Plowing on another level
While the deformation on the soil is individual to the machines, their weight and other conditions, one field activity in particular will probably feel a whole lot different in Farming Simulator 25.
What kind of machines/equipment will showcase ground deformation best?
Plowing is a new experience now – the plow creates real physical furrows which can not only be seen more clearly on screen but also affects the tractor when driving over them. Also, machines with caterpillar tracks come into their own now, as they can handle uneven ground so well.
Performance, visuals & challenges!
What were the technical challenges in implementing ground deformation?
The ground deformation works on a grid size of 12.5cm which works out to 16K x 16K for a 2km map (that’s 256 megapixels – the map itself is only 4 megapixels). There were various technical challenges with storing this data efficiently, and also with processing the data efficiently, for instance when tools like cultivators or plows work on the fields, and when vehicles drive over the fields and react to these fine-scale bumps and ridges.
There is also a “procedural” level of ground deformation, which is mapped with geometry in a similar way to how the terrain is texture-mapped with images, except it runs on the CPU instead of on the faster GPU, so we had to heavily optimize this code.
How is ground deformation data stored and managed?
Since ground deformation works at a higher resolution than we’ve dealt with before we wanted to save memory in areas which are not deformed (e.g. on rocky mountains, or in places where the player has not yet been), so we created a “sparse” version of the Density Maps. This stores tiles of data only in regions where deformation actually exists. Furthermore, to reduce memory footprint even more, the tiles are all compressed, using a more advanced version of the existing Density Map compression that we’ve used in the past.
Additionally, to support fast operations on this high-resolution data we created a Density Map Processing Unit (DPU) which is like a little GPU emulator that runs on the CPU, and is capable of performing operations on Density Maps at much higher speeds than previously. It can actually be programmed using our in-house shader language, although this feature is not used in FS25 yet.
For speed, the whole system (data compression, DPU operations, and procedural generation) is written using native SIMD instructions (SSE4.1 or AVX2 on PC and consoles, and NEON on ARM-based Macs). There is far more SIMD-optimized code in this version of Farming Simulator than we’ve ever had before.
Tell us about how you optimized deformation physics for performance.
In previous versions of Farming Simulator the custom vehicle physics was dealing with terrain at a resolution of 0.5m. With terrain deformation and displacement, the resolution is now 0.125m – 4x greater in each direction, or 16x as many triangles. This made our wheel vs terrain collision detection 16x slower, so we wrote a custom implementation of this for FS25 which is approximately thirty times faster than the old code, so overall our vehicle physics is now about twice as fast as before, even with all the new features.
The new physics code involved some quite heavy math and numerical analysis – fortunately I have a Master’s Degree in Mathematics, which helped me a lot on this task!
How does the game handle visual transitions for ground deformation?
Another new feature for FS25 is the terrain quadtree mesh, which enables high resolution triangle rendering near the player but uses a lower resolution further away – there is no need to render the deformed geometry when it is hundreds of meters away.
The geometry smoothly morphs from deformed to not-deformed some distance from the player. However, this transition is quite well hidden because of another new technology in FS25, which is the terrain virtual texture system.
Although deformation is not rendered in the distance using triangles, it is still shaded and rendered into the terrain texture (using a graphics technique called normal mapping). So the deformation is still clearly visible, even on distant areas where the rendered triangle count is very low, and you can see the tracks left by the AI vehicles even if you are watching them from half a kilometer away!
What do you personally like most about ground deformation in the game?
It was a very rewarding experience to implement all these new technologies, and I love the fact that the result is not only a better visual experience for the player, but also that it interacts with physics and gameplay in such interesting ways, making FS25 a much more interesting and realistic “simulator” than ever before!