SlideShare ist ein Scribd-Unternehmen logo
1 von 69
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
UnityプロファイラについてMio Ku-tani
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVCTakashi Komada
 
Viveはじめました
ViveはじめましたViveはじめました
ViveはじめましたKojiro Yano
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはKatsutoshi Makino
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTaskEuglenaching
 
Game Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationGame Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationNick Pruehs
 
デスクトップ アプリがこの先生きのこるには
デスクトップ アプリがこの先生きのこるにはデスクトップ アプリがこの先生きのこるには
デスクトップ アプリがこの先生きのこるにはManato KAMEYA
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステムSEGADevTech
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについてPhoton運営事務局
 
Making a Game Design Document
Making a Game Design DocumentMaking a Game Design Document
Making a Game Design DocumentEqual Experts
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話torisoup
 
【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門
【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門
【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門Unity Technologies Japan K.K.
 
Game Balance 1: What is Game Balance
Game Balance 1: What is Game BalanceGame Balance 1: What is Game Balance
Game Balance 1: What is Game BalanceMarc Miquel
 
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...Gerke Max Preussner
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングSho Hosoda
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
Introduce Game Testing And QA
Introduce Game Testing And QAIntroduce Game Testing And QA
Introduce Game Testing And QAPham Anh Tuan
 

Was ist angesagt? (20)

Unityプロファイラについて
UnityプロファイラについてUnityプロファイラについて
Unityプロファイラについて
 
ゲーム開発とMVC
ゲーム開発とMVCゲーム開発とMVC
ゲーム開発とMVC
 
Viveはじめました
ViveはじめましたViveはじめました
Viveはじめました
 
Game Design Process
Game Design ProcessGame Design Process
Game Design Process
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask脱UniRx&Croutineから始めるUniTask
脱UniRx&Croutineから始めるUniTask
 
Phases of game development
Phases of game developmentPhases of game development
Phases of game development
 
Game Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content GenerationGame Programming 07 - Procedural Content Generation
Game Programming 07 - Procedural Content Generation
 
デスクトップ アプリがこの先生きのこるには
デスクトップ アプリがこの先生きのこるにはデスクトップ アプリがこの先生きのこるには
デスクトップ アプリがこの先生きのこるには
 
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
「龍が如くスタジオ」のQAエンジニアリング技術を結集した全自動バグ取りシステム
 
Unity2018/2019における最適化事情
Unity2018/2019における最適化事情Unity2018/2019における最適化事情
Unity2018/2019における最適化事情
 
200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて200人での対戦も可能!?Photon 新SDKについて
200人での対戦も可能!?Photon 新SDKについて
 
Making a Game Design Document
Making a Game Design DocumentMaking a Game Design Document
Making a Game Design Document
 
Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話Unityでオンラインゲーム作った話
Unityでオンラインゲーム作った話
 
【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門
【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門
【Unity道場 4月 ~アーティストの為のPBR再入門~】アーティストの為のPBR再入門
 
Game Balance 1: What is Game Balance
Game Balance 1: What is Game BalanceGame Balance 1: What is Game Balance
Game Balance 1: What is Game Balance
 
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
GDC Europe 2014: Unreal Engine 4 for Programmers - Lessons Learned & Things t...
 
シェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチングシェーダだけで世界を創る!three.jsによるレイマーチング
シェーダだけで世界を創る!three.jsによるレイマーチング
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
Introduce Game Testing And QA
Introduce Game Testing And QAIntroduce Game Testing And QA
Introduce Game Testing And QA
 

Andere mochten auch

Procedural Content Generation with Unity
Procedural Content Generation with UnityProcedural Content Generation with Unity
Procedural Content Generation with UnityPier Luca Lanzi
 
Focus Junior - 14 Maggio 2016
Focus Junior - 14 Maggio 2016Focus Junior - 14 Maggio 2016
Focus Junior - 14 Maggio 2016Pier Luca Lanzi
 
Designing Puzzles for Video Games
Designing Puzzles for Video GamesDesigning Puzzles for Video Games
Designing Puzzles for Video GamesPier Luca Lanzi
 
Transparency in Game Mechanics
Transparency in Game MechanicsTransparency in Game Mechanics
Transparency in Game MechanicsPier Luca Lanzi
 
Codemotion Milan - November 21 2015
Codemotion Milan - November 21 2015Codemotion Milan - November 21 2015
Codemotion Milan - November 21 2015Pier 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 - FunPier Luca Lanzi
 
Elements for the Theory of Fun
Elements for the Theory of FunElements for the Theory of Fun
Elements for the Theory of FunPier Luca Lanzi
 
Idea Generation and Conceptualization
Idea Generation and ConceptualizationIdea Generation and Conceptualization
Idea Generation and ConceptualizationPier Luca Lanzi
 
DMTM 2015 - 12 Classification Rules
DMTM 2015 - 12 Classification RulesDMTM 2015 - 12 Classification Rules
DMTM 2015 - 12 Classification RulesPier 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 MethodsPier 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 RulesPier 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 APier 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 designPier 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 corsoPier Luca Lanzi
 
