top of page
Search

Perlin Noise Map Generator

  • Writer: Haotian Zhang
    Haotian Zhang
  • Mar 16
  • 2 min read

As a personal interest, I looked into how to use Perlin noise to generate a 2D map for world design. If you read my WFC blog well, I have to say Perlin took me a longer time. But it did set a good base for understanding the basic rules of Map Gen.


In my current demo, you just need to enter a seed, then you will wait for 30 seconds to get yourself a map:

Seed of a single peaked mountain
Seed of a single peaked mountain

Main Rules


Rules of this map generator:

  1. The initial Perlin map is warped to be an island, and turn outside areas to pure ocean.

  2. Set mountain peaks to be the local maxima, and the mountain terrain turns all areas above a certain level (0.7) into the mountains (Grey Area).

  3. Turn the local minima into circle-shaped lakes.

  4. Throw 6 territory markers into the map, and make them walk randomly to expand their territories. (Other 6 shiny colors)

  5. Use Perlin worm (cheap random pathfinding) to connect the peak to the lakes and then the lakes to the nearest ocean.

  6. You have a map with altitude information stored in every grid, enjoy the world map!



Progress recap on the process
Progress recap on the process


Optional Rules:


Overlapping Perlins to form forest band:

Forest can exist in the map (Dark Green), with Tundras in northern hemisphere (Dark Grey) and beach in the south (Sand)
Forest can exist in the map (Dark Green), with Tundras in northern hemisphere (Dark Grey) and beach in the south (Sand)

Placing in cities and towns:

Placing in cities and towns (brown), and if it is fully in a territory, make it controlled by it (Territory color)
Placing in cities and towns (brown), and if it is fully in a territory, make it controlled by it (Territory color)


Another interesting seed with rivers dividing the map into 3
Another interesting seed with rivers dividing the map into 3

To capture the usage of the terrain types... honestly, its up to the game I make next. I thought I could use them as "Kingdoms" or "Factions" but they can also be just different "Habitats" of "Species" depending on your game. Since I am a huge fan of Kenshi, the "Faction" idea sure would fit my thoughts better:)


Next step, if you wanna turn this map to 3D, get an infinite perlin map and multiply that by the altitude of this world map. You will get a convincible map from there.

bottom of page