Table of Contents

When, where...

This half-day tutorial will be given at AAMAS-2010, the 9th International Conference on Autonomous Agents and Multiagent Systems, on May 10–11 2010 at at the Sheraton Centre Toronto Hotel in downtown Toronto Canada.

Introduction

Description

Many people see virtual characters from 3D videogames as close relatives of autonomous software agents. Some even perceive these characters as a successful use of agent-oriented research in practice. But do the actual facts justify this perception? At the superficial level, there indeed seems to be an overlap between the virtual characters of videogames and autonomous agents. For instance, some members of the videogame industry claim that their characters are controlled by the BDI architecture. However, this resemblance is often merely terminological. Additionally, games only rarely use any agent-oriented software.

This tutorial aims at providing insight into the theory and practice of controlling behaviour of 3D videogame characters, helping the audience to understand intricacies of these questions. It introduces general techniques used for controlling behaviour of virtual characters in 3D videogames and for modelling their perception. It shows the difference between how this is often done in real games and how it can be done using agent software. It will also show how the connection between agent software and game engines can be established and what are the problems that should be solved. The course will have a theoretical part as well as a practical part where the participants will be able to practice development of their own videogame characters on their notebooks.

Target audience

The intended audience is students, researchers and developers (from both academia and industry) who already have basic notions of programming and multi-agent systems. No previous knowledge of videogame characters is expected.

Content, Schedule

Schedule

Theoretical part

SLIDES here.

The tutorial will cover some basics of the “artificial intelligence” techniques used in videogames for controlling 3D characters. In particular:

will be introduced. The focus will be on practical aspects of usage of these techniques and their relation to similar mechanisms used in the agent-oriented research. Next we will look at other aspects of agents such as autonomy, goal direction and communication and see what the use of these features would be for the games and what the impact of these features is on the game (design) when implementing a game. We will look at the general problem of connecting agent platforms to game engines and show pogamut as a practical example of how this can be done in practice.

Besides the use of Pogamut which is specially geared towards developing agents for games we will discuss our experiences of coupling the BDI based agent platforms 2APL and Jadex to game engines.

Additionally, we will look at games featuring multiple characters from the perspective of multi-agents systems. That is, architecture of a whole game, including graphical interface, game engine and control mechanisms of the characters, will be contrasted with the multi-agent system architecture. This will help us to clarify issues related to usage of agent-oriented software within videogames, such as what it would mean to use Jade as a platform for managing in-game characters.

Even though the tutorial will be oriented mainly on 3D videogame characters, it will also briefly discuss agents in the context of turn-based strategy games, where agents can represent higher-order decision making entities.

Practical part

SLIDES here.

Participants will have the opportunity to program their own videogame character, an agent with

In the task, the participants will practise some obstacle avoidance techniques, navigation techniques, and reactive rules introduced in the second part of the tutorial on gaming AI. The participants will also learn how to use the internal memory of the character.

The participants get to use Pogamut with a special package prepared for AAMAS (only for Windows!). Pogamut requires NetBeans IDE, Java JDK and UnrealRuntime2 to be installed on the computer. Download Pogamut complete AAMAS 2010 package (376 MB) containing Java JDK, NetBeans 6.8, UnrealRutime2 installer, Pogamut installer and AAMAS Pogamut bot examples.

Alternatively you can obtain and install Java and NetBeans for yourself. Then download and install Pogamut installer 3.0.5 here (225 MB) and tutorial example Pogamut bots complete (with jars) or only NetBeans projects + source.

To download UnrealEngine2 Runtime Demo visitEpic Unreal Engine 2 Runtime site. More information about UnrealEngine2 Runtime Demo can found here.

For more information about Pogamut check Pogamut main page and Pogamut documentation and tutorials page.

It will be possible to install Pogamut during the tutorial (it requires Windows).

Organizers

The tutorial will be given by Cyril Brom and Michal Bida from Charles University in Prague (CU), the Czech Republic, together with Joost Westra and Frank Dignum from Utrecht University, the Netherlands.

Cyril Brom

Cyril is an assistant professor at CU from 2007. He has been active in the field of gaming AI, and virtual characters from 2005. His other research activities relates to serious games and computational neuroscience. He teaches courses on “Human-like artificial agents” and “Computational cognitive science” and co-teaches a course on “Computer games development”. He established the Artificial Minds for Intelligent Systems research group at CU and now, he supervises about 15 students, including 4 PhD students. He is a co-author of several large scale projects related to computer games, most notably Pogamut, Europe 2045, and Intelligent Virtual Environment. He is an author of over 15 international peer-reviewed papers and book chapters, including a chapter in Game Programming Gems 8, a leading textbook on game development (to appear in spring 2010).

Michal Bida

Michal is Cyril's PhD student. He is one of the main authors of Pogamut toolkit and co-author of several related papers. He participates on teaching at CU and elsewhere. His PhD thesis concerns with development of interactive storytelling scenario built upon Pogamut.

Frank Dignum

Frank Dignum is associate professor of Computer Science at Utrecht University. He is currently also honorary senior research fellow at the University of Melbourne. He leads research in adaptive interactive systems. He supervises two PhD students within the GATE project. Both projects concern the use of agent technology for games, with the aim of making the games more flexible and adaptive to the user. He will also be the coordinator of a new EU project (if funded) on using virtual environments and games for second language learning. He is the initiator and organizer of the international workshop on Agents for Games and Simulations. Besides this workshop he has organized other agent related workshops and was local organizer of the main agent conference (AAMAS) in 2005. He is in the (senior) program committee of many workshops and conferences. He is keynote and invited speaker in conferences all over the world. He has written over 200 papers in international journals and conferences.

Joost Westra

Joost Westra is a PhD student at Universiteit Utrecht under the supervision of Fank Dignum and Virginia Dignum. His subject is adapting computer games to the user. Joost has experience with agent technology in different game engines (Quest 3D, Unreal Tournament, Quake III and Boswars). He implemented agents that used genetic algorithms in Quake III for his master thesis. He has given lectures and supervised the practical assignments in the course “Games and Agents” at Universiteit Utrecht for four years and has given guest lectures at Maastricht University on the subject. He also supervised multiple master students during their thesis work on combining agents and games.

Acknownledgement

The Czech team was partially supported by grant P103/10/1287 (GA ČR), research project MSM0021620838 (MŠMT ČR) and by a student grant GA UK No. 0449/2010/A-INF/MFF.