Introduzione alla realizzazione di videogiochi - Meccaniche
Introduzione alla realizzazione di videogiochi - MeccanicheIntroduzione alla realizzazione di videogiochi - Meccaniche
Introduzione alla realizzazione di videogiochi - MeccanichePier Luca Lanzi
 
Introduzione alla realizzazione di videogiochi - Game Engine
Introduzione alla realizzazione di videogiochi - Game EngineIntroduzione alla realizzazione di videogiochi - Game Engine
Introduzione alla realizzazione di videogiochi - Game EnginePier Luca Lanzi
 

Andere mochten auch (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
 
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
 
Introduzione alla realizzazione di videogiochi - Game Engine
Introduzione alla realizzazione di videogiochi - Game EngineIntroduzione alla realizzazione di videogiochi - Game Engine
Introduzione alla realizzazione di videogiochi - Game Engine
 

Ähnlich wie 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 generationPier 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 2014Pier 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 designPier Luca Lanzi
 
Introduction to AI in computer games
Introduction to AI in computer gamesIntroduction to AI in computer games
Introduction to AI in computer gamesHojjat Jafary
 
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 2012Wasin 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 LatyshevaLauren 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 Movementsrmonk
 
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 2018Pier 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
 
Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Sullivan randomness-infiltrate 2014
Sullivan randomness-infiltrate 2014Cloudflare
 
Graph-Tool in Practice
Graph-Tool in PracticeGraph-Tool in Practice
Graph-Tool in PracticeMosky Liu
 
Assessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingAssessing Lag Perception in Electronic Sketching
Assessing Lag Perception in Electronic SketchingJean 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
 

Ähnlich wie 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)
 

Mehr von 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 VideogiochiPier Luca Lanzi
 
Breve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiBreve Viaggio al Centro dei Videogiochi
Breve Viaggio al Centro dei VideogiochiPier 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 WelcomePier 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 aperturaPier 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, 2018Pier Luca Lanzi
 
DMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationDMTM Lecture 20 Data preparation
DMTM Lecture 20 Data preparationPier Luca Lanzi
 
DMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationDMTM Lecture 19 Data exploration
DMTM Lecture 19 Data explorationPier Luca Lanzi
 
DMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningDMTM Lecture 18 Graph mining
DMTM Lecture 18 Graph miningPier Luca Lanzi
 
DMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningDMTM Lecture 17 Text mining
DMTM Lecture 17 Text miningPier Luca Lanzi
 
DMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesDMTM Lecture 16 Association rules
DMTM Lecture 16 Association rulesPier Luca Lanzi
 
DMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationDMTM Lecture 15 Clustering evaluation
DMTM Lecture 15 Clustering evaluationPier Luca Lanzi
 
DMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringDMTM Lecture 14 Density based clustering
DMTM Lecture 14 Density based clusteringPier Luca Lanzi
 
DMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringDMTM Lecture 13 Representative based clustering
DMTM Lecture 13 Representative based clusteringPier Luca Lanzi
 
DMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringDMTM Lecture 12 Hierarchical clustering
DMTM Lecture 12 Hierarchical clusteringPier Luca Lanzi
 
DMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringDMTM Lecture 11 Clustering
DMTM Lecture 11 ClusteringPier Luca Lanzi
 
DMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesDMTM Lecture 10 Classification ensembles
DMTM Lecture 10 Classification ensemblesPier Luca Lanzi
 
DMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsDMTM Lecture 09 Other classificationmethods
DMTM Lecture 09 Other classificationmethodsPier Luca Lanzi
 
DMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesDMTM Lecture 08 Classification rules
DMTM Lecture 08 Classification rulesPier Luca Lanzi
 
DMTM Lecture 07 Decision trees
DMTM Lecture 07 Decision treesDMTM Lecture 07 Decision trees
DMTM Lecture 07 Decision treesPier Luca Lanzi
 

Mehr von 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
 

Kürzlich hochgeladen

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxAreebaZafar22
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxUmeshTimilsina1
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.pptRamjanShidvankar
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024Elizabeth Walsh
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxPooja Bhuva
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxRamakrishna Reddy Bijjam
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...Nguyen Thanh Tu Collection
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfagholdier
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...Poonam Aher Patil
 

Kürzlich hochgeladen (20)

ICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptxICT Role in 21st Century Education & its Challenges.pptx
ICT Role in 21st Century Education & its Challenges.pptx
 
Plant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptxPlant propagation: Sexual and Asexual propapagation.pptx
Plant propagation: Sexual and Asexual propapagation.pptx
 
Application orientated numerical on hev.ppt
Application orientated numerical on hev.pptApplication orientated numerical on hev.ppt
Application orientated numerical on hev.ppt
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptxExploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
Exploring_the_Narrative_Style_of_Amitav_Ghoshs_Gun_Island.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
80 ĐỀ THI THỬ TUYỂN SINH TIẾNG ANH VÀO 10 SỞ GD – ĐT THÀNH PHỐ HỒ CHÍ MINH NĂ...
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 

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!