Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

13
A.M. Mora, F. Aisa, R. Caballero, P. García-Sánchez, P.A. Castillo, J.J. Merelo, P. De las Cuevas

description

This paper presents a deep description of the design of an autonomous agent (bot) for playing 1 vs. 1 dead match mode in the first person shooter Unreal Tournament 2004 (UT2K4). The bot models most of the behaviour (actions and tricks) of an expert human player in this mode, who has participated in international UT2K4 championships. The Artificial Intelligence engine is based on two levels of states, and it relies on an auxiliary database for learning about the fighting arena. Thus, it will store weapons and items locations once the player has discovered them, as a human player could do. This so-called expert bot yields excellent results, beating the game default bots in the hardest difficulty, and even being a very hard opponent for the human players (including the expert). It has been presented at SEED 2013 (I Simposio de Entretenimiento Digital) in CEDI2013.

Transcript of Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

Page 1: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

A.M. Mora, F. Aisa, R. Caballero, P. García-Sánchez, P.A. Castillo, J.J. Merelo, P. De las Cuevas

Page 2: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• Unreal (game, environment)

• Pogamut tool

• Unreal Expert Bot:

• objectives, memory, FSM, workflow

• Experiments and results

• E-Bot vs Standad Bots, E-Bot vs Human players

• Conclusions and future work

Page 3: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

Unreal is a first person shooter (FPS).

Famous due to the excelent AI of the enemies (bots), which makes it an amazing multiplayer game. Unreal Tournament series is widely extended.

It offers an editor (UnrealEd) which lets us change almost anything in

the game even the behaviour of the bots. It uses the language

UnrealScript.

Page 4: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

A java middleware for Unreal Tournament series games and

Defcon games.

The architecture is as follows:

It is possible to interact with the game from a java program,

getting higher independence (avoiding Unrealscript restrictions)

and increasing the possibilities (java libraries).

On the contrary, the structures, classes, functions and

workflows defined in the Unreal engine, cannot be accessed, nor

used.

Page 5: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• Create an autonomous agent for playing Unreal Tournament deathmatch championship.

• Considering the constraints of this competition: - 1 vs 1 matches

- Small arenas

- Weapons are not respawned

- Some forbidden items (U-Damage, for instance)

- 15 minutes per match instead of a number of frags (kills)

• Human-like behaviour is desired.

• Modelling Expert player knowledge (and tricks). - High control in timing (items respawn time)

- Deep knowledge about weapons and their advantages and disadvantages

- Deep knowledge about items

Page 6: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• There is used a Database which models the bot’s memory.

• It is uploaded with data about locations of items and weapons in the map, but just once the bot has seen them.

• It cannot store lots of information because it would be unmanageable in real-time for the bots.

• Data: • Unreal_ID unique identification of an item in Pogamut

• Type health, shield, ammo, weapon, ...

• Name name of the item or weapon

• Map name of the map where it is placed

• Position location of the item (extracted from the ID)

Page 7: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• Its behaviour is defined by means of a Finite State Machine based AI with two state levels.

Page 8: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot
Page 9: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot
Page 10: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• Expert Bot (E-Bot) fought against standard game bots in the maximum difficulty level.

• This difficulty level is quite hard for a medium level player.

• E-Bot outperformed the standard bots in the game (considering the number of frags), in two different maps and three different matches.

Page 11: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• Expert Bot (E-Bot) also fought versus four different medium-level human players. They play sometimes but they are not ‘professionals’.

• E-Bot is hard to beat for humans, even for our expert, but he clearly won all the matches against the bot.

Page 12: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

• We have modelled the knowledge of a human expert player in the game Unreal Tournament 2K4, by means of a two-level FSM, a database (memory) and a wide set of rules.

• This human-like Expert Bot (E-Bot) outperforms the standard Unreal Tournament 2K4 bots in the hardest difficulty.

• It is also a hard rival against human players.

FUTURE WORK

• Improve the bot’s movement which is far for being perfect: the bot doesn’t jump (due to Pogamut flaws).

• Increase the memory (database) complexity and usefulness.

• Apply any computational intelligence method for improve the FSM or the set of rules, Evolutionary Computation methods for instance.

Page 13: Modelling Human Expert Behaviour in an Unreal Tournament 2004 Bot

Contact: [email protected]

Source Code: https://github.com/franaisa/ExpertAgent