Rivers
So the peeps on the ##roguelikedev channel have been trying to procgen rivers, which can be as complicated as you want to make it. Not having a few billion years to get it right, one will often go with something "good enough" and call it done.
@tryddle> I implemented @redblobgames idea. I select a random number of ocean tiles, make sure they are not too close together. Then I start at each start tile and generate river paths; I go upwards until I find a local *maximum*. Then I end this specific river.
If you do want complications, then you'll need to account for various things:
- Rivers can terminate in lakes rather than only going to the sea.
- Erosion tends to cause uplift in the eroded area (mass removal) and depression in deposition areas (mass addition).
- Glaciers and lava flows can block or redirect your rivers. With enough glacier (ice sheets) one can depress an entire region, which will rebound once the ice is removed.
- Pacific plate hijinks may be responsible for compression (uplift) or stretching (basin and range) of the crust in your local area, possibly related to India ramming into some other plate off on the other side of the planet.
- "Full rip" earthquakes can move a lot of mass. The big 9.0's.
- Subducted crust tends to show up as lava zits some ways inland, otherwise known as volcanic arcs. Such mountain building will result in both gradual erosion and fast erosion. Lahars can be pretty fun.
- Subducted crust may break, resulting in bimodal volcanism. If your game has NPC charting rare isotope variations, your simulation may have gone too far?
"Great Earthquakes of the Pacific Northwest". Nick Zentner. 2016.
"Ancient Rivers of the Pacific Northwest". Nick Zentner. 2017.
"The Broken Plate Under The Cascades". Nick Zentner. 2025.
Source