For a long time now I've been desiring to see a terrain generator that relies on plate tectonics. The projects that have such a goal seem to be few and far between, so it seems that it's too difficult to do or that the approach is too unpractical when compared to more artificial/direct methods (like fractals). In any case it seems like it's not a very popular topic in the (hobbyist) game programmer scene. A quick search on the GameDev forums gave only one topic that uses plate tectonics (it was posted two weeks ago) - Carradine described in his "Vantage: Prehistoric Simulation Game (online) - Pre-Alpha" topic that
You use a “plate tectonic simulator” to design the initial creation of the world, which places mountains, plains and islands in the world by simulation millions of years of tectonic movement, then edit the specific placements, use temperature terraforming and moisture algorithms.
It would be interesting to learn more on his plate tectonic simulator and the way he uses it to create worlds, but in any case this seems to be the only game that utilizes plate tectonics. To find out why it is so, I decided to try to make terrain with plate tectonics myself.
For my bachelor's thesis (that I started some 10 months ago) I made a simple terrain generator that loosely mimics plate tectonics. It starts with a flat fractal generated terrain that is randomly split into plates. The plates are moved linearly until they grind to halt due to friction. Sometimes plates overlap i.e. collide. If the overlapping portions of the plates are continents and there's "too much" overlap, then the continents are merged together. If oceanic crust collides with any other plate, the sea floor "subducts", meaning that the subducting crust is moved from the denser plate onto the overlying plate. After the rate of action on the "lithosphere" drops too much, the terrain is split into new set of plates and the process just described is repeated.
The results are rather good considering the simplicity of the implementation:
[attachment=8099:tectonics_ultim3.png]
[attachment=8101:tectonics_ultim6.png]
[attachment=8100:tectonics_ultim5.png]
The thesis is freely downloadable from http://urn.fi/URN:NB...mk-201204023993 .
There's also a Youtube video showing the simulator in action:
Lastly, the source code is distributed under GPLv3 in SourceForge: http://sourceforge.n...rojects/platec/
It seems to me like even the most naïve model of plate tectonics is able to produce more convincing heightmaps than conventional fractal based methods. That's why I'm really wondering why it's not used in more projects? And as a continuation to that, what would be needed for plate tectonics to make its way to the game industry - or is it worth it at all?
So, what do you think?