SlideShare a Scribd company logo
Pier Luca Lanzi
Procedural Content Generation
Pier Luca Lanzi, Daniele Loiacono, Michele Pirovano
Pier Luca Lanzi
What is Procedural Content Generation?
Procedural Generation
with no or limited human intervention, algorithmically
of Content
of “things that affect the gameplay”, not non-player
character behavior, not the game engine
Pier Luca Lanzi
so what exactly is procedurally generated?
levels, tracks, maps, terrains, dungeons, puzzles,
buildings, trees, grass, fire, plots, descriptions,
scenarios, dialogues, quests, characters, rules,
boards, parameters, camera viewpoint, dynamics,
weapons, clothing, vehicles, personalities, etc.
Pier Luca Lanzihttp://en.wikipedia.org/wiki/Rogue_(video_game)#mediaviewer/File:Rogue_Screen_Shot_CAR.PNG
Pier Luca Lanzi
Pier Luca Lanzi
BBC Micro – 2 MHz MOS Technology 6502/6512
16-128 kB RAM 32-128 kB ROM
Pier Luca Lanzihttps://www.youtube.com/watch?v=ISR4ebdGlOk
Pier Luca Lanzi
Pier Luca Lanzi
Pier Luca Lanzi
What the ingredients?
domain knowledge
artificial intelligence
structured randomness
multi-layering
filters, limits & restrictions
specialized algorithms
gameplay integration
Pier Luca Lanzi
Ingredients #1 & #2
Domain Knowledge & Artificial Intelligence
•  Domain Knowledge
§ To generate something you need to know it
§ PCG typically aims at building an artificial level
designer, usually needs domain knowledge
about level design
•  Artificial Intelligence
§ Need algorithms that can work on complex
knowledge and generate plausible content
§ Search-based methods, L-systems, evolutionary
computation, fractals, cellular automata,
agent-based methods, planning, etc.
11
Pier Luca Lanzi
Pier Luca Lanzi
ingredient #3
structured randomness
things look like they have been randomly
generated but it is not completely at random!
Pier Luca Lanzi
f(x) = sin(x)
Pier Luca Lanzi
Pier Luca Lanzi
they both look like “noise”
but one of them feels like it has structure…
it is structured randomness
Pier Luca Lanzi
Pier Luca Lanzi
Example: Building Mario Levels
•  Library of chuncks.
•  Irregular in size.
•  Mixed purpose:
§ Mainly geometry.
§ Mainly gameplay.
•  Anchor points (Mario)
18
Pier Luca Lanzi
Algorithm
•  Chunk Filtering
§ Some chunks just don‘t match the current level.
•  Chunk Selection
§ Various metrics, randomness and designer settings.
•  Chunk Insertion
§ Remove overlapping components.
•  Post-Processing
§ Cosmetic and gameplay adjustments.
19
Pier Luca Lanzi
Infinite Mario Level 20
Pier Luca Lanzi
Map & Cave Generators
•  Cave generators typically are based on Cellular Automata
•  Map generators typically an approach
§ Tile-Based
§ Digger
§ Uniform
21
Pier Luca Lanzi
Tile-Based Map Generation
•  Simple to implement
•  Requires rich tileset or it can easily lead to repetitions
22
Pier Luca Lanzi
Uniform Map Generators
•  Two steps
§ First create rooms based on
a high level grid
§ Next, create the corridors
to connect the rooms
•  Rather simple to implement
•  Limited topology by the room
shape and the grid
23
Rogue (1980)
Pier Luca Lanzi
Digger Generators
•  Simulates the behavior of a mole that digs its den
•  Generates maps that have a tree like structure
24
Pier Luca Lanzi
ingredient #4
multi-layering
typically more layers of procedural
content generation are applied in sequence
Pier Luca Lanzi
•  Warzone 2100
§ Heights & Cliffs
§ Roads
§ Textures
§ Player Bases
§ Local Features
•  Civilization 4
§ Fractal Heightfield
§ Plate Tectonics
§ Tile Types
§ Rivers and Lakes
§ Map Bonuses
Pier Luca Lanzi
ingredient #5
Filters, Limits & Restrictions
“In Civ3 I would say we even shipped with a sub-standard resource
placement algorithm where all the iron could be concentrated in just
a few small locations on the map, and for one player there may be
literally no way for them to build swordsmen.” – Soren Johnson
"With Civ4 we instituted randomness with limitations. There
always has to be a minimum distance between each element of
iron, or each element of horses, and that completely solved the
problem.” – Soren Johnson
Pier Luca Lanzi
ingredient #6
specialized algorithms
placing special items, requires special tricks
this tricks must be encoded in the PCG
Pier Luca Lanzi
1.  Connect all bases, the resources,
pick three random points and
connect them
2.  Apply a customize A* heuristic
and reuse roads!
3.  Customize A* heuristic with
randomize cost of non-road
grid cells.
Pier Luca Lanzi
ingredient #7
gameplay integration
Is it fun to play? Is the progression adequate?
Pier Luca Lanzi
Pier Luca Lanzi
is this all there is?
Pier Luca Lanzi
PCG
Is it done online?
Or offline?
Is it necessary content?
Or optional?
Do you use random
seeds or parameter
vectors?
Is it stochastic?
Or deterministic?
Generate and test?
Constructive?
Pier Luca Lanzi
Domain Knowledge
•  To build an artificial intelligence, you typically need a lot of domain knowleddge
•  When using PCG you‘re building an artificial level designer, so you usually need domain
knowledge about level design
•  So you‘ll probably need a real level designer and people who have some experience
•  When you build a particular level you don‘t need to understand the general concepts
behind the game mechanics as much as when you do it procedurally
•  When you go procedurally, you have to understand all the space of options you are
creating and understand how your game mechanics tie in with the level
•  Provide ways to customize your algorithms and tools for controlling and visualizing the
result
34
Pier Luca Lanzi
Inputs & Senses
•  Procedural generation algorithms
work on different sets of inputs
and actions (when compared to
traditional AI)
•  Examples of Inputs
§ Line of Sight
§ Point Distance (A*, Dijkstra)
§ Obstacles & Clearance
§ Height
•  Examples of Actions
§ Place resources
§ Layout buildings
§ Create roads/rivers
§ Adjust terrain
35
Pier Luca Lanzi
Frozen Synapse
Pier Luca Lanzi
Level Generator #1 37
Pier Luca Lanzi
Human Designed Levels 38
Pier Luca Lanzi
Algorithm
1. 2.
3. 4.
39
Pier Luca Lanzi
Step 5. 40
Pier Luca Lanzi
Step 6. Walls & Doors 41
Pier Luca Lanzi
Step 7. Windows & More Doors 42
Pier Luca Lanzi
Step 8. Box Cover 43
Pier Luca Lanzi
Example #1 44
Pier Luca Lanzi
Example #2 45
Pier Luca Lanzi
Example #3 46
Pier Luca Lanzi
Example #4 47
Pier Luca Lanzi
No Man’s Sky
from nucl.ai conference
Pier Luca Lanzi
Philosophy
•  Artist directed
•  Procedural generation is irrelevant to end user
•  Motivation
§ Game world scale
§ Output from small team
§ Unexpected outputs
§ Individual experiences
•  Engine agnostic to content origin
•  Mix of general and specific techniques
49
Pier Luca Lanzi
Multi-Layered Generation 50
Pier Luca Lanzi
Region Creation Process
1. Generation
2. Polygonisation
3. Spherification
4. Physics construction
5. AI knowledge construction
6. Decoration
51
Pier Luca Lanzi
Generation Requirements
•  Directable and consistent
•  Real-time
•  Varied
•  Real world and abstract shapes
•  Easy to modify and add to
•  Data local
52
Pier Luca Lanzi
Perlin/Simplex Noise
•  Well known techniques
§ Widely applicable
§ Scalable
§ Repetitive
§ Insufficient
•  Modified version
§ Perlin worms
§ Noise with a threshold
§ Paths, caves, lines
53
Pier Luca Lanzi
Structured Shapes
•  Cellular noise patterns
•  Worley/Voronoi Noise
•  Pickpoints
•  Calculate min distances
•  Cliffs, paths, regions...
54
Pier Luca Lanzi
Mathematical Solids
•  Gielis, Johan (2003), "A generic geometric transformation that
unifies a wide range of natural and abstract shapes", American
Journal of Botany
•  Natural looking shape additions
55
Pier Luca Lanzi
Map Generation in In Verbis Virtus
(Mattia Ferrari)
56
Pier Luca Lanzi
Map Generation for In Verbis Virtus
• Requirements
§ Control over the complexity of the generated maps
§ Continuous representation
§ Avoid decors overlaps
•  Combination of diggers
and uniform approaches
•  Map elements from human
designed levels
§ Walls
§ Doors
§ Decors
57
Pier Luca Lanzi
Step 1: Growth
•  Similar to the digger approach
•  Builds a map structured as a tree
•  Growth is controlled by a set of
parameters, including,
§ Type of elements
§ Number of rooms
§ Number of branches
§ Available area
58
Pier Luca Lanzi
Step 2 & 3: Additional Corridors and
Deadline Elimination
•  Additional Corridors
§ Similar to uniform generators
§ Based on the required percentage
of connections to create
§ Distance between areas
•  Deadline Elimination
§ Based on the percentage
of dead ends to eliminate
59
Pier Luca Lanzi
Map Evaluation
•  Given a map we needed to compute several statistics to filter the
most interesting ones
•  Maps are encoded as graphs
•  Compute several metrics
§ Max distance among rooms
§ Reachability
§ Flow
§ …
60
Pier Luca Lanzi
Some Findings
•  75% or more additional connections increase the complexity of
the map without improving complica le mappe senza migliorare la
raggiungibilità
•  The generator is robust with
respect to the room shape
•  By eliminating the start room,
we can reduce the reachability
over the entire map
Pier Luca Lanzi
Mappa generata
Pier Luca Lanzi
Video finale
Pier Luca Lanzi
we can do it, so can you!
Pier Luca Lanzihttp://trackgen.pierlucalanzi.net
Pier Luca Lanzi
http://www.youtube.com/watch?v=uIUYWzdMXog
Pier Luca Lanzihttp://www.michelepirovano.com/portfolio_swordgenerator.php
Pier Luca Lanzihttp://www.michelepirovano.com/portfolio_swordgenerator.php
Pier Luca Lanzi
http://www.facebook.com/polimigamecollective
https://twitter.com/@POLIMIGC
http://www.youtube.com/PierLucaLanzi
http://www.polimigamecollective.org

