SlideShare uma empresa Scribd logo
1 de 15
Baixar para ler offline
Innovation and Professional Development 
Project Pitch 
Answer Set Programming 
for Procedural Content Generation 
by Andrea Tucci 
@andreatux
Outline 
➔ Procedural Content Generation 
➔ Answer Set Programming 
◆ the HEX programs 
➔ Goals
Procedural Content Generation 
➔ Procedural Content Generation (PCG) is an “algorithmical creation of game 
content with limited or indirect user input”[1] 
◆ levels, maps, music, quests, story … 
➔ Software that, given some “rules”, is able to create new game elements 
➔ Offers new ways of playing the game; new player experiences 
[1] J.Togelius, E.Kastbjerg, D.Schedl, G. N. Yannakakis: What is Procedural Content Generation?Mario on the borderline (2011)
Procedural Content Generation 
➔ Why? 
◆ new content 
◆ efficency 
◆ no designers… 
● ...really? I like to think of PCG as a “tool” for designers 
◆ automated procedure 
◆ great for small teams 
◆ experiments 
◆ player-based content (data mining)
Procedural Content Generation 
➔ Examples
Procedural Content Generation 
➔ Planet Generator: 
http://experilous.com/1/planet-generator/2014-09-28/version- 
1
Answer Set Programming 
➔ Declarative problem solving approach 
◆ roots in logic programming 
➔ Write the description of the problem rather than how to solve it 
◆ set of rules 
◆ a rule can that is evaluated to be true, will fire 
➔ Solution(s) to the problem, if exists, will be represented as sets of 
answer
Answer Set Programming 
Classic example: Sudoku 
➔ Encode a cell with the predicate cell(X,Y,N) 
◆ X,Y are the coordinates of the cell 
◆ N is the number contained
Answer Set Programming 
➔ Make a “guess” of what number can be in a cell 
◆ cell(X,Y,1) v cell(X,Y,2) v cell (X,Y,3) v … v cell(X,Y,9) :- row(X), column(Y) 
➔ Discard unwanted combinations 
◆ Do not put the same number, given a row 
● :- cell(X,Y,N), cell (X,Y1,N), Y1!=Y 
◆ Do not put the same number, given a column 
● :- cell(X,Y,N), cell(X1,Y,N), X!=X1 
◆ Do not put the same number in a block 
● :- cell(X,Y,N), cell(X1,Y1,N), sameBlock(X,Y,X1,Y1) 
➔ Answer in this form: {cell(0,0,3), cell(0,1,8) … }
The Hex Programs 
➔ Support external knowledge 
◆ it is possible to make reasoning outside the logic program 
➔ Call a c++ function 
◆ &firstbelow[P,objs](O) 
● in AngryHex, ASP-based Angry Birds bot, returns the object O 
which is directly below P, given the objects objs 
➔ ACTHEX extension 
◆ rules that, when fired, call an external action that is able to change the 
environment
Goals and Objectives 
➔ Research on Procedural Content Generation algorithms and techniques 
◆ focusing on map/planet generation 
➔ Research on Answer Set Programming application on PCG 
◆ how can ASP be applied to PCG? 
◆ how HEX and ACTHEX extension can be useful for this goal? 
➔ Use ASP to procedurally generate game maps 
◆ decouple logic from actions 
◆ represent levels in structured files 
➔ Map Visualization 
➔ Experiments 
◆ directly create levels when rules fire 
◆ real-time content generation(?)
Goals - rough idea
Readings and References.. so far 
● J.Togelius, E.Kastbjerg, D.Schedl, G. N. Yannakakis: What is Procedural Content Generation? 
Mario on the borderline (2011) 
● Shaker, Noor and Togelius, Julian and Nelson, Mark J. : Procedural Content Generation in 
Games: A Textbook and an Overview of Current Research 
● Procedural Content Generation Wiki: http://pcg.wikidot.com/ 
● T.Eiter,G.Ianni and T.Krennwallner: Answer Set Programming: A Primer 
● F.Calimeri, M. Fink, S. Germano, A. Humenberger, G. Ianni, C. Redl, D. Stepanova, A. Tucci : 
AngryHEX: an Artificial Player for Angry Birds Based on Declarative Knowledge Bases
Games Reference 
From the top left pic, from left to right: 
● Elite, Acornsoft 1984 
● Rescue on Fractalus, Activision 1984 
● Minecraft, Mojang 2009 
● Diablo 2, Blizzard 2000 
● The Binding of Isaac, E.McMillen, F. Himsl 2011 
● No Men’s Sky, Hello Games 2015 (expected) 
I
Questions?

