Greetings everyone!
This thread has been extremely interesting to follow! Thanks to the OP and all participants for that! *applauds* As stated in the very first post,
The world is just awesome. Perlin noise heightmaps just don't cut it justice.
I completely and fully agree! However, this thread has not been able to produce any tangible results since the first week dispite much desire to see something useful due to OP's ambition to achieve perfection:
Well, the issue I have with a simplistic model is that there is no slider bar between "realistic" and "simplistic". You either model a solid as a rigid body or you don't. You either have fluid pressure or you don't. You can skip minutiae, but you can't skip the big picture.
However, as stated by Erior,
simulating density, elasticity and everything would be great, but maybe too complicated. Could you not simplify things a little? something like assigning to each pixel a certain amount of "crust" on it. This amount would be moved around by the movement vector of the plate and eventually reach a plate boundary
and
You have to find a compromise between your lust of recreating the processes to the best, or search for a simpler, but better doable, model.
I fully on completely agree with this view
WHILE agreeing with the OP that the entire impressiveness of the world around us simply cannot be compressed into simplistic models. To contribute to the entire hobbyist game programmer community some inspiring preliminary results and to fill in the lack of any decent work to be used as reference point, I chose plate tectonic inspired terrain generation as the topic of my Bachelor's Thesis. I started with an overly simplified model of plate tectonics where a fractal generated terrain is split into plates that are moved linearly until they grind to halt due to friction. When two continents overlap too much, they're merged together. When oceanic crust collides with another plate, it "subducts", meaning that the subducting crust is moved from the denser plate onto the overlying plate. Edit:
After the rate of action on the "lithosphere" drops too much, the terrain is split into new set of plates and the process described above is repeated.This is very simple model of plate tectonics and the implemetation is just naïve, but the results are best that i've seen in the hobbyist programmer scene:
http://sourceforge.net/projects/platec/screenshots/tectonics_ultim3.pngand
http://sourceforge.net/projects/platec/screenshots/tectonics_ultim6.pngPretty neat, huh?
The thesis is freely downloadable from
http://urn.fi/URN:NBN:fi:amk-201204023993 . A Youtube video showing the simulator in action is available at
http://www.youtube.com/watch?v=bi4b45tMEPE . Lastly, the source code is distributed under GPLv3 in SourceForge:
http://sourceforge.net/projects/platec/You
must check the "Earlier works" part, because there's really useful projects that have not been mentioned in this thread earlier. For example the approach Erior suggested has been implemented as early as 1991! Also the "Future Work" chapter should be most interesting to the OP.
Finally i wish to share my motivation for sharing my work in this thread. It is by no means to depress anyone here, but quite the opposite! The OP has undertaken a very exciting and useful project that we all wish to see in its glorious conclusion! If you observe the results that I have been able to achieve with this child's play model of plate tectonics, just imagine what we could have if OP or anybody else manages to make a simulation with the accuracy that the OP desires! In short, i just want to encourage all of you to continue on the path you've chosen and to share my simple piece of work as an inspiring foretaste of future things to come!