More Related Content

What's hot

マルチシナリオの作成の基礎
マルチシナリオの作成の基礎マルチシナリオの作成の基礎
マルチシナリオの作成の基礎
Hiroyuki Shimanishi
 
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
Sho Iwamoto
 
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
Eunseok Yi
 
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
小林 信行
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザイン
Katsumi Mizushima
 
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
Unity Technologies Japan K.K.
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
MASA_T_O
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
Kouji Ohno
 
Indie Game Development Intro
Indie Game Development IntroIndie Game Development Intro
Indie Game Development Intro
Juan Zamora, MSc. MBA
 
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
Unite2017Tokyo
 
適度に弱い敵aiの作り方
適度に弱い敵aiの作り方適度に弱い敵aiの作り方
適度に弱い敵aiの作り方
dodoyuzo
 
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
Kwangyoung Lee
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザインKatsumi Mizushima
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
Takashi Komada
 
ゲームシナリオ構成法 2015版
ゲームシナリオ構成法 2015版ゲームシナリオ構成法 2015版
ゲームシナリオ構成法 2015版
小林 信行
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
Eunseok Yi
 
ゲームジャム対策集中講座 ~よくある問題と対策~
ゲームジャム対策集中講座 ~よくある問題と対策~ゲームジャム対策集中講座 ~よくある問題と対策~
ゲームジャム対策集中講座 ~よくある問題と対策~
Yasuyuki Kamata
 
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networksThe lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
ThyrixYang1
 
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
小林 信行
 
