Evolving Ogre - Artificial intelligence and learning methodes in computer games

Artificial intelligence (AI) is an important element of computer games. Game AI is responsible for the authentic behaviour of the computer-controlled characters in the game world and influences the gameplay significantly. Learning methods are interesting techniques to produce smarter and more robust AI. The computer-controlled characters will adapt to the human player and can learn during the game. This thesis provides an overview on game AI and demonstrates the possibilities of learning methods on a specific implementation.

Evolving Ogre

Commonly used terminologies and popular AI techniques in current games such as A*, level-of-detail AI, scripting, A-Life, and finite state machines are explained. The thesis mainly focuses on learning methods. A basic knowledge of machine learning is provided and successful methods---genetic algorithms, neuronal nets, dynamic decision trees and player modeling---are shown. Outstanding games using these methods are also presented.

Evolving Ogre, a game developed from scratch, demonstrates the use of learning methods and the implementation of AI in computer games. A genetic algorithm optimises the behaviour of the computer-controlled characters in the game. A flexible genetic system performs this task and is introduced in detail. This system is able to evolutionarily develop arbitrary objects, data, artificial creatures and solutions.

An analysis of the results of the genetic algorithm points out the advantages and disadvantages. The algorithm is compared with designer-controlled approaches to define the AI. Finally some optimisation techniques and possible enhancements are suggested.


In Evolving Ogre you are a brave knight fighting against a greedy ogre. The ogre is on its way to eat all sheep and it's up to you to stop him! The ogre has different attributes (eg. hunger, bravery, intelligence). These attributes influence his behaviour. The right values are determined in the learnmode with a genetic algorithm.


Just move the knight with the cursor and attack the ogre by pressing space. Press F1 for more help!
In the first screen you see the initial population of ogres. Each ogre has its own attributes. Press ENTER to start evaluating them. The ogres are fighting against each other. Good ogres are evolutionarily developed. After 30 generations the best ogre should be found.