
How to generate random terrain - SuperChihuahua
http://blog.habrador.com/2013/02/how-to-generate-random-terrain.html
======
mrcharles
If you are interested in a far more terrain like generation, the link casually
mentions Diamond-Square at the bottom, but I wrote a post a while back that
goes into much deeper detail, after looking at one of Notch's ludum dare
entries.

<http://www.bluh.org/code-the-diamond-square-algorithm/>

------
mjn
If you're interested in this kind of stuff, you might like the paper "A survey
of procedural methods for terrain modelling":
[http://www.cg.its.tudelft.nl/~rafa/myPapers/bidarra.3AMIGAS....](http://www.cg.its.tudelft.nl/~rafa/myPapers/bidarra.3AMIGAS.RS.pdf)

------
arethuza
Are there any systems out there that simulate the processes that go into
forming _real_ landscapes - geology, volcanoes, glaciation, water flow? [Just
to list the main factors determining what I see in the local landscape here in
Edinburgh every day - other places will have other factors].

~~~
DanielRibeiro
Andrew Price has some amazing tutorials on how to do it with just Blender:
[http://thenatureacademy.blenderguru.com/sp/7612-the-
nature-a...](http://thenatureacademy.blenderguru.com/sp/7612-the-nature-
academy-live-now)

It is more on modelling rather than generating though.

On procedural generation, we discussed[1] this app written in WebGL:
<http://creativejs.com/2012/06/snappytree>

Other peopled did it with Three.js: [http://catchvar.com/threejs-procedurally-
generated-infinite-...](http://catchvar.com/threejs-procedurally-generated-
infinite-terra#more).

And finally, a really lively discussion[2] turned about _The Death of the
Level Designer: Procedural Content Generation in Games_ [3]

[1] <http://news.ycombinator.com/item?id=4161263>

[2] <http://news.ycombinator.com/item?id=3872615>

[3] [http://roguelikedeveloper.blogspot.com/2008/01/death-of-
leve...](http://roguelikedeveloper.blogspot.com/2008/01/death-of-level-
designer-procedural.html)

------
sycren
Terragen 2 - Landscape generator
[http://planetside.co.uk/index.php?option=com_content&vie...](http://planetside.co.uk/index.php?option=com_content&view=article&id=32&Itemid=150)

1st version is free to download

------
icegreentea
This reminded me all the hours I sunk into playing around with terragen
(<http://planetside.co.uk/>). Definitely remember playing around in photoshop
with filters (clouds! and difference clouds!... which I guess is just perlin
noise) making height maps.

------
baggers
If you are interested in generating terrains with caves (or other formations
with more that just a height detail) then I recommend following this chap
<http://procworld.blogspot.co.uk/> The technique is based on dual contouring a
voxel field and his results are awesome. For info on how he went about it
check posts from 2010 (most of it focuses on parallelization using cuda
however)

------
artursapek
This makes me think of how AoE II generated its maps randomly each time you
play. They really had it right. It definitely multiplied the longevity of that
game.

~~~
xentronium
I'd wager they had some pre-made pieces that were later slightly modified and
stitched together.

~~~
artursapek
One of my earliest memories of "programming" was fucking around with seed
files for that map generator. It was very algorithmic, not pre-made.

------
milliams
There's an interesting article at
<http://accidentalnoise.sourceforge.net/minecraftworlds.html> about minecraft-
like terrain generation. It uses PolyVox
(<http://www.volumesoffun.com/polyvox-about/>) to do the rendering at the end.

------
dexter313
Interesting, i thought minecraft had more complicated algorithms.

Does anyone have any examples on a more specific 2d terrain generation (side-
scroller).

~~~
rcfox
You can use simple cellular automata to create somewhat natural-looking cave
formations: <http://rcfox.ca/random-cave-map-generation/>

~~~
dexter313
By "set of stairs" do you mean a simple vertical line that cuts trough all of
terrain?

~~~
rcfox
Well, I see the image as top-down view of one level in a cave. Going down
stairs would mean generating another level.

It's entirely legitimate to see it as a side-view, in which case yes, you'd be
cutting through the terrain.

------
dpiers
One of my friends from school wrote a paper on a procedural terrain generation
method that allowed simple user inputs to control the generation process.

Here's the link: <http://larc.unt.edu/ian/research/terrain/>

------
donatzsky
So, what is the difference between value noise and perlin noise?

~~~
stephengillie
Yea, the blog shows us what Value Noise would produce, and says this is easily
confused with Perlin Noise, but does not show us what Perlin Noise output
looks like.

~~~
bionsuba
Here is a good article showing how to implement perlin noise and its outputs:
<http://freespace.virgin.net/hugo.elias/models/m_perlin.htm>

Also, *yeah.

~~~
Scaevolus
That's actually not quite Perlin noise either.

In Perlin noise, you set each grid point to a unit gradient vector, and then
interpolate between them with a specific equation. This gives it useful
mathematical properties, like being continuously differentiable, so the
surface normals are smooth when you render it. That's not guaranteed with
value noise.

[http://webstaff.itn.liu.se/~stegu/TNM022-2005/perlinnoiselin...](http://webstaff.itn.liu.se/~stegu/TNM022-2005/perlinnoiselinks/perlin-
noise-math-faq.html)