What Is A Game Engine
What Is A Game EngineWhat Is A Game Engine
What Is A Game Engine
Seth Sivak
 

What's hot (20)

マルチシナリオの作成の基礎
マルチシナリオの作成の基礎マルチシナリオの作成の基礎
マルチシナリオの作成の基礎
 
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
 
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
NDC 2017 키노트: 이은석 - 다가오는 4차 산업혁명 시대의 게임개발
 
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜ハリウッド流映画脚本講座・特別編「ゲーム」は「キャラクター」がドライブする〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
ハリウッド流映画脚本講座・特別編 「ゲーム」は「キャラクター」がドライブする 〜ヒットする、原作付きキャラクターゲームシナリオの作り方〜
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザイン
 
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
【Unite Tokyo 2018】その最適化、本当に最適ですか!? ~正しい最適化を行うためのテクニック~
 
ゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのことゲーム制作初心者が知るべき8つのこと
ゲーム制作初心者が知るべき8つのこと
 
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザインCEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
CEDEC2016 「コントラスト」で考えるゲームデザイン・レベルデザイン
 
Indie Game Development Intro
Indie Game Development IntroIndie Game Development Intro
Indie Game Development Intro
 
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
【Unite 2017 Tokyo】Unityを使ったNintendo Switch™ローンチタイトル制作~スーパーボンバーマンRの事例~
 
適度に弱い敵aiの作り方
適度に弱い敵aiの作り方適度に弱い敵aiの作り方
適度に弱い敵aiの作り方
 
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
NDC 2015 이광영 [야생의 땅: 듀랑고] 전투 시스템 개발 일지
 
MMOGで考えるゲームデザイン
MMOGで考えるゲームデザインMMOGで考えるゲームデザイン
MMOGで考えるゲームデザイン
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
 
ゲームシナリオ構成法 2015版
ゲームシナリオ構成法 2015版ゲームシナリオ構成法 2015版
ゲームシナリオ構成法 2015版
 
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
NDC 2010 이은석 - 마비노기 영웅전 포스트모템 2부
 
ゲームジャム対策集中講座 ~よくある問題と対策~
ゲームジャム対策集中講座 ~よくある問題と対策~ゲームジャム対策集中講座 ~よくある問題と対策~
ゲームジャム対策集中講座 ~よくある問題と対策~
 
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networksThe lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
The lottery ticket_hypothesis__finding_sparse__trainable_neural_networks
 
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
ゲームシナリオ構成論 The Method for the game sinario writings for multi-ending adventur...
 
What Is A Game Engine
What Is A Game EngineWhat Is A Game Engine
What Is A Game Engine
 

Viewers also liked

Procedural Content Generation with Unity
Procedural Content Generation with UnityProcedural Content Generation with Unity
Procedural Content Generation with Unity
Pier Luca Lanzi
 
Focus Junior - 14 Maggio 2016
Focus Junior - 14 Maggio 2016Focus Junior - 14 Maggio 2016
Focus Junior - 14 Maggio 2016
Pier Luca Lanzi
 
Data Driven Game Design
Data Driven Game DesignData Driven Game Design
Data Driven Game Design
Pier Luca Lanzi
 
