Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

Check this map i generated:

enter image description here

I seeded a sine wave to act as a mountain range. The lower portion of the sine wave looks fine, but the upper side is thin, the algorithm did not do its magic there (expanding with some noise the seeded values to generate wider mountain ranges and then some hills (brown and light brown)).

Also, the whole continent shape is not affected by the sine wave. Ideally, it should be like a "S" as the mountain range pretends to be.

I bet this is how the diamond square algorithm takes the values it uses to make the average.

If not seed the center point of the map, i can not generate a continent, it just makes a pelinesque noise of random hills.

Basically, i'm having some hard time trying to control the noise with seeds and toying with amplitude and randomness reduction values.

I need some experienced people in world generation and noise to help me out!

Thanks!

(PS: red dots are rivers).

share|improve this question

1 Answer 1

Try giving more central (or along your sine wave) points on the graph a higher-than-average chance to grow in height and the edges (or farthest points from the sine wave) a hight-than-average chance to shrink.

Instead of hills, you'll end up with craggy mountains in the middle that fade off to slopes and into a sea bed. You can mess with the DS to smooth it if you are looking for more Appalachian mountains than Rockies. Or, and this is my preferred method, use a CA to weather the mountain by eroding away peaks and filling valleys.

You can create ranges of mountains by slapping a bunch of random points in the map rather than just one central one. The math is just a matter of scaling to the distance to the nearest point.

Same concepts can be used to create a chain of islands much like Hawaii. Start by making a curved line across your map, randomly along the line place points, then offset the points perpendicular to the line by some random value. Now do the original process of scaling the offsets in Diamond Square to the distances away from the points. And Voila. Hawaii.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.