Published May 19th, 2012
in ai, null, teaching and video games.
In the last few weeks I have been in Italy, teaching a short course related to Artificial Intelligence and Video-games.
The course was offered in the Ph.D. program in Computing Science and Engineering of the Sapienza University in Rome, Department of Computer, Control, and Management Engineering. Part of the material covered was also presented as invited lectures in the Artificial Intelligence in Games and Videogames M.Sc. course taught by Prof. Marco Schaerf.
The course aims to provide an introduction to the techniques currently used for the decision making of non-player characters (NPCs) in commercial video games, and show how a simple technique from academic artificial intelligence research can be employed to advance the state-of-the art.
The course is fairly introductory mostly aimed for first-year Ph.D. students and M.Sc. students, and is also appropriate for last-year undergraduate students.
All the material presented in lectures is available at tinyurl.com/NPC-AI-LaSapienza.
Published March 26th, 2012
in ai, article, code, planning and video games.
I wrote an article for the March issue of the Game Coder Magazine:

Abstract: In this article I will be covering an artificial intelligence (AI) technique for decision making that can be used in various parts of game development to account for “thinking before acting”. The technique is called Classical Planning in academic AI research, and is one of the most basic approaches for deliberating about the effects of actions and the way the properties of a given domain change under these effects. Variants of this technique have been used successfully in game development under the name Goal Oriented Action Planning (GOAP), each time focusing on a different aspect of this technique, adopting it for the particular needs of the game.
More information: In the article I go over a simple example inspired from real-time strategy games. I focus on the behavior of a peasant that can be instructed to bring food or handle other resources, and extend the character’s functionality so that they can take more advanced commands which may need a series of actions to be realized. Using this example I go over one of the simplest forms of planning, that is propositional STRIPS planning, and present an implementation using Python.
The following screenshots are code listings included in the article, which show how the planning algorithm can help the peasant find ways to realize the given commands.



The self-contained Python code can be found here: PyPlan. The file goap.py contains all the necessary classes and methods for implementing planning, and example.py includes a simple example based on the peasant scenario that is explained in detail in the article.
Published March 22nd, 2012
in ai, planning, talk and video games.

On Friday March 16, I gave a talk at the IEEE Patras Games Expo 2012, which was organized by the IEEE Computer Society Student Chapter in collaboration with the IEEE Student Branch of University of Patras.
My talk was related to artificial intelligence (AI) techniques for specifying the behavior of non-player characters (NPCs) in video games. As a quick introduction to the main ideas behind the most common techniques that have been used in commercial video games, I went over three approaches: Finite State Machines (FMSs), Behavior Trees (BTs), and Goal-Oriented Action Planning (GOAP). The intention was to introduce students to the ideas and highlight what I consider to be the past, the present, and the future of techniques for NPC behavior.
The slides of my talk (in Greek) can be found here. Some examples in the slides are taken from the book Artificial Intelligence for Games by Ian Millington, and John Funge, an excellent resource for all types of AI methods for game development.

Published October 21st, 2011
in ai, paper, planning, talk and video games.
On Friday October 14, I gave a talk about some preliminary work on building a PDDL benchmark for First-Person Shooter games at SRI International’s Artificial Intelligence Center, Menlo Park, CA USA, 2011.
The talk was based on the following workshop paper I presented at AIIDE-2011: The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs.
The details of the talk can be found here. The slides of my presentation can be found here.
Published September 12th, 2011
in ai, paper, planning and video games.
The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs, Stavros Vassos, and Michail Papakonstantinou, In Proceedings of the Non-Player Character AI workshop (NPCAI-2011) of the Artificial Intelligence & Interactive Digital Entertainment (AIIDE-2011) Conference, Stanford CA, USA, 2011.
[pdf | citeulike| slides]
Continue reading ‘The SimpleFPS Planning Domain: A PDDL Benchmark for Proactive NPCs (INT4-2011)’
Published July 28th, 2011
in ai, planning, seminar, teaching and video games.
Earlier today I gave a seminar about planning and possible applications in video games in the 2nd Hellenic Artificial Intelligence Summer School (HAISS-2011) that was organized by the Hellenic Artificial Intelligence Society (EETN) and the Technoesis network of the University of Patras, in Patras, Greece.
The slides of my talk (in Greek) can be found here and the PDDL files mentioned in the talk can be found here. The planner used for the demo is BlackBox which can be found here (for windows use this executable and install the Cygwin DLL or make sure that cygwin1.dll is at the same folder as the BlackBox executable).
The abstract of the talk follows (in Greek).
Πρώτο μέρος: Εισαγωγή στην αναπαράσταση προβλημάτων σχεδιασμού (planning) με βάση τη γλώσσα STRIPS. Προέλαση, οπισθοχώρηση, και ευρετικές συναρτήσεις για την εύρεση λύσης σε προβλήματα σχεδιασμού με βάση την αναζήτηση. Αναπαράσταση προβλημάτων σχεδιασμού στην τυπική γλώσσα PDDL και χρήση του planner BlackBox για την επίλυση προβλημάτων σχεδιασμού στο πεδίο του puzzle game Sokoban.
Δεύτερο μέρος: Εισαγωγή στην ανάπτυξη τεχνητής νοημοσύνης για χαρακτήρες (non-player characters) σε video games και εφαρμογές τεχνικών σχεδιασμού σε εμπορικά video games. Αναπαράσταση των βασικών στοιχείων ενός First-Person Shooter game σε PDDL από την οπτική ενός αντίπαλου χαρακτήρα στον κόσμο του παιχνιδιού, και χρήση του planner BlackBox για την επίλυση προβλημάτων σχεδιασμού που σχετίζονται με τις επιλογές του χαρακτήρα στο παιχνίδι. Σύντομος σχολιασμός επιπλέον τεχνικών όπως η παρακολούθηση εκτέλεσης και ο επανασχεδιασμός.