Top Banner
Answer Set Programming for Procedural Content Generation Innovation and Professional Development Project Pitch by Andrea Tucci @andreatux
15

Project Pitch: Answer Set Programming for Procedural Content Generation

Jun 25, 2015

Download

Technology

Andrea Tucci

My project pitch for my module "Innovation and Professional Development" at Abertay University.
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Project Pitch: Answer Set Programming for Procedural Content Generation

Answer Set Programmingfor Procedural Content Generation

Innovation and Professional Development Project Pitch

by Andrea Tucci @andreatux

Page 2: Project Pitch: Answer Set Programming for Procedural Content Generation

Outline➔ Procedural Content Generation➔ Answer Set Programming

◆ the HEX programs➔ Goals

Page 3: Project Pitch: Answer Set Programming for Procedural Content Generation

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)

Page 4: Project Pitch: Answer Set Programming for Procedural Content Generation

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)

Page 5: Project Pitch: Answer Set Programming for Procedural Content Generation

Procedural Content Generation ➔ Examples

Page 6: Project Pitch: Answer Set Programming for Procedural Content Generation

Procedural Content Generation ➔ Planet Generator:

http://experilous.com/1/planet-generator/2014-09-28/version-1

Page 7: Project Pitch: Answer Set Programming for Procedural Content Generation

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

Page 8: Project Pitch: Answer Set Programming for Procedural Content Generation

Answer Set ProgrammingClassic 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

Page 9: Project Pitch: Answer Set Programming for Procedural Content Generation

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) … }

Page 10: Project Pitch: Answer Set Programming for Procedural Content Generation

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

Page 11: Project Pitch: Answer Set Programming for Procedural Content Generation

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(?)

Page 12: Project Pitch: Answer Set Programming for Procedural Content Generation

Goals - rough idea

Page 13: Project Pitch: Answer Set Programming for Procedural Content Generation

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

Page 14: Project Pitch: Answer Set Programming for Procedural Content Generation

Games ReferenceFrom 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

Page 15: Project Pitch: Answer Set Programming for Procedural Content Generation

Questions?