SlideShare ist ein Scribd-Unternehmen logo
1 von 32
Introduction to Procedural 
Content Generation 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
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 e Michele Pirovano – Codemotion Milan 
November 2014
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 Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
http://en.wikipedia.org/wiki/Rogue_(video_game)#mediaviewer/File:Rogue_Screen_Shot 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014 
_CAR.PNG
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
BBC Micro – 2 MHz MOS Technology 6502/6512 
16-128 kB RAM 32-128 kB ROM 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
https://www.youtube.com/watch?v=ISR4ebdGlOk 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
What the ingredients? 
domain knowledge 
artificial intelligence 
structured randomness 
multi-layering 
filters, limits & restrictions 
specialized algorithms 
gameplay integration 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Ingredients #1 & #2 
Domain Knowledge & Artificial 
Intelligence • Domain Knowledge 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014 
 
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 e Michele Pirovano – Codemotion Milan 
November 2014
ingredient #3 
structured randomness 
things look like they have been randomly 
generated but it is not completely at 
random! 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
f(x) = sin(x) 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
they both look like “noise” 
but one of them feels like it has structure… 
it is structured randomness 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
ingredient #4 
multi-layering 
typically more layers of procedural 
content generation are applied in sequence 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014 
• Warzone 2100 
 
Heights & 
Cliffs 
 
Roads 
 
Textures 
 
Player Bases 
 
Local 
Features 
• Civilization 4 
 
Fractal 
Heightfield 
 
Plate Tectonics 
 
Tile Types 
 
Rivers and Lakes 
 
Map Bonuses
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 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
element of 
November 2014
ingredient #6 
specialized algorithms 
placing special items, requires special 
tricks 
this tricks must be encoded in the PCG 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014 
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.
ingredient #7 
gameplay integration 
Is it fun to play? Is the progression 
adequate? 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
is this all there is? 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
PC 
G 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014 
Is it done online? 
Or offline? 
Is it necessary 
content? Or 
optional? 
Do you use random 
seeds or parameter 
vectors? 
Generate and test? 
Is it stochastic? 
Or deterministic? 
Constructive?
we can do it, so can you! 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
http://trackgen.pierlucalanzi.net 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
http://www.youtube.com/watch?v=uIUYWzdMXog 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
http://www.michelepirovano.com/portfolio_swordgenerator.php 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
http://www.michelepirovano.com/portfolio_swordgenerator.php 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014
http://www.polimigamecollective.org 
http://www.facebook.com/polimigamecollective 
http://www.youtube.com/PierLucaLanzi 
Pier Luca Lanzi e Michele Pirovano – Codemotion Milan 
November 2014

Weitere ähnliche Inhalte

Mehr von Codemotion

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Codemotion
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyCodemotion
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaCodemotion
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserCodemotion
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Codemotion
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Codemotion
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Codemotion
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 - Codemotion
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Codemotion
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Codemotion
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Codemotion
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Codemotion
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Codemotion
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Codemotion
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Codemotion
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...Codemotion
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Codemotion
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Codemotion
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Codemotion
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Codemotion
 

Mehr von Codemotion (20)

Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
Fuzz-testing: A hacker's approach to making your code more secure | Pascal Ze...
 
Pompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending storyPompili - From hero to_zero: The FatalNoise neverending story
Pompili - From hero to_zero: The FatalNoise neverending story
 
Pastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storiaPastore - Commodore 65 - La storia
Pastore - Commodore 65 - La storia
 
