A Guefte-Leckture in Several Diftinguish'd Actes A Guefte-Leckture - - PowerPoint PPT Presentation

a guefte leckture in several diftinguish d actes a guefte
SMART_READER_LITE
LIVE PREVIEW

A Guefte-Leckture in Several Diftinguish'd Actes A Guefte-Leckture - - PowerPoint PPT Presentation

Procedural Content Generation in Video Games A Guefte-Leckture in Several Diftinguish'd Actes A Guefte-Leckture in Several Diftinguish'd Actes Nick Rudzicz (loves fonts) Nick Rudzicz COMP521 Winter 2008 Background The Man: Nick


slide-1
SLIDE 1

Nick Rudzicz COMP521 – Winter 2008

Procedural Content Generation in Video Games

A Guefte-Leckture in Several Diftinguish'd Actes A Guefte-Leckture in Several Diftinguish'd Actes

Nick Rudzicz (loves fonts)

slide-2
SLIDE 2

Nick Rudzicz COMP521 – Winter 2008  The Man: Nick Rudzicz

Background

slide-3
SLIDE 3

Nick Rudzicz COMP521 – Winter 2008  The Man: Nick Rudzicz  The Legend: It's pronounced ''ROO-jich''

Background

slide-4
SLIDE 4

Nick Rudzicz COMP521 – Winter 2008  The Man: Nick Rudzicz  The Legend: It's pronounced ''ROO-jich''  ...the hell? Seeking a Master's degree in Computer

Science in the field of video game awesomeness

Background

slide-5
SLIDE 5

Nick Rudzicz COMP521 – Winter 2008  I am both a giant nerd and a giant geek

Motivation

slide-6
SLIDE 6

Nick Rudzicz COMP521 – Winter 2008  I am both a giant nerd and a giant geek  Nerd: I can read this:

Motivation

slide-7
SLIDE 7

Nick Rudzicz COMP521 – Winter 2008  I am both a giant nerd and a giant geek  Nerd: I can read this:

Motivation

 Geek: The following is the

slide-8
SLIDE 8

Nick Rudzicz COMP521 – Winter 2008  I am both a giant nerd and a giant geek  Nerd: I can read this:

Motivation

 Geek: The following is the

Best.

slide-9
SLIDE 9

Nick Rudzicz COMP521 – Winter 2008  I am both a giant nerd and a giant geek  Nerd: I can read this:

Motivation

 Geek: The following is the

  • Best. Game.
slide-10
SLIDE 10

Nick Rudzicz COMP521 – Winter 2008  I am both a giant nerd and a giant geek  Nerd: I can read this:

Motivation

 Geek: The following is the

  • Best. Game. Ever.
slide-11
SLIDE 11

Nick Rudzicz COMP521 – Winter 2008

Motivation

 I get a kick out of world creation, exploration

slide-12
SLIDE 12

Nick Rudzicz COMP521 – Winter 2008

Motivation

 I get a kick out of world creation, exploration  (Recall your 4 basic gamer types...)

slide-13
SLIDE 13

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: What is content?

slide-14
SLIDE 14

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: What is content?  A: Everything in the game that provides the gamer

w/ sensory input (graphics, music, NPCs, text, etc.)

slide-15
SLIDE 15

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: What is content?  A: Everything in the game that provides the gamer

w/ sensory input (graphics, music, NPCs, text, etc.)

 Content:

slide-16
SLIDE 16

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: Why is content important?

slide-17
SLIDE 17

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: Why is content important?  A: Storage space is expanding, graphical capability

is skyrocketing – and both are getting cheaper.

slide-18
SLIDE 18

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: Why is content important?  A: Storage space is expanding, graphical capability

is skyrocketing – and both are getting cheaper.

 Gamers expect more ''stuff'' in their games!