Designing Puzzles for Video Games
Designing Puzzles for Video GamesDesigning Puzzles for Video Games
Designing Puzzles for Video Games
Pier Luca Lanzi
 
Transparency in Game Mechanics
Transparency in Game MechanicsTransparency in Game Mechanics
Transparency in Game Mechanics
Pier Luca Lanzi
 
Game Balancing
Game BalancingGame Balancing
Game Balancing
Pier Luca Lanzi
 
Game Mechanics
Game MechanicsGame Mechanics
Game Mechanics
Pier Luca Lanzi
 
Codemotion Milan - November 21 2015
Codemotion Milan - November 21 2015Codemotion Milan - November 21 2015
Codemotion Milan - November 21 2015
Pier Luca Lanzi
 
Presentazione Open Day del Politecnico di Milano (2016)
Presentazione Open Day del Politecnico di Milano (2016)Presentazione Open Day del Politecnico di Milano (2016)
Presentazione Open Day del Politecnico di Milano (2016)
Pier Luca Lanzi
 
Introduzione alla realizzazione di videogiochi - Fun
Introduzione alla realizzazione di videogiochi - FunIntroduzione alla realizzazione di videogiochi - Fun
Introduzione alla realizzazione di videogiochi - Fun
Pier Luca Lanzi
 
The Design Document
The Design DocumentThe Design Document
The Design Document
Pier Luca Lanzi
 
Elements for the Theory of Fun
Elements for the Theory of FunElements for the Theory of Fun
Elements for the Theory of Fun
Pier Luca Lanzi
 
Idea Generation and Conceptualization
Idea Generation and ConceptualizationIdea Generation and Conceptualization
Idea Generation and Conceptualization
Pier Luca Lanzi
 
DMTM 2015 - 12 Classification Rules
DMTM 2015 - 12 Classification RulesDMTM 2015 - 12 Classification Rules
DMTM 2015 - 12 Classification Rules
Pier Luca Lanzi
 
DMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other Methods
DMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other MethodsDMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other Methods
DMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other Methods
Pier Luca Lanzi
 
Machine Learning and Data Mining: 12 Classification Rules
Machine Learning and Data Mining: 12 Classification RulesMachine Learning and Data Mining: 12 Classification Rules
Machine Learning and Data Mining: 12 Classification Rules
Pier Luca Lanzi
 
La Matematica e la fisica da Pong ai giochi tripla A
La Matematica e la fisica da Pong ai giochi tripla ALa Matematica e la fisica da Pong ai giochi tripla A
La Matematica e la fisica da Pong ai giochi tripla A
Pier Luca Lanzi
 
Introduzione alla realizzazione di videogiochi - Elementi di game design
Introduzione alla realizzazione di videogiochi - Elementi di game designIntroduzione alla realizzazione di videogiochi - Elementi di game design
Introduzione alla realizzazione di videogiochi - Elementi di game design
Pier Luca Lanzi
 
Introduzione alla realizzazione di videogiochi - Presentazione del corso
Introduzione alla realizzazione di videogiochi - Presentazione del corsoIntroduzione alla realizzazione di videogiochi - Presentazione del corso
Introduzione alla realizzazione di videogiochi - Presentazione del corso
Pier Luca Lanzi
 
Introduzione alla realizzazione di videogiochi - Meccaniche
Introduzione alla realizzazione di videogiochi - MeccanicheIntroduzione alla realizzazione di videogiochi - Meccaniche
Introduzione alla realizzazione di videogiochi - Meccaniche
Pier Luca Lanzi
 

Viewers also liked (20)

Procedural Content Generation with Unity
Procedural Content Generation with UnityProcedural Content Generation with Unity
Procedural Content Generation with Unity
 
Focus Junior - 14 Maggio 2016
Focus Junior - 14 Maggio 2016Focus Junior - 14 Maggio 2016
Focus Junior - 14 Maggio 2016
 
Data Driven Game Design
Data Driven Game DesignData Driven Game Design
Data Driven Game Design
 
Designing Puzzles for Video Games
Designing Puzzles for Video GamesDesigning Puzzles for Video Games
Designing Puzzles for Video Games
 
Transparency in Game Mechanics
Transparency in Game MechanicsTransparency in Game Mechanics
Transparency in Game Mechanics
 
Game Balancing
Game BalancingGame Balancing
Game Balancing
 
Game Mechanics
Game MechanicsGame Mechanics
Game Mechanics
 
Codemotion Milan - November 21 2015
Codemotion Milan - November 21 2015Codemotion Milan - November 21 2015
Codemotion Milan - November 21 2015
 
Presentazione Open Day del Politecnico di Milano (2016)
Presentazione Open Day del Politecnico di Milano (2016)Presentazione Open Day del Politecnico di Milano (2016)
Presentazione Open Day del Politecnico di Milano (2016)
 
Introduzione alla realizzazione di videogiochi - Fun
Introduzione alla realizzazione di videogiochi - FunIntroduzione alla realizzazione di videogiochi - Fun
Introduzione alla realizzazione di videogiochi - Fun
 
The Design Document
The Design DocumentThe Design Document
The Design Document
 
Elements for the Theory of Fun
Elements for the Theory of FunElements for the Theory of Fun
Elements for the Theory of Fun
 