Pennisi - Essere Richard Altwasser
Pennisi - Essere Richard AltwasserPennisi - Essere Richard Altwasser
Pennisi - Essere Richard Altwasser
 
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
Michel Schudel - Let's build a blockchain... in 40 minutes! - Codemotion Amst...
 
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
Richard Süselbeck - Building your own ride share app - Codemotion Amsterdam 2019
 
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
Eward Driehuis - What we learned from 20.000 attacks - Codemotion Amsterdam 2019
 
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 - Francesco Baldassarri  - Deliver Data at Scale - Codemotion Amsterdam 2019 -
Francesco Baldassarri - Deliver Data at Scale - Codemotion Amsterdam 2019 -
 
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
Martin Förtsch, Thomas Endres - Stereoscopic Style Transfer AI - Codemotion A...
 
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
Melanie Rieback, Klaus Kursawe - Blockchain Security: Melting the "Silver Bul...
 
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
Angelo van der Sijpt - How well do you know your network stack? - Codemotion ...
 
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
Lars Wolff - Performance Testing for DevOps in the Cloud - Codemotion Amsterd...
 
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
Sascha Wolter - Conversational AI Demystified - Codemotion Amsterdam 2019
 
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
Michele Tonutti - Scaling is caring - Codemotion Amsterdam 2019
 
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
Pat Hermens - From 100 to 1,000+ deployments a day - Codemotion Amsterdam 2019
 
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
James Birnie - Using Many Worlds of Compute Power with Quantum - Codemotion A...
 
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
Don Goodman-Wilson - Chinese food, motor scooters, and open source developmen...
 
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
Pieter Omvlee - The story behind Sketch - Codemotion Amsterdam 2019
 
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
Dave Farley - Taking Back “Software Engineering” - Codemotion Amsterdam 2019
 
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
Joshua Hoffman - Should the CTO be Coding? - Codemotion Amsterdam 2019
 

Kürzlich hochgeladen

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Kürzlich hochgeladen (20)

Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

An Introduction to Procedural Content Generation

  • 1. Introduction to Procedural Content Generation Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 2. 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 e Michele Pirovano – Codemotion Milan November 2014
  • 3. 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 Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 4. http://en.wikipedia.org/wiki/Rogue_(video_game)#mediaviewer/File:Rogue_Screen_Shot Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014 _CAR.PNG
  • 5. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 6. BBC Micro – 2 MHz MOS Technology 6502/6512 16-128 kB RAM 32-128 kB ROM Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 7. https://www.youtube.com/watch?v=ISR4ebdGlOk Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 8. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 9. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 10. What the ingredients? domain knowledge artificial intelligence structured randomness multi-layering filters, limits & restrictions specialized algorithms gameplay integration Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 11. Ingredients #1 & #2 Domain Knowledge & Artificial Intelligence • Domain Knowledge Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014  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
  • 12. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 13. ingredient #3 structured randomness things look like they have been randomly generated but it is not completely at random! Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 14. f(x) = sin(x) Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 15. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 16. they both look like “noise” but one of them feels like it has structure… it is structured randomness Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 17. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 18. ingredient #4 multi-layering typically more layers of procedural content generation are applied in sequence Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 19. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014 • Warzone 2100  Heights & Cliffs  Roads  Textures  Player Bases  Local Features • Civilization 4  Fractal Heightfield  Plate Tectonics  Tile Types  Rivers and Lakes  Map Bonuses
  • 20. 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 Pier Luca Lanzi e Michele Pirovano – Codemotion Milan element of November 2014
  • 21. ingredient #6 specialized algorithms placing special items, requires special tricks this tricks must be encoded in the PCG Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 22. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014 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.
  • 23. ingredient #7 gameplay integration Is it fun to play? Is the progression adequate? Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 24. Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 25. is this all there is? Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 26. PC G Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014 Is it done online? Or offline? Is it necessary content? Or optional? Do you use random seeds or parameter vectors? Generate and test? Is it stochastic? Or deterministic? Constructive?
  • 27. we can do it, so can you! Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 28. http://trackgen.pierlucalanzi.net Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 29. http://www.youtube.com/watch?v=uIUYWzdMXog Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 30. http://www.michelepirovano.com/portfolio_swordgenerator.php Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014
  • 31. http://www.michelepirovano.com/portfolio_swordgenerator.php Pier Luca Lanzi e Michele Pirovano – Codemotion Milan November 2014