If you have seen my Q&A video (Part 1, Part 2), you may remember that I touched upon the commonly asked subject of having actual flowing water in our environment. In our everlasting effort to have one of the most immersive game worlds ever created, I am proud to announce that at last, we’ve made significant progress towards having proper watercourses! Unless something goes wrong, this will be available for all of you to check out in 0.63
Watercourses are really important to the landscape – simply because they add a sense to what we are trying to recreate. In real life, it is completely normal to go down into the valley and find at least a small stream or some kind of wet area. And like a power-line, a road, a railway or even a tourist trail, finding a watercourse can help you navigate within the game world. Will you go up against the flow, or down? The choice is yours.
The days of the legacy renderer and the limitations we had to deal with when creating other-than-ocean water are long gone, and with the recent engine improvements made, namely:
Ability to have multiple water materials per map
Ability to define wave animation using the flow-map
Ability to have a floating water moss
we can now improve the visual quality of our static water bodies, and also implement watercourses. We can now visually distinguish different water bodies on Chernarus (some can be dirtier than others) while still having multiple materials for watercourses.
Our current implementation considers two types of a watercourse:
Narrow and shallow watercourse
Used mostly inside small valleys
They either connect to another stream or into small river
Wide and shallow watercourse
Used in major valleys
They form multiple streams and connect to the sea
They have a name
Since our game world is spread across 225 square kilometers, we have decided that our implementation has to be something we can recreate within such large scale. The approach is quite straightforward – we first prepare a stream/river bed by simply carving out the terrain where needed, and then we use different stream/river model parts (similarly to railways, roads) to fill the river bed with it.
Some stream/river parts even have several variants with rocks and custom flow-map to simulate the flow of water around the obstacles, but we of course also focus on adding additional details around the watercourse when we feel it still lacks something. Stream/river beds also have a gravel ground texture (the same surface you have on the coast and is commonly used to collect stones).
This implementation, however, has its downside to it as well – our terrain resolution of 7.5 meters makes some stream/river beds weird looking due to jagged edges. We try our best to mask it out whenever we can, but it is not an easy task. You may say, why not increase the resolution? While we would probably find a way how to make the 3.75 meter resolution working (performance wise), at this point in development, such detailed grid would end up not being used on most of the map anyway – terrain resolution often defines the way you design things within your environment (mainly when it come to hilly areas). We can’t just go and rework everything again (just to utilize the existing option), so I feel like increased terrain grid would mostly be nothing more than an FPS sinkhole at this point.
Also, I would like to mention the fact that there are no physical currents, dropping an item won’t make it float downhill and given the shallow stream/river beds, do not expect an ability to traverse the map using some kind of a boat either. Most of the stream/river beds were designed in a way that you can traverse them without swimming, so it is up to you whether you cross (and get wet) or invest some time and find a bridge or a rock to take you to the other bank.
We are in the process of evaluating the impact of watercourses on the navmesh (AI navigation), and it is also important to note here that at this point in time, the new player implementation is missing interactions with any water (sea, lake, streams…), so exact behaviour will have to be tested, but it is good that the watercourse solution is ready in data and environment, so it is something we can work with while implementing the interactions of player character and water bodies within the environment.
We are also looking into further visual improvements to the way water flows/collides, and we’re also adding local particle effects for smaller waterfalls, including some kind of audio samples to stream/river model parts.
So, you may ask – when can we expect watercourses on Chernarus? Our progress in this whopping landscape task can be divided into four stages:
Analysis and prototyping of the watercourse solution
Adding watercourses to the western areas of Chernarus
Rework of existing old stream-like ponds network
Adding new watercourses and connecting reworked streams (from 3rd point)
As I have already mentioned in my Q&A, western areas that have been reworked in the update 0.62 already have stream and river beds prepared (I am sure many of you noticed that already). This was really convenient for us, as we could use them to prototype best shapes for stream/river model parts. And it did not end just at the prototyping stage – I am happy to announce that 17 kilometers of watercourses have been already implemented there, and will be available for all of you to check out in 0.63.
But what about the other points? We, unfortunately, cannot give you any ETA for that as of now. We do have quite extensive watercourse network planned and obviously, we would like to implement it over the whole landscape, but it unfortunately is not a simple task, and it’s something to work on even after the 1.0 release. We will keep you updated on the progress though.
These are really exciting times, thanks for reading and see you in Chernarus!
– Adam Franců / Senior map designer