Automated Planning for Interactive Entertainment (TA1)

Planning can be considered an important element of rational intelligent behavior. Planning algorithms simulate goal-directed behavior through selection of actions that contribute towards satisfying the given goals. Over the past decade, planning algorithms have successfully been applied to the problems of Narrative generation and intelligent user interfaces. These applications are relevant to the interactive entertainment community. The main goals of this tutorial are to present a review of Automated Planning techniques leading up to recent advances in Discourse Planning, Multi-Agent Planning and Narrative Planning for Interactive Storytelling.

This tutorial is intended to be a crash course in many aspects of automated planning and covers the introduction to fundamental planning algorithms including partial order planning, HTN planning and temporal planning. A number of planners that are relevant to the entertainment industry are then presented in detail.

Target audience: This tutorial is intended for interactive entertainment practitioners interested in state-of-the-art planning techniques that can be applied to interactive narrative, and AI researchers interested in the application of planning techniques to the control of computer games.

Prerequisite knowledge: A
basic knowledge of propositional logic is recommended but not required.

ORTS — A Free Software RTS Game Engine Not Just for AI Research (TA2)

This tutorial addresses RTS game AI challenges, current research in this area, and the development of an RTS game engine that can help spurring interest in this fascinating area among AI researchers and AI programmers. Attendees will gain a solid understanding about what makes RTS games attractive to AI research, current AI challenges and research directions, and how the ORTS project can help to push the state-of-the-art in RTS game AI. Constructing RTS game software is a challenging task. With ORTS developers and researchers get a free software tool, which lets them focus on the AI problems rather than game engine implementation.

Target audience: Researchers in the area of multi-agent planning, game AI programmers, and RTS game enthusiasts.

Prerequisite knowledge: Basic knowledge about game AI and game software architecture helps.

Timothy Furtak is a Masters student at the University of Alberta. He is interested in applying machine learning and AI planning techniques to real-time strategy games. He has been the lead programmer of the ORTS project since 2003.

Machine Learning for Games (TP1)

This tutorial is intended for developers and researchers interested in applying machine learning methods to games. The goals are to (1) characterize the different types of machine learning problems, (2) encourage a broader view of possible applications, and (3) present a few simple algorithms as examples. Attendees will hopefully be able to recognize many more problems as potential machine learning applications and be able to try simple experiments with algorithms they can implement themselves or obtain elsewhere.

The emphasis will be on characterizing classical machine learning problems (for example, classification, regression, policy learning) so they can be recognized when encountered, rather than immediately introducing solution methods. The tutorial will also attempt to
address the ambiguity between “machine learning” problems and “optimization” problems. The distinction between fielded and development machine learning will also be drawn, encouraging developers and researchers to consider machine learning tasks that arise during the development process rather than just during gameplay in the fielded application. A selection of solutions will be described, with the caveat that there is no one-size-fits-all solution.

Prerequisite knowledge: Attendees need no particular knowledge for most of the material and an understanding of basic programming only for the algorithms.

Unreal AI: Using the Unreal Tournament Game Engine for AI Research (TP2)

This tutorial will cover a wide range of topics that will be invaluable to academic researchers and students who are interested in integrating AI systems into a commercial game platform. This tutorial focuses specifically on Unreal Tournament, which has been used successfully in a variety of AI research programs. The tutorial assumes no prior knowledge about scripting or modding in Unreal Tournament and covers the full spectrum of topics necessary to launch a successful game integration program. Topics include: What is modding?, introduction to the UnrealScript programming language, the commonly used Gamebots API, and case studies of previous successful programs that have integrated AI systems with UT.

The tutorial will be mostly lecture based. However, the lecture will include detailed walk-throughs of examples of varying degrees of complexity. Material will be distributed to participants to assist them in picking up where the lecture leaves off and putting their new knowledge to immediate application. This material includes complete executable source code of examples worked in the tutorial and practice exercises that aide in overcoming the learning curve.

This tutorial targets AI researchers and academics interested in integrating their AI systems into the Unreal Tournament (UT) game engine. Computer games have become popular platforms for testing existing AI, the creation of new AI techniques, and the discovery of new AI problems. The goal of this tutorial is to prime participants for the incorporation of the Unreal Tournament game engine into their AI research system development agendas. Participants will learn the capabilities the Unreal Tournament game engine provides, the pros and cons with integrating AI systems into the UT game engine, different models for modifying and customizing the UT game engine, the basics of scripting for the UT, and the basics of level building in UT.

Prerequisite knowledge: Experience with object-oriented programming languages such as Java. Familiarity with multi-threaded applications. No experience with AI required.

Mark Riedl is a research scientist at the University of Southern California’s Institute for Creative Technologies. Mark’s research interests are in AI for entertainment, education and training, particularly involving automated narrative generation, interactive narrative, and intelligent agents. Mark has been involved in various projects that incorporate AI into game engines such as Unreal Tournament.

Ryan McAlinden is a lead software engineer at ICT and has worked closely with both the Unreal I and Unreal II engines for over 3 years. His specialties include native code integration (C++), networking between Unreal and non-Unreal components, AI programming, and general ‘Getting Started” issues (setting up mods, code and asset management, etc).

Andrew. N. Marshall is a programmer at the University of Southern California with interests crossing embodied agents, game technologies, human computer interaction, and task modeling. A member of the founding Gamebots developers and the original developer of the UTBot Java client, Andrew continues to support both projects on SourceForge.net.