Watch this coast’s tidal area getting flooded. Lose yourself in the expanse and embrace of this beautiful map.
Let’s say you have a flooded area, overgrown with reed. How do you fix that? The solution is pretty simple: Just place some walls and our fresh new water lift and everything will be dry in a sec.
in this draining scene you can see shader improvements at work. The surface normals of the grass are calculated from its own geometry. Additionally, it is illuminated from the north.
nobody likes to get one’s feet wet, right? If you happen to be a dike warden, it is a good idea to build ditches and walls to control the water and it’s flow. But don’t forget to take a break and watch the grass and reed grow and wither away, as the water ebbs and flows.
The simple shader was a bit boring. We worked on grass, reed and better water visualizations. The grass and reed are blowing in the wind and the reed will only grow in certain areas where the water is not too deep. Iit will parish when the growing conditions become unbearable.
Now we made the first simple map and water flow visualizations, even ebb and flow were implemented. You can see the data tiles on which the simulation works. The shader made with unity shader graph interpretes the passed map data and sets the color for each tile on a sprite. There is no preset texture involved.
So we have a working water flow algorithm and it was time to pick the setting of the game. Romantic storm clouds, omnipresent drizzle, salty spume, ebb and flow - We took a lot of inspiration from these scenery and created the setting which resembles East Frisia in the 17th century.
Implementing the water flow algorithm was some kind of challenging since we never worked with compute shaders before. And the results with the shaders were - well mind blowing. It’s widely known that GPU’s can be way faster in parallel computing than CPU’s but experiencing this behaviour is like *entering-some-kind-of-superfast-can-do-everything-simulation*.
Next the idea had to undergo some testing and theoretical developments. For all the water we needed something to simulate it. Surprisingly, we managed to get something derived from the Navier-Stokes equations. With that modest and even adequate water flow simulation we had a good algorithm and could continue working on the game.
Waiting is boring and since we were waiting for monetary support for our main project, we decided to fill the time with another smaller project. We asked ourselves: “Who doesn’t like to play videogames or in the dirt? Precisely, no one.” So we wanted to put that together in a game with water, its unfathomable flows and other mindblowing stuff. We went out into the mud for idea gathering and of course playing in the dirt. That moment solidified and specified our game idea.