Mais conteúdo relacionado

Semelhante a Project Pitch: Answer Set Programming for Procedural Content Generation

Keynote at the 2018 SIGGRAPH Conference on Motion, Interaction and Games
Keynote at the 2018 SIGGRAPH Conference on Motion, Interaction and GamesKeynote at the 2018 SIGGRAPH Conference on Motion, Interaction and Games
Keynote at the 2018 SIGGRAPH Conference on Motion, Interaction and GamesRogelio E. Cardona-Rivera
 
An Incomplete Introduction to Artificial Intelligence
An Incomplete Introduction to Artificial IntelligenceAn Incomplete Introduction to Artificial Intelligence
An Incomplete Introduction to Artificial IntelligenceSteven Beeckman
 
A General Overview of Machine Learning
A General Overview of Machine LearningA General Overview of Machine Learning
A General Overview of Machine LearningAshish Sharma
 
The idea of projectour project is about creating a intell.docx
The idea of projectour project is about creating a intell.docxThe idea of projectour project is about creating a intell.docx
The idea of projectour project is about creating a intell.docxcherry686017
 
Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...
Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...
Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...Tu Nguyen
 
Csise15 codehunt
Csise15 codehuntCsise15 codehunt
Csise15 codehuntTao Xie
 
Algorithms for Computer Games - lecture slides 2009
Algorithms for Computer Games - lecture slides 2009Algorithms for Computer Games - lecture slides 2009
Algorithms for Computer Games - lecture slides 2009Jouni Smed
 
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeMatching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeCUbRIK Project
 
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeMatching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeLuca Galli
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSung Kim
 
Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingTao Xie
 
Declarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere MortalsDeclarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere MortalsBertram Ludäscher
 
Academy Software Foundation on MaterialX | SIGGRAPH 2021
Academy Software Foundation on MaterialX | SIGGRAPH 2021 Academy Software Foundation on MaterialX | SIGGRAPH 2021
Academy Software Foundation on MaterialX | SIGGRAPH 2021 Alejandro Franceschi
 
TOG: An Innovation Centric Approach to teaching Computational Expression and ...
TOG: An Innovation Centric Approach to teaching Computational Expression and ...TOG: An Innovation Centric Approach to teaching Computational Expression and ...
TOG: An Innovation Centric Approach to teaching Computational Expression and ...Mirjam Eladhari
 
Learning to Rank with Neural Networks
Learning to Rank with Neural NetworksLearning to Rank with Neural Networks
Learning to Rank with Neural NetworksBhaskar Mitra
 
19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexity19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexityIntro C# Book
 
The intelligent game designer: Game design as a new domain for automated disc...
The intelligent game designer: Game design as a new domain for automated disc...The intelligent game designer: Game design as a new domain for automated disc...
The intelligent game designer: Game design as a new domain for automated disc...rndmcnlly
 
Make money fast! department of computer science-copypasteads.com
Make money fast!   department of computer science-copypasteads.comMake money fast!   department of computer science-copypasteads.com
Make money fast! department of computer science-copypasteads.comjackpot201
 
The Role of Evolutionary Computation in Game AI
The Role of Evolutionary Computation in Game AIThe Role of Evolutionary Computation in Game AI
The Role of Evolutionary Computation in Game AIMike Preuss
 

Semelhante a Project Pitch: Answer Set Programming for Procedural Content Generation (20)

