Laboratory - Intelligent Agents for Interactive Computer Games WS 2009/2010

Friday, Jun 11, 2010

An announcement of the course can soon be found in the course information system CAMPUS.

The Knowledge-based Systems Group is, amongst other things, doing research in agent controllers for interactive computer games (for a not so recent example have a look at the ReadyBot website) and interactive service robotics.
Developing agents for interactive tasks poses diverse problems to solve: acting rationally under hard real-time constraints, agent-to-agent and agent-to-human communication, planning under uncertainty, distributed decision-making, (team-)coordination, cooperation, etc.

The goal of this lab course is to develop and test (an) agent(s) for one or more interactive computer games and integrate those into our existing software framework. The development may include establishing the integration with a game API, implementing basic behaviors (skills) of an agent as well as designing and implementing the high-level decision making.

In this lab course you have the chance to

  • learn about robot software development
  • develop an intelligent control program
  • apply methods of AI to robotic scenarios


  • basic study period completed (Bachelor/Vordiplom)
  • lecture “Artificial Intelligence” from our department (or objective evidence of equivalent knowledge)
  • profound programming skills (at least C++ and preferably also Lua)
  • possibly interest in logic-based programming
  • high motivation (at least 5 hours per week)
  • Linux skills
  • successfully solve the Qualifying Test

Qualifying Test

In order to make sure the applicant fulfills the requirements needed, we require that every applicant hands in a solution to a qualifying test as described below:

The task is to implement an agent program for the game of Tic-Tac-Toe. For your implementation make use of a small framework that provides the basic game logic. You can download the code from here. Send your implementation to Daniel Beck by June 28th. Comments and patches for the provided code are welcome. Please send them to Daniel Beck.
Note: successfully solving this task is a necessary requirement in order to get a place in this course.


Slots are being centrally assigned. Registration is open from June 15th to June 28th through the Central Seminar and Practical Project Seminar (Praktikum) Registration System


Please have a look at the L²P learning room (once it’s open) for this course.


The first meeting will be on August XX (tentative) and the lab will start directly thereafter with the familiarization with our software framework.

The rough outline of the lab course’s schedule is as follows:

  • short talks on agent architectures and interactivity
  • getting to know our software framework (Fawkes)
  • work in groups (3 students each)
  • concept + design
  • implementation
  • integration
  • evaluation