Landmass and oceans

Now that I have my heightmap done, I have what I need to create a landmass and an ocean (or something equivalent, in case you're creating an extremely unique world). From past experience, creating the shape and size of the landmass and the oceans is actually a pretty difficult task. I tried doing it manually with varying results, and I also tried several photoshop variants, most of which were offered by the nice people at The cartographer's guild. And some techniques were brilliant. Few of those that produced good results were easy, however.

With my heightmap, every point in my map is a value between 0.0 and 1.0. By applying a filter, I can say that everything from 0.0 - 0.5 is ocean (black in the image shown), and everything from 0.5 - 1.0 is land (white).

1) The heightmap used

2) The result after the filter.

I like the result. It produces no visible artifacts, or any bias towards any specific direction.

This could hopefully be useful even for those of you who like to handcraft your maps. With that magic wand, you should easily be able to split land and ocean into two different layers in Photoshop.


Starting with Noise generation

At the heart of most methods for generating maps lie a layer of noise. The most famous noise generation algorithm is Perlin Noise. Algorithms like Perlin Noise offer pseudo-random results. You choose a random seed for the algorithm, and for the same seed, the algorithm will spit out the same results. For my map generation, I use a noise generation algorithm called Simplex Noise. A more in depth article which explains Simplex Noise fairly well is located here. It also contains Java source code!

Running the Simplex Noise algorithm might leave you with a result similar to what you see in the left image.

My goal with the noise is to end up with something I can use as a Heightmap. You can find plenty of example images on the web, and after looking at a couple, you'll probably agree with me that my result needs some refinement. Using something similar to what's called Fractional Brownian motion, I end up with a result similar to what you see in the right image. Now I'm getting somewhere.



So, what goes into the term "Generated Worlds"? Well, that depends on who you are and why you found your way here. For me, it's a passion. I've always liked playing roleplaying games, - and each of the roleplaying games I've played feature a living breathing world. Some worlds go beyond unrealistic, and some remain similar to our own earth. But the world is always there. Detailed, vivid, and full of history and lore. "Whoa, hold on!" you might be thinking. There's no way you can automatically generate a whole world. You're probably right. I've had no success before, and there's really no reason why I should succeed this time. But I'm still going to try. I appreciate company along the way, so if you'd like to urge me on, offer me constructive critisism on my latest strategy, beat me down if I fly too high, or even if you come here just to gloat over the fact that you can do better ... I welcome you!