Lab Course "Controlling Interactive Games and Robots" WS 2011/2012

Submitted by stf on 16. June 2011 - 17:51

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

Contents

The Knowledge-based Systems Group is, amongst others, 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 (see AllemaniACs in RoboCup@Home).
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 design, develop and test methods to implement interactive agents, for either an interactive computer game, an interactive robot or even an interactive game with a robot. This is done using and integrating into our existing agent control framework Fawkes (free open source software, you can go have a look already!). The development may include establishing the integration with a game API or with existing hardware components (e.g. sensors) and software modules on a robot, implementing and/or using basic behaviors (skills) of an agent as well as designing and implementing the high-level decision making and the overall application.

In this lab course you have the chance to

  • take part in a distributed software development process
  • develop (and compete with) intelligent autonomous agents
  • apply methods of AI to interactive computer games and/or robotics

Requirements

  • 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 Stefan Schiffer by July 4th.
Comments and patches for the provided code are welcome. Please send them to Stefan Schiffer. Note: successfully solving this task is a necessary requirement in order to get a place in this course.

Registration

Slots are being centrally assigned. Registration is open from June 20 to July 3 through the Central Seminar and Practical Project Seminar (Praktikum) Registration System

Dates + Schedule

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

  • getting to know our software framework (Fawkes)
  • choice of subproject
  • work in groups (3 students each)
  • concept + design
  • implementation
  • integration
  • evaluation

Outcome

The outcome of this lab course was great: we had a very nice system running in the end and had it tested with several people from outside the group. The game itself was usually very well received!
Also, we published the outcome at the Poster & Demo track of the German Conference on Articial Intelligence in 2012. See the BendIT publication. You can also take a look at the poster on BendIT we presented at the conference.

Finally, we made a video where you can see the outcome in action: