Billy-Pentney / Herrain

2D Terrain and Biome Generator in Haskell, using Perlin Noise

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Herrain

Description

Herrain uses three layers of Perlin-Noise to generate maps for the following attributes:

  • Temperature (T)
  • Precipitation (P)
  • Elevation (E)

Then, the map is built on a grid-system, where the biome of each cell is determine by the combination of noise values at those coordinates. These biomes can then be visualised using Gloss.

Biomes

  • Ice = Low/Medium Elevation + Low Temperature
  • Tundra = High Elevation + Low Temperature
  • Rocky = High Elevation + Medium/High Temperature
  • Ocean/Water/Coast = Increasing Elevation + Medium Temperature
  • Sand = Medium/High Temperature + Low Rain
  • Grass = Medium Temperature + Medium/High Rain
  • Desert = Low rain + High Temperature
  • Trees = High rain or Low/Medium Temperature

key

Images

preview herrain2

Inputs

Pressing the 'r' key generates a new set of noise values, creating a new map.

Libraries

  • hsnoise-0.0.2 (3D Noise generator); published by Colin Hill, 2011
  • gloss-1.13.2.2 (Graphics and simulations); published by Ben Lippmeier, 2022

About

2D Terrain and Biome Generator in Haskell, using Perlin Noise


Languages

Language:Haskell 62.5%Language:C 37.5%