Evolving Behaviour Trees: - Automatic Generation of AI Opponents for Real-Time Strategy Games
MetadataShow full item record
Video games are a source of fun and enjoyment for millions of people across the globe. Artificial Intelligence (AI) is an essential part of many games and there is an increasing demand for ever more realistic computer controlled players. There are many methods and approaches for creating AI for games, with state machines and scripting featured in the majority of projects. Behaviour trees have emerged as a recent competitor, combining features of final-state machines and hierarchical task networks. As the available computational powers increase, the feasibility of using evolutionary computations in the development of game AI rises. This project explores evolving behaviour trees using bio-inspired methods. This is done by tailoring genetic programming to represent individuals as behaviour trees which control a bot that plays a real-time strategy game. The individuals were evaluated by having them compete against each other, a hand-written behaviour tree and an AI bot implemented using traditional methods. Five experiments were conducted using a variety of parameters in order to explore the suitability of using these techniques conjointly. The results from this project demonstrate that evolving behaviour trees is an interesting technique for automatically generating AI players which can consistently beat ones produced by humans using the same components, although evolving solutions that are serious competitors of traditional AI bots proved more difficult.