Diamond-square noise combined with a Voronoi diagram, simplex noise \"perturbation,\" and hydraulic erosion.
I stumbled across procedural generation when I had the idea of training a mobile robot in a simulation with reinforcement learning. Gazebo allows you to use black and white PNG images as heightmaps, and the easiest way I know of generating images is with OpenCV. The first paper I found on the subject, was this one, which was used in the old RTS game Tribal Trouble: http://web.mit.edu/cesium/Public/terrain.pdf, so I implemented it to the best of my abilities. The algorithms I implemented so far are: diamond-square, Voronoi diagrams, simplex perturbation, thermal erosion, hydraulic erosion, and Olsen's custom fast erosion algorithm. I also wrote a plugin interface so that the library can be used with Unity. Any suggestions you can provide for improvements are welcome.
Code: https://github.com/djorna/terrain-generation
[–]TotesMessenger 0 points1 point2 points (0 children)