Quando experimentei esse tipo de coisa (final dos anos 90), li alguns papéis e livros para aprender sobre o fluxo de água, mas não mantinha um registro de quais deles eu olhava. Acabei fazendo minhas próprias coisas porque queria lidar com a erosão. Eu queria que os rios produzissem desfiladeiros e várzeas. Eu queria que os reservatórios da barragem se enchessem de sedimentos. Eu queria que os rios produzissem efeitos como os meandros e os lagos de oxbow. Eu queria canais para irrigação e desvio de água. Eu queria inundações para danificar fazendas e casas nas planícies de inundação.
Eu guardei algumas anotações (links) na seção Geografia desta página . Há um artigo de Jos Stam que é uma leitura obrigatória. Infelizmente, nunca organizei as anotações. Infelizmente também, o jogo era para o OS / 2, então não posso fornecer facilmente um executável executável para você brincar. E também, infelizmente, meu código é terrível, mas se você quiser dar uma olhada, consulte water.cpp no código-fonte (zip).
Coisas que eu brincava na minha simulação (nem todas realistas):
- Áreas próximas a rios têm solo úmido; áreas distantes dos rios têm solo seco. A umidade afetou a vegetação. A vegetação diminui o fluxo de água.
- A chuva cria água em todos os lugares, algumas vezes. Em seguida, flui ladeira abaixo. Então evapora e é absorvido pelo solo. A chuva escava os canais do rio.
- As fontes criam água o tempo todo, mas apenas em alguns locais. As nascentes mantêm os canais do rio cheios. Não simulei camadas de rocha ou fluxo de águas subterrâneas; Acabei de colocar fontes aleatoriamente nas montanhas.
- Água corrente tem impulso. Se bem me lembro, isso era importante para tornar os rios sinuosos.
- Água em movimento rápido capta sedimentos; depósitos de água em movimento lento sedimentam à sua frente. Isso esculpe os vales dos rios.
- Durante a criação inicial do mapa, acelerei o fluxo e a erosão da água; durante o jogo, ele rodava na velocidade normal.
No geral, minha experiência foi de que tudo isso foi muito divertido de se jogar, mas foram necessárias muitas heurísticas e ajustes para fazê-lo funcionar. Eu nunca cheguei a um ponto em que eu poderia dizer que a criação de rios parecia natural e inevitável sem ajustes. Foi tão divertido (tanto como programador quanto como jogador) que passei anos nele e nunca terminei o resto do jogo. :)