| Home Page | Recent Changes | Preferences

Bot Support (UT)

This page relates to Unreal Tournament. See Bot Support for an overview over bot support for UT2003.

Monsters

Fixed stuff

Introduction

Disclaimer

This page is an attempt to provide an overview of how the Unreal Tournament Bot AI works. Be warned that this page has been written based on ideas derived from guesswork, by someone who has no clue. Any inconsistencies and inaccuracies are either accidental, a result of the nature of the source data (i.e. random), or simply down to incompetence, stupidity, and laziness on the authorís part.

Background Information

Firstly, although the UT bots may seem smarter than most of the people you know this is not the case. They are remarkably dumb. And they donít get bored - ever. If you place a bot in a map with no inventory items and no targets to shoot at it will simply stand there admiring the scenery and checking its weapon. After all, a bot needs some motivation to move around. This motivation is provided in the form of inventory (objects to collect such as ammo, weapons, and health), targets to shoot at (other players), and game targets (control points, flags, and objectives).

The way in which a bot will behave is determined by what state it is in, and what orders it has received. For an overview of states see the text in State or InitialState. A bot is able to change the state that it is in based upon external stimulus such as being shot at, seeing other players, and the desire for a bigger gun. It is this ability that allows the bot to behave in an appropriate manner to its environment.

The state a bot is able to enter is dependent upon the game type being played. I'll start with a discussion of the death match game and with luck move on to the other game types.

The Deathmatch Game

In the Beginning

On entry to the game the bot is most likely to drop into the Roaming state with orders of FreeLance. Essentially the roaming state means that the bot will wander around the map looking for big guns, ammunition, power-ups, and other cool inventory items (like relics). Donít be fooled into thinking that the bot is looking for a target - it isnít.

When a bot sees (or "hears") another player it will change state to Acquisition. In the acquisition state the bot will decide where it needs to be so it can attack the player. Once it has figured that out it drops into the Attacking state.

Fighting With Style

The Attacking state is pretty self explanatory. In this state the bot is in full combat mode. Itís trying to utterly annihilate it's selected enemy. From an attacking state the bot has a number of options. It can either go into a RangedAttack state (used to perform the combo move), or enter any of the following states: Retreating, StakeOut, Hunting, and TacticalMove (although this only really applies to the team game types).

To be continued when I have more time and enthusiasm - come back NFG

Stuff that never got written:

  • Monster and Bot Support
  • PatrolPoints and ScriptedPawns
  • The BlockedPath Actor

Comments

Ideas for things to cover:

  • Every game type has a specific function FindSpecialAttractionFor(Bot aBot) that controls the primary AI and sets up the bot "orders". A page on how AI code governs player and pawn activities in game might be interesting.
  • Could we get stuff on advanced pathnodes? Eg, how to use TastyPellet-style pathnodes in a map to force bots to go places.

Category To Do, but don't knock yourself out, since I don't think many people map for UT any more.

The Unreal Engine Documentation Site

Wiki Community

Topic Categories

Image Uploads

Random Page

Recent Changes

Offline Wiki

Unreal Engine

Console Commands

Terminology

Mapping Topics

Mapping Lessons

UnrealEd Interface

Questions&Answers

Scripting Topics

Scripting Lessons

Making Mods

Class Tree

Questions&Answers

Modeling Topics

Questions&Answers

Log In