Keynote at the 2018 SIGGRAPH Conference on Motion, Interaction and Games
Keynote at the 2018 SIGGRAPH Conference on Motion, Interaction and GamesKeynote at the 2018 SIGGRAPH Conference on Motion, Interaction and Games
Keynote at the 2018 SIGGRAPH Conference on Motion, Interaction and Games
 
An Incomplete Introduction to Artificial Intelligence
An Incomplete Introduction to Artificial IntelligenceAn Incomplete Introduction to Artificial Intelligence
An Incomplete Introduction to Artificial Intelligence
 
A General Overview of Machine Learning
A General Overview of Machine LearningA General Overview of Machine Learning
A General Overview of Machine Learning
 
The idea of projectour project is about creating a intell.docx
The idea of projectour project is about creating a intell.docxThe idea of projectour project is about creating a intell.docx
The idea of projectour project is about creating a intell.docx
 
Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...
Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...
Noise Contrastive Estimation-based Matching Framework for Low-Resource Securi...
 
Csise15 codehunt
Csise15 codehuntCsise15 codehunt
Csise15 codehunt
 
Algorithms for Computer Games - lecture slides 2009
Algorithms for Computer Games - lecture slides 2009Algorithms for Computer Games - lecture slides 2009
Algorithms for Computer Games - lecture slides 2009
 
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeMatching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
 
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a PurposeMatching Game Mechanics and Human Computation Tasks in Games with a Purpose
Matching Game Mechanics and Human Computation Tasks in Games with a Purpose
 
Software Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled DatasetsSoftware Defect Prediction on Unlabeled Datasets
Software Defect Prediction on Unlabeled Datasets
 
Gamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and ProgrammingGamifying Teaching and Learning of Software Engineering and Programming
Gamifying Teaching and Learning of Software Engineering and Programming
 
Declarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere MortalsDeclarative Datalog Debugging for Mere Mortals
Declarative Datalog Debugging for Mere Mortals
 
How to write a project proposal
How to write a project proposalHow to write a project proposal
How to write a project proposal
 
Academy Software Foundation on MaterialX | SIGGRAPH 2021
Academy Software Foundation on MaterialX | SIGGRAPH 2021 Academy Software Foundation on MaterialX | SIGGRAPH 2021
Academy Software Foundation on MaterialX | SIGGRAPH 2021
 
TOG: An Innovation Centric Approach to teaching Computational Expression and ...
TOG: An Innovation Centric Approach to teaching Computational Expression and ...TOG: An Innovation Centric Approach to teaching Computational Expression and ...
TOG: An Innovation Centric Approach to teaching Computational Expression and ...
 
Learning to Rank with Neural Networks
Learning to Rank with Neural NetworksLearning to Rank with Neural Networks
Learning to Rank with Neural Networks
 
19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexity19. Java data structures algorithms and complexity
19. Java data structures algorithms and complexity
 
The intelligent game designer: Game design as a new domain for automated disc...
The intelligent game designer: Game design as a new domain for automated disc...The intelligent game designer: Game design as a new domain for automated disc...
The intelligent game designer: Game design as a new domain for automated disc...
 
Make money fast! department of computer science-copypasteads.com
Make money fast!   department of computer science-copypasteads.comMake money fast!   department of computer science-copypasteads.com
Make money fast! department of computer science-copypasteads.com
 
The Role of Evolutionary Computation in Game AI
The Role of Evolutionary Computation in Game AIThe Role of Evolutionary Computation in Game AI
The Role of Evolutionary Computation in Game AI
 

Último

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
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
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 

