Algorithms and Approaches For Procedural Terrain Generation: A Brief Review of Current Techniques
Algorithms and Approaches For Procedural Terrain Generation: A Brief Review of Current Techniques
Generation
A brief review of current techniques
Abstract—This paper aims to discuss existing approaches to their infinite complexity; fractal patterns are products of recursion
procedural terrain generation for games. This will include both and, as a result, can be viewed at an infinite number of scales. With
the many functions that are used to generate ‘noise’ (something computers, it is possible to produce seemingly random fractal terrain
that has proved exceptionally useful in procedural terrain and and textures through the use of noise functions; a term which refers
texture synthesis) as well as some advanced procedural content to a set of instructions that can be used to generate pseudo-random
generation techniques. The paper concludes with a summary of noise.
the discussed material while attempting to highlight areas for The terrain data produced by a noise function can both be
future research. rendered directly and/or used to produce a heightmap. A heightmap is
an image that can used to store the elevation value of each point of the
Index Terms—Pseudo-random, fractal, noise function, terrain. terrain using one or more colour channels. For example, a grayscale
heightmap might interpret the elevation data as luminosity resulting in
I. INTRODUCTION white being the highest possible point and black being the lowest.
One of the most integral aspects of the majority of video games is It is important to note that many noise functions are not inherently
the terrain that the player will traverse. Producing a virtual game fractal. Some algorithms such as Value Noise and Perlin Noise are
world along with appropriate textures and scenarios for a player to instead used in conjunction with fractional Brownian motion (fBm) to
explore requires a lot of both time and resources which can produce fractal images. Also known as 1/f noise, fBm is achieved by
significantly increase development costs. summing together multiple octaves of noise, each with an increased
Procedural Terrain Generation (PTG) can streamline much of this frequency and smaller amplitude; this results in finer and more
work through the use of pseudo-random algorithms. The term PTG detailed noise.
refers to the creation of content by an automated system, rather than
being produced manually. Terrain and texture generation can be
performed by utilising algorithms to produce noise; while this noise
looks completely random and unique, it is actually often the result of a
pseudo-random set of procedures known as a noise function. The
noise produced by these functions is useful as it has structure, rather
than being totally random.
In addition to noise functions, other novel approaches have been
taken towards procedural terrain generation such as the use of
software agents, evolutionary algorithms and erosion modelling
techniques.
II. BACKGROUND
Procedurally generating game terrain can be difficult because of
the unusual shapes and patterns found in the natural world. One of
the key challenges of terrain generation is mimicking the way in
which natural looking terrain is not constructed from Euclid shapes
such as squares and triangles etc. Instead, terrain is typically
described as fractal in nature. The term fractal was originally coined
by Benoit Mandelbrot to help explain some of the irregular patterns
that are found in aspects of the natural world such as coastlines,
clouds and tree bark [1]. Fractals have two fundamental traits: they
are both self-similar and chaotic. Self-similarity refers to the manner
in which a fractal can be subdivided into smaller versions of itself.
Additionally, fractals are also frequently described as chaotic due to Figure 1. Seven octaves of Value Noise rendered as a heightmap.