0% found this document useful (0 votes)
9 views3 pages

Algorithms and Approaches

The document discusses various algorithms and techniques for procedurally generating terrain in video games. It covers noise functions, fractal patterns, and other approaches like software agents and erosion modeling that can be used to algorithmically create game worlds and textures.

Uploaded by

heatonsam5888
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views3 pages

Algorithms and Approaches

The document discusses various algorithms and techniques for procedurally generating terrain in video games. It covers noise functions, fractal patterns, and other approaches like software agents and erosion modeling that can be used to algorithmically create game worlds and textures.

Uploaded by

heatonsam5888
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/309222205

Algorithms and Approaches for Procedural Terrain Generation - A Brief


Review of Current Techniques

Conference Paper · September 2016


DOI: 10.1109/VS-GAMES.2016.7590336

CITATIONS READS

13 4,443

2 authors:

Thomas Rose Anastasios G. Bakaoukas


The University of Northampton The University of Northampton
1 PUBLICATION 13 CITATIONS 22 PUBLICATIONS 111 CITATIONS

SEE PROFILE SEE PROFILE

All content following this page was uploaded by Anastasios G. Bakaoukas on 26 July 2021.

The user has requested enhancement of the downloaded file.


Algorithms and Approaches for Procedural Terrain
Generation
A brief review of current techniques

Thomas J. Rose Anastasios G. Bakaoukas


School of Science and Technology, School of Science and Technology,
Computing and Immersive Technologies Department, Computing and Immersive Technologies Department,
University of Northampton, University of Northampton,
St. Georges Avenue, Northampton, NN2 6JB, UK St. Georges Avenue, Northampton, NN2 6JB, UK
Email: [email protected] Email: [email protected]

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.

978-1-5090-2722-4/16/$31.00 ©2016 IEEE


III. NOISE FUNCTIONS V. CONCLUSION
Some of the core noise functions that have been previously There are a good variety of effective techniques currently that can
utilised in procedural game terrain generation include: the Diamond- be applied to procedural game content generation. The discussed noise
Square Algorithm [2], Value Noise [3], Perlin Noise [4], Simplex functions are exceptionally useful for generating initial terrain and
Noise [5] and Worley Noise [6]. The subsequent table [Table I] shows each one possesses its own useful set characteristics. Despite this, they
a comparison between these popular noise functions based on their can be difficult to influence in meaningful ways as their outputs are
speed, memory requirements and the quality of the noise they simply the product of the computation of pseudo-random numbers.
produce. Although not as easy to manipulate as software agents,
evolutionary algorithms provide a method of generating evolved game
TABLE I. NOISE FUNCTIONS content by producing an initial content pool and improving it with
successive generations by evaluating its members using a fitness
Algorithm Speed Quality Memory function; which can be adjusted to the needs of the system and offers a
Requirements
degree of controllability.
Diamond- Very Fast Moderate High
Square
Physically-based simulations are not necessarily well suited to
Algorithm producing procedural terrain on their own but can offer a way to
Value Noise Slow - Fast* Low - Moderate* Very Low further shape a virtual world and add a further layer of realism to it.
Perlin Noise Moderate High Low Doran and Parberry’s software agents perhaps constitute the most
Simplex Moderate** Very High Low significant step towards generating terrain using user-friendly
Noise parameters relating to terrain features rather than abstract numerical
Worley Noise Variable Unique Variable inputs. Despite this, adaptive and controllable content generation for
games on the whole is certainly an area that could be explored further.
*Depends on what interpolation function is used
**Scales better into the higher dimensions than Perlin Noise A final notion to be considered going forward is the way in which
procedurally generated content can be evaluated. Content produced by
a PTG system can be difficult to appraise as what makes game terrain
Aside from the Diamond-Square Algorithm all of the noise
“good” is a largely subjective matter. Furthermore, it can be
functions mentioned here are not natively fractal and typically used in
challenging to compare the quality of different terrain-generating
conjunction with fBm to create fractal images.
algorithms and techniques as the final output from a PTG system is
The most suitable noise function will vary between terrain
heavily affected by the rendering techniques that are used.
generation systems. If speed is essential, the Diamond-Square
Algorithm is a great option as it is much faster than all the other REFERENCES
algorithms and its fractal nature means that multiple octaves of noise
are not required to produce fractal images. Value Noise is a great [1] B. Mandelbrot, “The Fractal Geometry of Nature.” W. H. Freeman
alternative if memory is in short supply and is also easily customisable and Co, 1982.
due to its simple nature. Worley Noise, meanwhile, provides noise that [2] G. S. P. Miller, “The definition and rendering of terrain maps,”
is much more visually unique than the other noise functions and may
ACM SIGGRAPH Comput. Graph., vol. 20, no. 4, pp. 39–48, 1986.
be desirable in certain scenarios. For overall quality, however,
Simplex Noise is the ideal choice although classic Perlin Noise will [3] T. Archer, “Procedurally Generating Terrain,” 3rd Int. Conf.
likely be sufficient in the vast majority of circumstances. Comput. Support. Educ., 2011.
[4] K. Perlin, “Noise Machine.” [Online]. Available:
IV. OTHER APPROACHES
http://www.noisemachine.com/talk1/index.html. [Accessed: 29-
Software agents provide an interesting alternative to noise
Apr-2016].
functions for generating terrain. One of the great advantages they yield
is that they are much controllable and can be used in a PTG system [5] S. Gustavson, “Simplex noise demystified,” Linköping Univ.
that works with designer-chosen parameters, rather than abstract Schweden, p. 17, 2005.
random number seeds [7]. [6] S. Worley, “A cellular texture basis function,” Proc. 23rd Annu.
Evolutionary algorithms are somewhat more difficult to control
Conf. Comput. Graph. Interact. Tech. - SIGGRAPH ’96, pp. 291–
but provide a valuable way of generating a broad spectrum of game
content types. The initial content population and fitness function are 294, 1996.
the best ways an evolutionary algorithm can be regulated along with [7] J. Doran and I. Parberry, “Controlled Procedural Terrain Generation
reducing the amount of mutation that takes place each generation. This Using Software Agents,” IEEE Trans. Comput. Intell. AI Games,
issue with reducing the mutation factor, however, is that this is where vol. 2, no. 2, pp. 111–119, 2010.
the algorithms random-element comes from and doing so makes the
population more likely to stagnate [8]. [8] J. Togelius, G. N. Yannakakis, K. O. Stanley, and C. Browne,
Physically-based erosion models are a useful way of giving game “Search-Based Procedural Content Generation : A Taxonomy and
terrain a more worn and natural appearance. Although hydraulic Survey,” IEEE Trans. Comput. Intell. AI Games, vol. 3, no. 3, pp.
erosion is notably slower than thermal erosion and requires 172–186, 2011.
approximately three times the amount of memory, it produces
[9] X. Mei and P. Decaudin, “Fast Hydraulic Erosion Simulation and
significantly better results [3]. Simulating hydraulic erosion on the
GPU can aid in overcoming the algorithm’s general speed limitations Visualization on GPU,” Pacific Graph., 2007.
[9].

View publication stats

You might also like