Hi there!
My name is Robbie Ogrenix. I am an indie software developer working mainly with "Roguelike" RPGs. Many of these games feature randomly generated worlds using complex algorithms and rule sets. Needless to say, it's a complicated subject that is quite enough to keep someone busy without the help of all of the other parts of game design theory!
So for this reason I have decided to undertake a new project: I want to make a detailed and variable world generator -- A program that creates a planetary map at random when given a set of rules. Of course, while I understand the typical methods used in similar programs, I am coming up with some complicated issues when trying to emulate real variables more accurately.
Generally, a greyscale height map is generated using perlin noise. The luminance of each pixel is measured from 0 to 255 -- The higher the number, the lighter the color. Those high points are also the "high" points in terms of elevation. The darkest parts are, of course, pits and valleys,
Then you create a water line by stating something to the effect of "if a pixel's luminance is less than the value set for the water line, the pixel is submerged,"
After that, you set some more rules for luminance ranges, high values become hills and mountains, with marginal values being plains, forest, hills, tundra etc. This generally is based on a temperature modifier which still is based in the luminance of the pixel, or "cell." While this approach is adequate for most, it is not thorough enough for my liking. In my planning, I have come up with many questions that need to be answered, spanning just about every field of science. Questions like "Exactly what role does elevation have on the temperature of a given point on Earth", "What types of soil are most fertile?", "Precisely what makes a vein of X ore?" and "What role does the moon play on the weather patterns of Earth?" So I am in need of a lot of information, you see! While I am educated, I am certainly not a geologist, astrologist or physicist. I really would like to better understand how all of this works. If anyone has read this all the way through, thank you very much! I greatly appreciate it!
Kindest regards,
r.ogrenix