Title: Develop an AI agent for a multi-player on-line historical role-playing game

Proposer: Hans-Wolfgang Loidl

Suggested supervisors: Hans-Wolfgang Loidl


Implement an AI that acts as an agent inside a game engine for a historical role-playing game, and evaluate its effectiveness in the game.


Role-playing games, set in an accurate historical context and supported by a scalable, distributed game engine, can provide an engaging learning environment for both players and game developers: players can learn about the historical and societal context of the game, and game developers can exercise modular design of a complex system in order to achieve scalability for a large number of players.

The goal of this project is to develop an AI agent that can act as a NPC or a PC in the previously developed core game engine (JominiEngine [1]). This involves interacting with the game engine, through the same kind of API that is used for the separately developed game clients. The AI agent should be able to interact with the game world and perform basic activites in the three main areas of fief management, household management, and army management. The agent can initially be simple, and rule based, but should be extended to a version that draws on machine-learning techniques to demonstrate increased effectiveness in the game.

The project will proceed in the following phases.

Resources required: Linux platform with C# running on mono and Riak as database back-end; interaction with the existing game engine is required

Degree of difficulty: moderate

Background needed: Good general programming skills; some background in AI and machine-learning; interest in historical background is useful