slide-19
SLIDE 19

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: Why is content important? (cont'd)

 Compare:

1993 2002 2006

slide-20
SLIDE 20

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: What makes content an important business problem?

slide-21
SLIDE 21

Nick Rudzicz COMP521 – Winter 2008

Content

 Q: What makes content an important business problem?  A: It sucks up resources like the Mega Maid in

''Spaceballs''

Game development budget

Content Everything else

Game development time

Content Everything else

* Entirely made-up graphs, but probably not far off

slide-22
SLIDE 22

Nick Rudzicz COMP521 – Winter 2008

Content

 A problem of scale:

slide-23
SLIDE 23

Nick Rudzicz COMP521 – Winter 2008

Content

 A problem of scale:

 Dorval: 20.87km2  GTA:SA: 36km2  TES:Oblivion: 41.439km2  WoW: 207.2km2

slide-24
SLIDE 24

Nick Rudzicz COMP521 – Winter 2008

Content

 A problem of scale:

 Dorval: 20.87km2  GTA:SA: 36km2  TES:Oblivion: 41.439km2  WoW: 207.2km2  Island of Montreal: 500km2  Tolkien's world (Arda): ??? 

How could we possibly build ''realistically-sized'' environments by hand? (And do we want to?)

slide-25
SLIDE 25

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Various levels of environmental content creation:

slide-26
SLIDE 26

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Various levels of environmental content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

slide-27
SLIDE 27

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Various levels of environmental content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

 Forms a nice hierarchy

slide-28
SLIDE 28

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Various levels of environmental content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

 Forms a nice hierarchy  Work has been done on individual levels

slide-29
SLIDE 29

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Levels of content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

slide-30
SLIDE 30

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Landscapes

 Perlin Noise (!), Iterated fault lines, GIS, ...

slide-31
SLIDE 31

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Landscapes

 Perlin Noise (!), Iterated fault lines, GIS, ...  Terragen (+ user input) is very good at this:

slide-32
SLIDE 32

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Prusinkiewicz 1993] discusses the formation of

rivers using fractals:

slide-33
SLIDE 33

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Levels of content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

slide-34
SLIDE 34

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Wells 2005] uses cellular automata to simulate a

floral ecosystem

slide-35
SLIDE 35

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Wells 2005] uses cellular automata to simulate a

floral ecosystem

slide-36
SLIDE 36

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Even individual plants can be procedurally

generated using Lindenmeyer systems (L-Systems)

slide-37
SLIDE 37

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Even individual plants can be procedurally

generated using Lindenmeyer systems (L-Systems)

 String rewriting mechanism, much like a context-free

grammar (or even context sensitive)

slide-38
SLIDE 38

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Even individual plants can be procedurally

generated using Lindenmeyer systems (L-Systems)

 String rewriting mechanism, much like a context-free

grammar (or even context sensitive)

slide-39
SLIDE 39

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Levels of content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

slide-40
SLIDE 40

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Parish & Mueller 2000] developed CityEngine

 Re-uses L-Systems for branching road networks!

slide-41
SLIDE 41

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Parish & Mueller 2000] developed CityEngine

 Re-uses L-Systems for branching road networks!  Results are visually phenomenal

slide-42
SLIDE 42

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 CityEngine

+

slide-43
SLIDE 43

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 CityEngine

+

slide-44
SLIDE 44

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Glass 2006] uses Voronoi diagrams to generate

''informal settlements''

slide-45
SLIDE 45

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Glass 2006] uses Voronoi diagrams to generate

''informal settlements''

slide-46
SLIDE 46

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Levels of content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

slide-47
SLIDE 47

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Wonka 2003] uses a ''shape grammar'' (much like

an L-System) to generate building exteriors

slide-48
SLIDE 48

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 [Wonka 2003] uses a ''shape grammar'' (much like

an L-System) to generate building exteriors

slide-49
SLIDE 49

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Levels of content creation:

 Landscape  Vegetation  Cities  Buildings  Objects

slide-50
SLIDE 50

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Very little (if any) work done at this level

slide-51
SLIDE 51

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Very little (if any) work done at this level

 ...which makes this exciting

slide-52
SLIDE 52

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Very little (if any) work done at this level

 ...which makes this exciting

 What would this look like?

 A formal grammar or rule set?

 Object fork {

placedIn{ ''counterDrawer'', 0.5; ''toilet'', 0.0 }; placedOn{ ''table'', 0.5; ...} ... nextTo{ ''plate'', 0.75; ...} }

slide-53
SLIDE 53

Nick Rudzicz COMP521 – Winter 2008

World-building: What and How

 Very little (if any) work done at this level

 ...which makes this exciting

 What would this look like?

 A swarm of interior decorator agents?  Sort of like a backwards riot...

slide-54
SLIDE 54

Nick Rudzicz COMP521 – Winter 2008

Where do I come in?

slide-55
SLIDE 55

Nick Rudzicz COMP521 – Winter 2008

Where do I come in?

 Thesising!

 Word? No. Fun to say? Very yes!