Último (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
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
 
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
 
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
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
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
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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...
 

Project Pitch: Answer Set Programming for Procedural Content Generation

  • 1. Innovation and Professional Development Project Pitch Answer Set Programming for Procedural Content Generation by Andrea Tucci @andreatux
  • 2. Outline ➔ Procedural Content Generation ➔ Answer Set Programming ◆ the HEX programs ➔ Goals
  • 3. Procedural Content Generation ➔ Procedural Content Generation (PCG) is an “algorithmical creation of game content with limited or indirect user input”[1] ◆ levels, maps, music, quests, story … ➔ Software that, given some “rules”, is able to create new game elements ➔ Offers new ways of playing the game; new player experiences [1] J.Togelius, E.Kastbjerg, D.Schedl, G. N. Yannakakis: What is Procedural Content Generation?Mario on the borderline (2011)
  • 4. Procedural Content Generation ➔ Why? ◆ new content ◆ efficency ◆ no designers… ● ...really? I like to think of PCG as a “tool” for designers ◆ automated procedure ◆ great for small teams ◆ experiments ◆ player-based content (data mining)
  • 6. Procedural Content Generation ➔ Planet Generator: http://experilous.com/1/planet-generator/2014-09-28/version- 1
  • 7. Answer Set Programming ➔ Declarative problem solving approach ◆ roots in logic programming ➔ Write the description of the problem rather than how to solve it ◆ set of rules ◆ a rule can that is evaluated to be true, will fire ➔ Solution(s) to the problem, if exists, will be represented as sets of answer
  • 8. Answer Set Programming Classic example: Sudoku ➔ Encode a cell with the predicate cell(X,Y,N) ◆ X,Y are the coordinates of the cell ◆ N is the number contained
  • 9. Answer Set Programming ➔ Make a “guess” of what number can be in a cell ◆ cell(X,Y,1) v cell(X,Y,2) v cell (X,Y,3) v … v cell(X,Y,9) :- row(X), column(Y) ➔ Discard unwanted combinations ◆ Do not put the same number, given a row ● :- cell(X,Y,N), cell (X,Y1,N), Y1!=Y ◆ Do not put the same number, given a column ● :- cell(X,Y,N), cell(X1,Y,N), X!=X1 ◆ Do not put the same number in a block ● :- cell(X,Y,N), cell(X1,Y1,N), sameBlock(X,Y,X1,Y1) ➔ Answer in this form: {cell(0,0,3), cell(0,1,8) … }
  • 10. The Hex Programs ➔ Support external knowledge ◆ it is possible to make reasoning outside the logic program ➔ Call a c++ function ◆ &firstbelow[P,objs](O) ● in AngryHex, ASP-based Angry Birds bot, returns the object O which is directly below P, given the objects objs ➔ ACTHEX extension ◆ rules that, when fired, call an external action that is able to change the environment
  • 11. Goals and Objectives ➔ Research on Procedural Content Generation algorithms and techniques ◆ focusing on map/planet generation ➔ Research on Answer Set Programming application on PCG ◆ how can ASP be applied to PCG? ◆ how HEX and ACTHEX extension can be useful for this goal? ➔ Use ASP to procedurally generate game maps ◆ decouple logic from actions ◆ represent levels in structured files ➔ Map Visualization ➔ Experiments ◆ directly create levels when rules fire ◆ real-time content generation(?)
  • 13. Readings and References.. so far ● J.Togelius, E.Kastbjerg, D.Schedl, G. N. Yannakakis: What is Procedural Content Generation? Mario on the borderline (2011) ● Shaker, Noor and Togelius, Julian and Nelson, Mark J. : Procedural Content Generation in Games: A Textbook and an Overview of Current Research ● Procedural Content Generation Wiki: http://pcg.wikidot.com/ ● T.Eiter,G.Ianni and T.Krennwallner: Answer Set Programming: A Primer ● F.Calimeri, M. Fink, S. Germano, A. Humenberger, G. Ianni, C. Redl, D. Stepanova, A. Tucci : AngryHEX: an Artificial Player for Angry Birds Based on Declarative Knowledge Bases
  • 14. Games Reference From the top left pic, from left to right: ● Elite, Acornsoft 1984 ● Rescue on Fractalus, Activision 1984 ● Minecraft, Mojang 2009 ● Diablo 2, Blizzard 2000 ● The Binding of Isaac, E.McMillen, F. Himsl 2011 ● No Men’s Sky, Hello Games 2015 (expected) I