BDI Agents as Players in Real-time Strategy Games

Author

 Andrea Dallatana 

Description

The aim of the project is to work on an already existing RTS game and exploit agents to develop the artificial intelligence of the units.

The chosen target is 0ad : an open source game already in its final stages of development that uses high end graphics and refined mechanics to deliver a simulation of historical warfare and economics.
The first step of the project was to understand how the game's AI was accessed and developed: at the very core of 0ad there is a powerful open source game engine, called "Pyrogenesis", that manages various aspects of the game, including graphics, menus and player interaction; all of the game logic, including the AI, is instead developed using javascript and xml, then interpreted at runtime by the engine using Mozilla's SpiderMonkey.
The project then consisted in the design and development of a multi-agent system platform, to support the control of the game's entities using BDI agents logic.
Since the platform had to be in javascript, to be integrated into the game, it was developed from the ground up albeit it followed loosely Jason's reasoning cycle and AgentSpeak's language constructs.
The last part was to develop some basic behaviours for the agents controlling units and buildings, to test the validity of the created platform and of MAS in the current contest.

http://wildfiregames.com/0ad/
http://www.moddb.com/engines/pyrogenesis
https://developer.mozilla.org/en/SpiderMonkey

Relation

Relation

Code

Code ABot