Idea Generation and Conceptualization
Idea Generation and ConceptualizationIdea Generation and Conceptualization
Idea Generation and Conceptualization
 
DMTM 2015 - 12 Classification Rules
DMTM 2015 - 12 Classification RulesDMTM 2015 - 12 Classification Rules
DMTM 2015 - 12 Classification Rules
 
DMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other Methods
DMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other MethodsDMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other Methods
DMTM 2015 - 13 Naive bayes, Nearest Neighbours and Other Methods
 
Machine Learning and Data Mining: 12 Classification Rules
Machine Learning and Data Mining: 12 Classification RulesMachine Learning and Data Mining: 12 Classification Rules
Machine Learning and Data Mining: 12 Classification Rules
 
La Matematica e la fisica da Pong ai giochi tripla A
La Matematica e la fisica da Pong ai giochi tripla ALa Matematica e la fisica da Pong ai giochi tripla A
La Matematica e la fisica da Pong ai giochi tripla A
 
Introduzione alla realizzazione di videogiochi - Elementi di game design
Introduzione alla realizzazione di videogiochi - Elementi di game designIntroduzione alla realizzazione di videogiochi - Elementi di game design
Introduzione alla realizzazione di videogiochi - Elementi di game design
 
Introduzione alla realizzazione di videogiochi - Presentazione del corso
Introduzione alla realizzazione di videogiochi - Presentazione del corsoIntroduzione alla realizzazione di videogiochi - Presentazione del corso
Introduzione alla realizzazione di videogiochi - Presentazione del corso
 
Introduzione alla realizzazione di videogiochi - Meccaniche
Introduzione alla realizzazione di videogiochi - MeccanicheIntroduzione alla realizzazione di videogiochi - Meccaniche
Introduzione alla realizzazione di videogiochi - Meccaniche
 

Similar to Procedural Content Generation

VDP2016 - Lecture 14 Procedural content generation
VDP2016 - Lecture 14 Procedural content generationVDP2016 - Lecture 14 Procedural content generation
VDP2016 - Lecture 14 Procedural content generation
Pier Luca Lanzi
 
Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014
Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014
Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014
Pier Luca Lanzi
 
VDP2016 - Lecture 13 Data driven game design
VDP2016 - Lecture 13 Data driven game designVDP2016 - Lecture 13 Data driven game design
VDP2016 - Lecture 13 Data driven game design
Pier Luca Lanzi
 
Introduction to AI in computer games
Introduction to AI in computer gamesIntroduction to AI in computer games
Introduction to AI in computer games
Hojjat Jafary
 
DigitalCreationLita
DigitalCreationLitaDigitalCreationLita
DigitalCreationLita
Northeast Kansas Library System
 
Artificial intelligence in gaming.
Artificial intelligence in gaming.Artificial intelligence in gaming.
Artificial intelligence in gaming.
Rishikese MR
 
Junk Master Series : AltDevConf 2012
Junk Master Series : AltDevConf 2012Junk Master Series : AltDevConf 2012
Junk Master Series : AltDevConf 2012
Wasin Thonkaew
 
Understanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha LatyshevaUnderstanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha Latysheva
Lauren Cormack
 
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Luke Dicken
 
Raspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker MovementRaspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker Movement
srmonk
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Eramartinlippert
 
Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018
Pier Luca Lanzi
 
Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...
Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...
Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...
Aritra Sarkar
 
Ticketmaster Network Telemtery
Ticketmaster Network Telemtery Ticketmaster Network Telemtery
Ticketmaster Network Telemtery
Federico Olivieri
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
D.c. Wilson
 
Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014
Cloudflare
 
Graph-Tool in Practice
Graph-Tool in PracticeGraph-Tool in Practice
Graph-Tool in Practice
Mosky Liu
 
Assessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingAssessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic Sketching
Jean Vanderdonckt
 
What's up about Plasma-MID?
What's up about Plasma-MID?What's up about Plasma-MID?
What's up about Plasma-MID?
OpenBossa
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
Jean-Philippe Doiron
 

Similar to Procedural Content Generation (20)

VDP2016 - Lecture 14 Procedural content generation
VDP2016 - Lecture 14 Procedural content generationVDP2016 - Lecture 14 Procedural content generation
VDP2016 - Lecture 14 Procedural content generation
 
Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014
Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014
Introduction to Procedural Content Generation - Codemotion 29 Novembre 2014
 
VDP2016 - Lecture 13 Data driven game design
VDP2016 - Lecture 13 Data driven game designVDP2016 - Lecture 13 Data driven game design
VDP2016 - Lecture 13 Data driven game design
 
Introduction to AI in computer games
Introduction to AI in computer gamesIntroduction to AI in computer games
Introduction to AI in computer games
 
DigitalCreationLita
DigitalCreationLitaDigitalCreationLita
DigitalCreationLita
 
Artificial intelligence in gaming.
Artificial intelligence in gaming.Artificial intelligence in gaming.
Artificial intelligence in gaming.
 
Junk Master Series : AltDevConf 2012
Junk Master Series : AltDevConf 2012Junk Master Series : AltDevConf 2012
Junk Master Series : AltDevConf 2012
 
Understanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha LatyshevaUnderstanding and improving games through machine learning - Natasha Latysheva
Understanding and improving games through machine learning - Natasha Latysheva
 
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
Procedural Processes - Lessons Learnt from Automated Content Generation in "E...
 
Raspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker MovementRaspberry Pi, Arduino and the Maker Movement
Raspberry Pi, Arduino and the Maker Movement
 
Tooling for the JavaScript Era
Tooling for the JavaScript EraTooling for the JavaScript Era
Tooling for the JavaScript Era
 
Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018Data Driven Game Design @ Campus Party 2018
Data Driven Game Design @ Campus Party 2018
 
Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...
Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...
Computer-Vision based Centralized Multi-agent System on Matlab and Arduino Du...
 
Ticketmaster Network Telemtery
Ticketmaster Network Telemtery Ticketmaster Network Telemtery
Ticketmaster Network Telemtery
 
Lego mindstorms
Lego mindstormsLego mindstorms
Lego mindstorms
 
Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014
 
Graph-Tool in Practice
Graph-Tool in PracticeGraph-Tool in Practice
Graph-Tool in Practice
 
Assessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingAssessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic Sketching
 
What's up about Plasma-MID?
What's up about Plasma-MID?What's up about Plasma-MID?
What's up about Plasma-MID?
 
Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill) Developing Next-Generation Games with Stage3D (Molehill)
Developing Next-Generation Games with Stage3D (Molehill)
 

More from Pier Luca Lanzi

11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi
Pier Luca Lanzi
 
Breve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiBreve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei Videogiochi
Pier Luca Lanzi
 
Global Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning WelcomeGlobal Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning Welcome
Pier Luca Lanzi
 
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
Pier Luca Lanzi
 
GGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di aperturaGGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di apertura
Pier Luca Lanzi
 
Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018
Pier Luca Lanzi
 
DMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationDMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparation
Pier Luca Lanzi
 
DMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationDMTM Lecture 19 Data exploration
DMTM Lecture 19 Data exploration
Pier Luca Lanzi
 
DMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningDMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph mining
Pier Luca Lanzi
 
DMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningDMTM Lecture 17 Text mining
DMTM Lecture 17 Text mining
Pier Luca Lanzi
 
DMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesDMTM Lecture 16 Association rules
DMTM Lecture 16 Association rules
Pier Luca Lanzi
 
DMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationDMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluation
Pier Luca Lanzi
 
DMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringDMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clustering
Pier Luca Lanzi
 
DMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringDMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clustering
Pier Luca Lanzi
 
DMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringDMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clustering
Pier Luca Lanzi
 
DMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringDMTM Lecture 11 Clustering
DMTM Lecture 11 Clustering
Pier Luca Lanzi
 
DMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesDMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensembles
Pier Luca Lanzi
 
DMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsDMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethods
Pier Luca Lanzi
 
DMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesDMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rules
Pier Luca Lanzi
 
DMTM Lecture 07 Decision trees
DMTM Lecture 07 Decision treesDMTM Lecture 07 Decision trees
DMTM Lecture 07 Decision trees
Pier Luca Lanzi
 

More from Pier Luca Lanzi (20)

11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi11 Settembre 2021 - Giocare con i Videogiochi
11 Settembre 2021 - Giocare con i Videogiochi
 
Breve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiBreve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei Videogiochi
 
Global Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning WelcomeGlobal Game Jam 19 @ POLIMI - Morning Welcome
Global Game Jam 19 @ POLIMI - Morning Welcome
 
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
GGJ18 al Politecnico di Milano - Presentazione che precede la presentazione d...
 
GGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di aperturaGGJ18 al Politecnico di Milano - Presentazione di apertura
GGJ18 al Politecnico di Milano - Presentazione di apertura
 
Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018Presentation for UNITECH event - January 8, 2018
Presentation for UNITECH event - January 8, 2018
 
DMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationDMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparation
 
DMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationDMTM Lecture 19 Data exploration
DMTM Lecture 19 Data exploration
 
DMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningDMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph mining
 
DMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningDMTM Lecture 17 Text mining
DMTM Lecture 17 Text mining
 
DMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesDMTM Lecture 16 Association rules
DMTM Lecture 16 Association rules
 
DMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationDMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluation
 
DMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringDMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clustering
 
DMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringDMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clustering
 
DMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringDMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clustering
 
DMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringDMTM Lecture 11 Clustering
DMTM Lecture 11 Clustering
 
DMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesDMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensembles
 
DMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsDMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethods
 
DMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesDMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rules
 
DMTM Lecture 07 Decision trees
DMTM Lecture 07 Decision treesDMTM Lecture 07 Decision trees
DMTM Lecture 07 Decision trees
 

Recently uploaded

MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
goswamiyash170123
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
Peter Windle
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
kimdan468
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
Levi Shapiro
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
Wasim Ak
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Thiyagu K
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
SACHIN R KONDAGURI
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
Celine George
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
DeeptiGupta154
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
The Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptxThe Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptx
DhatriParmar
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
EverAndrsGuerraGuerr
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
Celine George
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 

