2. Outline
What is procedural generation?
Some technical aspects of procedural generation
Why should we use it compared to predefined
data?
Three examples of appropriate procedural
generation use:
Music generation
Texture / art generation
Data object generation
When not to use procedural generation?
Two examples of predefined data instead of
procedural generation:
Video games with unique elements
Orchestrated music for quality purposes
2
5. Why should
we use
procedural
generation
compared to
predefined
data?
Number of possible outputs from one input set
Similarities between the different outputs
generated by the same algorithm at a visual level
Using the same base resources to generate
different outputs
In large projects, reduce secondary storage
memory consumption
Student projects: simply expanding
programming knowledge
5
9. When should
you not use
procedural
generation
and instead
use
predefined
data?
The data representing objects or music do not
have similarities in between (uniqueness)
Quality over quantity
Time [14] and budget limits
Explicitly-defined elements in software design
instead of creativity and possibilities
Concerns on software performance
9
12. Summary
Use procedural generation for:
Creating textures, visual objects, and data objects such as
sound
Outputting many different outcomes
Learning more of a programming language
Do not use procedural generation for:
Time sensitive, cost sensitive, or quality sensitive projects
Data elements that are unique and where quantity is no
concern
Projects that require exceptional performance
In the end, go out there and program an algorithm
to generate the data you want!
12
13. Bibliography
[1] StackExchange.com, ‘What is “procedural generation”
and how is it done?,‘ May 1 2016.
http://gamedev.stackexchange.com/questions/756/what-is-
procedural-generation-and-how-is-it-done
[2] Northwestern University, ‘Procedural Modeling of Cities,’
May 2 2016.
http://ccl.northwestern.edu/rp/cities/index.shtml
[3] StackExchange.com, ‘How does one get started with
procedural generation?,’ May 1 2016.
http://stackoverflow.com/questions/155069/how-does-one-
get-started-with-procedural-generation
[4] Fingas, Jon. (2015, Mar. 4). “minecraft-terrain-federico-
flickr.jpg” in ‘Here’s how ‘Minecraft’ creates its gigantic
worlds’ [Online]. Available:
http://www.engadget.com/2015/03/04/how-minecraft-
worlds-are-made/ [May 2 2016]
[5] Dave Pagurek, ‘Frontier: Programming Generative Art, ’
May 3 2016.
http://www.davepagurek.com/programming/frontier
[6] Desrosiers, Gregory. “Example of Procedural Generation
in Code.png” Waterloo: Software Eng. University of
Waterloo, Waterloo, ON, May 4 2016.
13
Reference & Citation Style used: IEEE Computer Society Style Guide 2015 (https://www.computer.org/web/publications/styleguide)
Naval Postgraduate School - Dudley Knox Library: IEEE Citation (http://libguides.nps.edu/citation/ieee)
University of Manitoba – Donald W. Craik Engineering Library: Citation Guide – IEEE Style
(https://umanitoba.ca/faculties/engineering/departments/mechanical/pdf/NEW-Citing-IEEE-2013.pdf)
14. Bibliography
[7]Wolfram Research, ‘WolframTones: How
WolframTones Works,’ May 2 2016.
http://tones.wolfram.com/about/how.html
[8]Wolfram Research. (n.d.). “rule30slicesideways.gif”
in ‘WolframTones: HowWolframTones works’
[Online].Available:
http://tones.wolfram.com/about/how.html [May 2
2016]
[9]Wolfram Research. (n.d.).
“/gen/GoqlMVIVFY45Zc042wLyelDEKbrXdeTdlM” in
‘WolframTones: How WolframTones works’ [Online].
Available: http://tones.wolfram.com/about/how.html
[May 2 2016]
[10] Pagurek, Dave. (2015, Jun. 4). “night-
medium.jpg” in ‘Frontier: Programming Generative
Art’ [Online].Available:
http://www.davepagurek.com/programming/frontier
[May 2 2016]
[11] Elite Dangerous. (2012, Nov. 15). Elite: Dangerous
– procedural generation. [YouTube video]. Available:
https://www.youtube.com/watch?v=iTBvpd3_Vqk.
Accessed May 1 2016.
14
Reference & Citation Style used: IEEE Computer Society Style Guide 2015 (https://www.computer.org/web/publications/styleguide)
Naval Postgraduate School - Dudley Knox Library: IEEE Citation (http://libguides.nps.edu/citation/ieee)
University of Manitoba – Donald W. Craik Engineering Library: Citation Guide – IEEE Style
(https://umanitoba.ca/faculties/engineering/departments/mechanical/pdf/NEW-Citing-IEEE-2013.pdf)
15. Bibliography
[12]Vox Media, Inc. (Polygon), ‘Elite: Dangerous
explores the limitless depths of space, and of human
cruelty (correction) | Polygon, ’May 2 2016.
http://www.polygon.com/2014/12/4/7333709/elite-
dangerous-milky-way-stellar-forge-human-cruelty
[13] Braben, David. (n.d.). “Explosion.jpg” in ‘Our
Entire Galaxy Re-created In Elite:Dangerous –
CONTROL500’ [Online].Available:
http://ctrl500.com/tech/how-frontier-managed-to-re-
create-our-entire-galaxy-in-elite-dangerous/ [May 2
2016]
[14] Richard Moss (Gamasutra), ‘Gamasutra – 7 uses of
procedural generation that all developers should
study,’ May 1 2016.
http://www.gamasutra.com/view/news/262869/7_use
s_of_procedural_generation_that_all_developers_sho
uld_study.php
[15] Splatoon [Wii U Optical Disc]. USA: Nintendo,
2015
[16] Desrosiers,Gregory. (2016, Apr. 15). “Splatoon -
Inkopolis Plaza.jpg” May 2 2016.
15
Reference & Citation Style used: IEEE Computer Society Style Guide 2015 (https://www.computer.org/web/publications/styleguide)
Naval Postgraduate School - Dudley Knox Library: IEEE Citation (http://libguides.nps.edu/citation/ieee)
University of Manitoba – Donald W. Craik Engineering Library: Citation Guide – IEEE Style
(https://umanitoba.ca/faculties/engineering/departments/mechanical/pdf/NEW-Citing-IEEE-2013.pdf)
16. Bibliography
[17] Nintendo. (n.d.).
“WUPP_AGM_3DbkgdCP04_R_ad.jpg,” in ‘What’s
New – Splatoon™ forWii U’ [Online].Available:
http://splatoon.nintendo.com/whats-new/ [May 2
2016]
[18] Desrosiers,Gregory. (2016, Jan. 16). “Splatoon -
OctoValley.jpg” May 2 2016.
[19] Blue Flame Labs, ‘Super Mario Galaxy 2 (2010) Wii
credits - MobyGames’, May 3 2016.
http://www.mobygames.com/game/wii/super-mario-
galaxy-2/credits
[20] dudush31. (2010, Jul. 14). Super Mario Galaxy 2
OpeningTeam – Symphony Orchestra Recording.
[YouTube video] Available:
https://www.youtube.com/watch?v=iJMCaGyMHYs
Accessed May 7, 2016.
[21] GameSpot. (2013, Aug. 30). “1509518-
960551_20100520_023.jpg” in ‘Super Mario Galaxy 2
Images - GameSpot’ [Online].Available:
http://www.gamespot.com/super-mario-galaxy-
2/images/ [May 3 2016]
16
Reference & Citation Style used: IEEE Computer Society Style Guide 2015 (https://www.computer.org/web/publications/styleguide)
Naval Postgraduate School - Dudley Knox Library: IEEE Citation (http://libguides.nps.edu/citation/ieee)
University of Manitoba – Donald W. Craik Engineering Library: Citation Guide – IEEE Style
(https://umanitoba.ca/faculties/engineering/departments/mechanical/pdf/NEW-Citing-IEEE-2013.pdf)