Turn-Based Strategy Terrain Generation

Hello there,
I’m trying to crete some kind of basic Turn-based strategy game. On screen you can see basic map made with hexagons. These hexagons are created by a script when I start the game.

I would like to know how to generate terrain (rivers, lakes, mountains…)
I got an idea how to do that. Basicaly I can create independent game object for lakes (for example). I can make more of them and every object will have it’s own shape. Then it will randomly put that object (or objects) somewhere in this map and hexagons that are “in touch” with that object will move a little bit down. Under this map is water… But I don’t really know how to do something like that with rivers, or mountains…

I belive that there is a simpler way how to do this, can you guys help me?

There really is no simple solution to do all of this that can be easily posted here as “An Answer”. Look/Search for links on Dynamic Terrain Transformation and Procedural Terrain Generation to get some insights into the methods and challenges.

You might also try the forums where more open-ended design considerations are discussed.