Recently uploaded (20)

MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
A Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in EducationA Strategic Approach: GenAI in Education
A Strategic Approach: GenAI in Education
 
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBCSTRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
STRAND 3 HYGIENIC PRACTICES.pptx GRADE 7 CBC
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
June 3, 2024 Anti-Semitism Letter Sent to MIT President Kornbluth and MIT Cor...
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
 
Unit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdfUnit 2- Research Aptitude (UGC NET Paper I).pdf
Unit 2- Research Aptitude (UGC NET Paper I).pdf
 
"Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe..."Protectable subject matters, Protection in biotechnology, Protection of othe...
"Protectable subject matters, Protection in biotechnology, Protection of othe...
 
How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17How to Make a Field invisible in Odoo 17
How to Make a Field invisible in Odoo 17
 
Overview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with MechanismOverview on Edible Vaccine: Pros & Cons with Mechanism
Overview on Edible Vaccine: Pros & Cons with Mechanism
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
The Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptxThe Diamond Necklace by Guy De Maupassant.pptx
The Diamond Necklace by Guy De Maupassant.pptx
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
Thesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.pptThesis Statement for students diagnonsed withADHD.ppt
Thesis Statement for students diagnonsed withADHD.ppt
 
Model Attribute Check Company Auto Property
Model Attribute  Check Company Auto PropertyModel Attribute  Check Company Auto Property
Model Attribute Check Company Auto Property
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 

