Procedural Island Generation

in #steemstem6 years ago

Island generation

Today I took my first step in the vast domain of procedural generation. I tried to create a simple looking island.


Generation of a heightmap

Drawing a circle

An island as seen in the image above is simply some perlin noise where the highest values are concentrated in the middle.
I started by creating a circle. You can used the distance between two points formula to have points getting darker as they get further from the center. This is how I did it.

Adding noise

If you want to know how to create noise you should search the terms "Perlin noise" or "Simplex noise"

The noise blends with the circle making the map darker on the ends but lighter in the center.


The noise is too hard in the picture above to have good results, we need to smooth our image. I smoothed my image by setting every pixel to the average of their neighbors. This smoothing function was iterated 300 times in my final Island image.


Adding colors

I used a shader to color the island, but you can use what you want.



Final result


Smoothing in realtime (300 iterations)


Raising Sea level



It was quite fun to create an island. I will try to read about procedural generation to showcase more impressive generations. If you like my content make sure you follow me :)


Next step would be making a procedural shape, right? ;) otherwise, amazing demo.

I could try, I would also like to make a better looking landscape with biomes!

Nice project. What programming language/framework did you use?

I used C++ and SFML