/MapGenerator

Generate maps of random islands from a gaussian field.

Primary LanguagePythonMIT LicenseMIT

MapGenerator

Generate procedural geographic maps from random fields.

Try an interactive demo here.

Map generation

The process of map generation is as follows:

  1. Generate a random field, choosing from the list of available random fields
  2. Normalize the field between 0 and 1
  3. Smooth the field with a gaussian filter
  4. Retain only the mainland above a certain threshold

Random fields

The available random fields are:

  • gauss: Random gaussian field, with a given power spectrum, computed using the package powerbox
  • perlin: Perlin noise, computed using the package noise
  • warped_perlin: Perlin noise with domain warping, computed using the package noise
  • cos: Sinusoidal noise (to be improved)
  • fbm: Fractional Brownian Field

An example of randomly generated islands