Realistic terrain in 130 lines of JavaScript
playfuljs.com
playfuljs.com
This is what midpoint displacement looks like as a heightmap: http://imgur.com/ksETpO0,7gykFEV#0 This is what realistic terrain looks like (this is based on real-world heightmap data): http://imgur.com/ksETpO0,7gykFEV#1
That said, midpoint displacement, perlin/simplex noise, etc are good for modeling terrain at a less macroscopic scale and are plenty sufficient for the use of most games.
1. A semi-standard textbook on the subject, but now a bit dated (don't be fooled by the 2002 date on the 3rd ed., most of the text is from the 1st ed): http://www.amazon.com/Texturing-Modeling-Third-Edition-Proce...
2. A more recent but much shorter survey paper: http://graphics.tudelft.nl/Publications-new/2009/SDGTB09a/SD...
http://www.youtube.com/watch?v=_YWMGuh15nE
How it was done:
http://iquilezles.org/www/material/function2009/function2009...
This: http://i.imgur.com/DFXMmY8.jpg doesn't generally happen in nature.
They also reminded me a bit of GIMP's "Solid Noise" rendering with the "Turbulence" setting switched on. I rendered one, and turns out it doesn't quite look as good (cough), but now I wonder whether this would give a bit more realistic height map: http://imgur.com/oRlZ191
On the other hand, like you say, for terrains for videogames are always best generated by taking any of these algorithms, and mercilessly tweaking the parameters, post-processing, etc until it just looks sufficiently good. Actual physical realism comes into second place (and it should, like most game physics).
http://www.gavanw.com/uploads/9/5/4/0/9540564/4868178_orig.p...
[1] http://www.gameprogrammer.com/fractal/heightmap.jpg
[2] http://upload.wikimedia.org/wikipedia/en/9/96/Plasmafractal....
past comments: https://news.ycombinator.com/item?id=3868893
If anyone wants to play around with Hunter's algorithm in WebGL, it should be pretty straightforward to swap out the Perlin Noise implementation for his. Note the shaders do a fractal sampling of the the height map, so you may want to disable this.
If anyone using WordPress + W3TC has hit this I'd be grateful for pointers to a fix
http://www.playfuljs.com/demos/terrain/
Refreshing the page will generate a new terrain
Still, cool algorithm.