0% found this document useful (0 votes)
59 views

Procedural Generation in Practise

This document discusses procedural generation techniques used in video game development. It outlines advantages like saving disk space and creation time by procedurally placing objects like trees instead of manually. Challenges include lack of control over individual objects and difficulty defining generation procedures. The document then provides examples of procedural generation used in the VBS video game engine, including generating plant geometry, placing biomes, and simulating snow layers based on terrain data.

Uploaded by

Vladimir Nejedly
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)
59 views

Procedural Generation in Practise

This document discusses procedural generation techniques used in video game development. It outlines advantages like saving disk space and creation time by procedurally placing objects like trees instead of manually. Challenges include lack of control over individual objects and difficulty defining generation procedures. The document then provides examples of procedural generation used in the VBS video game engine, including generating plant geometry, placing biomes, and simulating snow layers based on terrain data.

Uploaded by

Vladimir Nejedly
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/ 16

Procedural generation

in practise

Vladimir Nejedly
Bohemia Interactive Simulations
Feb 2014
Advantages of procedural generation
● save disk space
○ consider tree placement: tree every 10m (not too dense forest) means
1e10 trees on 1000x1000km map, with 50 bytes per tree (3x4 matrix +
ObjectID) it means cca 470GB of disk space
● save stream-in time
○ the above informations would have to be stremed-in from disk at
certain point, disks have seek times around 10ms
● save creation time
○ imagine placing high amount of trees by hand...
● decrease number of human errors
○ ... and think about the possible errors that would come up with
copy-pasting (trees on roads, in buildings, ...)
● some tasks are impossible to do without procedural
generation
○ like tree geometry in a high detail
Disadvantages / challenges
Definition:
Geo-specific terrain: Image of a particular real-world location
Geo-typical terrain: Image of typical of a kind of surface, not any specific
place
● not accurate control of every individual
○ procedural generation is not suitable for strict geo-specific terrain
○ usually mix of procedural placement and accurate placement is needed
(like in cities)
● it is intellectually more difficult to define a procedure,
than to create the data manually (f.i. place a tree on top
of a surface)
○ the mental transition for some artists can be painful
○ it is essential to provide artists with easy-to-use tool with a real-time
preview if possible. What also helps: built-in help, attributes with units
(avoid magic coefficients)
Procedural generation in VBS
● current usage
○ plant geometry creation (models of plants)
○ biotopes (plants/rocks placement)
○ snow layer
● planned usage
○ dust/moisture areas (godrays)
○ heighfield refinement based on rough data
● nice to have
○ cities
Plant geometry generation
● very laborious to create plant geometry using
conventional 3D tools, procedural generation
simplifies the process of plant design
● different individuals can be obtained upon
single click (choosing different seed)
● plant can be re-adjusted and re-generated
upon single click
Plant design
The work is split between programmers and
artists.
● Programmers define abstract procedures and put the
wisdom into “Components” describing particular part of
plant (like bunch, root, stem, leaf, fruit).
● To define a particular plant, artists choose the right
components, connect them to describe the desired
structure, adjust their attributes (parameters of
procedures) to get required shape and provide textures.
Plant design
This time-lapse video shows how plant can be
designed in our in-house application.
Visualization of extinct plants
Plant geometry simplification
● when generating plant model, we have to
aim at specified number of triangles
● we also have to create more levels of detail,
to be used at various distances from camera
If the plant is described procedurally, this
simplification can be fully automated.
Kinds of simplification:
● trunk simplification
● polyplanes
Plant geometry simplification
http://youtu.be/MoYPia9KBeY?t=35
Biotopes
● populating of landscape with plants / bushes / rocks
● biotope procedures take the following input from map:
○ ASL level, steepness, aspect (all from heightfield)
○ distance to road, building, water
○ surface type (sand, grass, road, ...)
● biotope procedures have the following controllers (incomplete list):
○ ASL start/end
○ aspect
○ ability to grow on road / outside road (building, water)
○ density
● there can be more procedures in one biotope. We call them populations.
Typically one population corresponds to one specie
● biotope considers density, seed and populates given area (in VBS 40x40
meters) with all the species
Biotopes - definition
Biotope, populations, controllers
Biotopes - results
Snow layer
● very similar to biotopes
● calculation/estimation of missing
informations
Snow - results
http://youtu.be/eoLZogUs4No?t=1m
We are hiring...

Bohemia Interactive Simulations

You might also like