slide-56
SLIDE 56

Nick Rudzicz COMP521 – Winter 2008

Where do I come in?

 Thesising!

 Word? No. Fun to say? Very yes!

 My goal: make a world at the touch of a button

slide-57
SLIDE 57

Nick Rudzicz COMP521 – Winter 2008

Where do I come in?

 Thesising!

 Word? No. Fun to say? Very yes!

 My goal: make a world at the touch of a button

slide-58
SLIDE 58

Nick Rudzicz COMP521 – Winter 2008

Thesis

 Given:

slide-59
SLIDE 59

Nick Rudzicz COMP521 – Winter 2008

Thesis

 Given:

 Nice hierarchy of creation levels (Landscape, vegetation,

cities, etc.)

slide-60
SLIDE 60

Nick Rudzicz COMP521 – Winter 2008

Thesis

 Given:

 Nice hierarchy of creation levels (Landscape, vegetation,

cities, etc.)

 A lot of work already done on individual levels

slide-61
SLIDE 61

Nick Rudzicz COMP521 – Winter 2008

Thesis

 Given:

 Nice hierarchy of creation levels (Landscape, vegetation,

cities, etc.)

 A lot of work already done on individual levels

 We want:

slide-62
SLIDE 62

Nick Rudzicz COMP521 – Winter 2008

Thesis

 Given:

 Nice hierarchy of creation levels (Landscape, vegetation,

cities, etc.)

 A lot of work already done on individual levels

 We want:

 A data framework for the hierarchy

slide-63
SLIDE 63

Nick Rudzicz COMP521 – Winter 2008

Thesis

 Given:

 Nice hierarchy of creation levels (Landscape, vegetation,

cities, etc.)

 A lot of work already done on individual levels

 We want:

 A data framework for the hierarchy  A tool for rapid content creation

slide-64
SLIDE 64

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The platform: Mammoth

slide-65
SLIDE 65

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The platform: Mammoth

 Made at McGill  Has content editor, well-defined map files

slide-66
SLIDE 66

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The data framework

slide-67
SLIDE 67

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The data framework

 Definition of data structures (heightmap, city, building...)  Interaction between objects

slide-68
SLIDE 68

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The data framework

 Definition of data structures (heightmap, city, building...)  Interaction between objects  Software engineering!

slide-69
SLIDE 69

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The data framework

slide-70
SLIDE 70

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The data framework

 MODULAR!

slide-71
SLIDE 71

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The data framework

 MODULAR!  Anyone can

write their

  • wn engines
slide-72
SLIDE 72

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The tool

slide-73
SLIDE 73

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The tool

 Provide an interface to choose modules

 (Cellular automata vs. L-Systems vs. etc...)

slide-74
SLIDE 74

Nick Rudzicz COMP521 – Winter 2008

Thesis

 The tool

 Provide an interface to choose modules

 (Cellular automata vs. L-Systems vs. etc...)

 Data framework defines how modules behave

slide-75
SLIDE 75

Nick Rudzicz COMP521 – Winter 2008

Summary

 Finally!

slide-76
SLIDE 76

Nick Rudzicz COMP521 – Winter 2008

Summary

 Content: scale and detail are growing exponentially!

slide-77
SLIDE 77

Nick Rudzicz COMP521 – Winter 2008

Summary

 Content: scale and detail are growing exponentially!  Work has been done on individual levels

slide-78
SLIDE 78

Nick Rudzicz COMP521 – Winter 2008

Summary

 Content: scale and detail are growing exponentially!  Work has been done on individual levels  Trend toward automated creation tools

slide-79
SLIDE 79

Nick Rudzicz COMP521 – Winter 2008

Teh futures!

slide-80
SLIDE 80

Nick Rudzicz COMP521 – Winter 2008

Teh futures!

 Full, commercial tool allowing plug-in modules

slide-81
SLIDE 81

Nick Rudzicz COMP521 – Winter 2008

Teh futures!

 Full, commercial tool allowing plug-in modules  Games allowing user creation?

slide-82
SLIDE 82

Nick Rudzicz COMP521 – Winter 2008

Teh futures!

 Full, commercial tool allowing plug-in modules  Games allowing user creation?  Automated NPC/storyline generation?

slide-83
SLIDE 83

Nick Rudzicz COMP521 – Winter 2008

Questions?

slide-84
SLIDE 84

Nick Rudzicz COMP521 – Winter 2008

Questions?

What's a content?