Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.
Innovation and Professional Development 
Project Pitch 
Answer Set Programming 
for Procedural Content Generation 
by Andr...
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 l...
Procedural Content Generation 
➔ Why? 
◆ new content 
◆ efficency 
◆ no designers… 
● ...really? I like to think of PCG as...
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 t...
Answer Set Programming 
Classic example: Sudoku 
➔ Encode a cell with the predicate cell(X,Y,N) 
◆ X,Y are the coordinates...
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...
The Hex Programs 
➔ Support external knowledge 
◆ it is possible to make reasoning outside the logic program 
➔ Call a c++...
Goals and Objectives 
➔ Research on Procedural Content Generation algorithms and techniques 
◆ focusing on map/planet gene...
Goals - rough idea
Readings and References.. so far 
● J.Togelius, E.Kastbjerg, D.Schedl, G. N. Yannakakis: What is Procedural Content Genera...
Games Reference 
From the top left pic, from left to right: 
● Elite, Acornsoft 1984 
● Rescue on Fractalus, Activision 19...
Questions?
Nächste SlideShare
Wird geladen in …5
×

Project Pitch: Answer Set Programming for Procedural Content Generation

1.421 Aufrufe

Veröffentlicht am

My project pitch for my module "Innovation and Professional Development" at Abertay University.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

Project Pitch: Answer Set Programming for Procedural Content Generation

  1. 1. Innovation and Professional Development Project Pitch Answer Set Programming for Procedural Content Generation by Andrea Tucci @andreatux
  2. 2. Outline ➔ Procedural Content Generation ➔ Answer Set Programming ◆ the HEX programs ➔ Goals
  3. 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. 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)
  5. 5. Procedural Content Generation ➔ Examples
  6. 6. Procedural Content Generation ➔ Planet Generator: http://experilous.com/1/planet-generator/2014-09-28/version- 1
  7. 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. 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. 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. 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. 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(?)
  12. 12. Goals - rough idea
  13. 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. 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
  15. 15. Questions?

×