Just started this. I want it to be a sort of terraforming / god game where you can influence the terrain, flora and fauna with simple touch controls.Eg you rub on a forest and it gets hot and starts to burn. Or you swipe a cloud so it moves a certain direction and when you rub that it starts raining.

I started setting up some water flow shader to test out if this is a feasible way to simulate things. Might work

Some progress.I'm having trouble keeping the volume consistent. Which results in this sort of flooding of the oceans.Not sure how to go about this. Either I have an ocean like the one below or I get a puddle that refuses to flow downhill. That and flipflopping from one pixel to another, always flowing back and forth. Its almost game of life.

yeah, touch based mobile is the idea. But I'm not certain it'll run at a decent update rate.I had to crank up the simulation iterations quite a bit from what I initially thought so it might stretch the hardware. I don't have a device to test on yet, so it'll be a surprise

Sure,The overall concept is pretty simple actually. as always, the devil is in the details.

First off, I render a heightmap, representing the terrain. This heightmap can later be changed through the interaction with the player ( at the moment you can push things up and down ) and through environmental factors like erosion or volcanoes and such.

In this heightmap, a second channel is dedicated to the height of the water in that pixel. To make the water flow around I simply check if the full height in the adjacent pixel is higher than the combined height of terrain + water. If it is, it will flow into the current pixel and out of the adjacent one. Only if there is water in that pixel of course.

All this stuff is done with multiply shaders, like post effect shaders basically. Currently I'm struggling to find a good formula for erosion. I tried multiple approaches to far but non were completely satisfactory. Best case scenario would be getting the rivers to meander naturally. At the moment they look like they meander sometimes but that simply because the are on an uneven surface, not because of proper erosion.

I had to change the erosion quite a bit. Before it was rather fake and could not be translated to actual heightmap changes. That works now, but as a result it has become a little less manageable. It often just cuts deep crevasses into the ground which looks a little sucky. I'll have to think about this a little more. I'll probably also need a way to make steep edges just crumble down to smooth things out again.

and then I started to work on lighting a little. Ignore the textures, its just what I found instantly lying around:

had to write a custom shadow caster, which took some googling to figure out, but then the shadows worked basically right out of the box, which is nice. At the moment its just diffuse with some ambient. No detail normals, no specular or any special treatment for water / wetness at all really. All still to come.

I have several things on my list which I could work on next.Could be Lava, so more substance can be added. The flow could easily work the same way as the water with some parameter changes. The tricky part is to decide when to turn "lava" into "ground". I was thinking about simulating temperature in some way, we'll see how that goes.Another thing is vegetation. I was thinking of distributing a lot of billboards using a compute shader and switching textures and scaling up and down depending on different factors like angle of the ground, angle of the camera, wetness of the ground, etc.Doing shadows that way probably won't work out of the box. I'll have to recompute the mesh specially for the shadow caster I'd guess.

Anyway, I'm glad I finally got some time to go back to this.

Ah, any I also came up with a name I quite like: "Weltenformer"I'd be curious how that sound to an english / american ear.

I started introducing temperature as a parameter, as I'll need it for the lava anyway. Did a quick test with the water, having it "freeze" and flow slower and bunch up. I think it'll work quite well.The current implementation is rather naiv, just depending on the height. That'll have to change, as the water and the lava respectively needs to be able to transfer its own temperature to other places. I'll have to figure that out on the weekend or something.

I did! But the gameplay of sending those people across the land killed it for me. That was now fun I'm thinking this will be more of a watching the flowers grow type of game. Very indirect interaction and no goal to the game except what the players set themselves.At the moment the way I interact is still quite direct, but the plan is to have 2 or 3 interactions total:

1. swiping clouds around and rubbing them to make it rain where you want2. rubbing the ground to make it "hot" and basically create little volcanoes(3. pinching the ground to, basically, shift tectonic plates and make a mountain in the middle)

As you might guess from that list, the initial idea was to have this run on a tablet. But a the moment I don't see that happening. I had to use shader model 4.0 for one thing.But hopefully It'll run in VR