Procedural Content Generation

  • 1. Pier Luca Lanzi Procedural Content Generation Pier Luca Lanzi, Daniele Loiacono, Michele Pirovano
  • 2. Pier Luca Lanzi What is Procedural Content Generation? Procedural Generation with no or limited human intervention, algorithmically of Content of “things that affect the gameplay”, not non-player character behavior, not the game engine
  • 3. Pier Luca Lanzi so what exactly is procedurally generated? levels, tracks, maps, terrains, dungeons, puzzles, buildings, trees, grass, fire, plots, descriptions, scenarios, dialogues, quests, characters, rules, boards, parameters, camera viewpoint, dynamics, weapons, clothing, vehicles, personalities, etc.
  • 6. Pier Luca Lanzi BBC Micro – 2 MHz MOS Technology 6502/6512 16-128 kB RAM 32-128 kB ROM
  • 10. Pier Luca Lanzi What the ingredients? domain knowledge artificial intelligence structured randomness multi-layering filters, limits & restrictions specialized algorithms gameplay integration
  • 11. Pier Luca Lanzi Ingredients #1 & #2 Domain Knowledge & Artificial Intelligence •  Domain Knowledge § To generate something you need to know it § PCG typically aims at building an artificial level designer, usually needs domain knowledge about level design •  Artificial Intelligence § Need algorithms that can work on complex knowledge and generate plausible content § Search-based methods, L-systems, evolutionary computation, fractals, cellular automata, agent-based methods, planning, etc. 11
  • 13. Pier Luca Lanzi ingredient #3 structured randomness things look like they have been randomly generated but it is not completely at random!
  • 16. Pier Luca Lanzi they both look like “noise” but one of them feels like it has structure… it is structured randomness
  • 18. Pier Luca Lanzi Example: Building Mario Levels •  Library of chuncks. •  Irregular in size. •  Mixed purpose: § Mainly geometry. § Mainly gameplay. •  Anchor points (Mario) 18
  • 19. Pier Luca Lanzi Algorithm •  Chunk Filtering § Some chunks just don‘t match the current level. •  Chunk Selection § Various metrics, randomness and designer settings. •  Chunk Insertion § Remove overlapping components. •  Post-Processing § Cosmetic and gameplay adjustments. 19
  • 20. Pier Luca Lanzi Infinite Mario Level 20
  • 21. Pier Luca Lanzi Map & Cave Generators •  Cave generators typically are based on Cellular Automata •  Map generators typically an approach § Tile-Based § Digger § Uniform 21
  • 22. Pier Luca Lanzi Tile-Based Map Generation •  Simple to implement •  Requires rich tileset or it can easily lead to repetitions 22
  • 23. Pier Luca Lanzi Uniform Map Generators •  Two steps § First create rooms based on a high level grid § Next, create the corridors to connect the rooms •  Rather simple to implement •  Limited topology by the room shape and the grid 23 Rogue (1980)
  • 24. Pier Luca Lanzi Digger Generators •  Simulates the behavior of a mole that digs its den •  Generates maps that have a tree like structure 24
  • 25. Pier Luca Lanzi ingredient #4 multi-layering typically more layers of procedural content generation are applied in sequence
  • 26. Pier Luca Lanzi •  Warzone 2100 § Heights & Cliffs § Roads § Textures § Player Bases § Local Features •  Civilization 4 § Fractal Heightfield § Plate Tectonics § Tile Types § Rivers and Lakes § Map Bonuses
  • 27. Pier Luca Lanzi ingredient #5 Filters, Limits & Restrictions “In Civ3 I would say we even shipped with a sub-standard resource placement algorithm where all the iron could be concentrated in just a few small locations on the map, and for one player there may be literally no way for them to build swordsmen.” – Soren Johnson "With Civ4 we instituted randomness with limitations. There always has to be a minimum distance between each element of iron, or each element of horses, and that completely solved the problem.” – Soren Johnson
  • 28. Pier Luca Lanzi ingredient #6 specialized algorithms placing special items, requires special tricks this tricks must be encoded in the PCG
  • 29. Pier Luca Lanzi 1.  Connect all bases, the resources, pick three random points and connect them 2.  Apply a customize A* heuristic and reuse roads! 3.  Customize A* heuristic with randomize cost of non-road grid cells.
  • 30. Pier Luca Lanzi ingredient #7 gameplay integration Is it fun to play? Is the progression adequate?
  • 32. Pier Luca Lanzi is this all there is?
  • 33. Pier Luca Lanzi PCG Is it done online? Or offline? Is it necessary content? Or optional? Do you use random seeds or parameter vectors? Is it stochastic? Or deterministic? Generate and test? Constructive?
  • 34. Pier Luca Lanzi Domain Knowledge •  To build an artificial intelligence, you typically need a lot of domain knowleddge •  When using PCG you‘re building an artificial level designer, so you usually need domain knowledge about level design •  So you‘ll probably need a real level designer and people who have some experience •  When you build a particular level you don‘t need to understand the general concepts behind the game mechanics as much as when you do it procedurally •  When you go procedurally, you have to understand all the space of options you are creating and understand how your game mechanics tie in with the level •  Provide ways to customize your algorithms and tools for controlling and visualizing the result 34
  • 35. Pier Luca Lanzi Inputs & Senses •  Procedural generation algorithms work on different sets of inputs and actions (when compared to traditional AI) •  Examples of Inputs § Line of Sight § Point Distance (A*, Dijkstra) § Obstacles & Clearance § Height •  Examples of Actions § Place resources § Layout buildings § Create roads/rivers § Adjust terrain 35
  • 37. Pier Luca Lanzi Level Generator #1 37
  • 38. Pier Luca Lanzi Human Designed Levels 38
  • 41. Pier Luca Lanzi Step 6. Walls & Doors 41
  • 42. Pier Luca Lanzi Step 7. Windows & More Doors 42
  • 43. Pier Luca Lanzi Step 8. Box Cover 43
  • 48. Pier Luca Lanzi No Man’s Sky from nucl.ai conference
  • 49. Pier Luca Lanzi Philosophy •  Artist directed •  Procedural generation is irrelevant to end user •  Motivation § Game world scale § Output from small team § Unexpected outputs § Individual experiences •  Engine agnostic to content origin •  Mix of general and specific techniques 49
  • 51. Pier Luca Lanzi Region Creation Process 1. Generation 2. Polygonisation 3. Spherification 4. Physics construction 5. AI knowledge construction 6. Decoration 51
  • 52. Pier Luca Lanzi Generation Requirements •  Directable and consistent •  Real-time •  Varied •  Real world and abstract shapes •  Easy to modify and add to •  Data local 52
  • 53. Pier Luca Lanzi Perlin/Simplex Noise •  Well known techniques § Widely applicable § Scalable § Repetitive § Insufficient •  Modified version § Perlin worms § Noise with a threshold § Paths, caves, lines 53
  • 54. Pier Luca Lanzi Structured Shapes •  Cellular noise patterns •  Worley/Voronoi Noise •  Pickpoints •  Calculate min distances •  Cliffs, paths, regions... 54
  • 55. Pier Luca Lanzi Mathematical Solids •  Gielis, Johan (2003), "A generic geometric transformation that unifies a wide range of natural and abstract shapes", American Journal of Botany •  Natural looking shape additions 55
  • 56. Pier Luca Lanzi Map Generation in In Verbis Virtus (Mattia Ferrari) 56
  • 57. Pier Luca Lanzi Map Generation for In Verbis Virtus • Requirements § Control over the complexity of the generated maps § Continuous representation § Avoid decors overlaps •  Combination of diggers and uniform approaches •  Map elements from human designed levels § Walls § Doors § Decors 57
  • 58. Pier Luca Lanzi Step 1: Growth •  Similar to the digger approach •  Builds a map structured as a tree •  Growth is controlled by a set of parameters, including, § Type of elements § Number of rooms § Number of branches § Available area 58
  • 59. Pier Luca Lanzi Step 2 & 3: Additional Corridors and Deadline Elimination •  Additional Corridors § Similar to uniform generators § Based on the required percentage of connections to create § Distance between areas •  Deadline Elimination § Based on the percentage of dead ends to eliminate 59
  • 60. Pier Luca Lanzi Map Evaluation •  Given a map we needed to compute several statistics to filter the most interesting ones •  Maps are encoded as graphs •  Compute several metrics § Max distance among rooms § Reachability § Flow § … 60
  • 61. Pier Luca Lanzi Some Findings •  75% or more additional connections increase the complexity of the map without improving complica le mappe senza migliorare la raggiungibilità •  The generator is robust with respect to the room shape •  By eliminating the start room, we can reduce the reachability over the entire map
  • 64. Pier Luca Lanzi we can do it, so can you!