I'm a doctor, not a mechanic

Legacy:Bot (UT)

From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
UT :: Actor (UT) >> Pawn (UT) >> Bot (Package: Botpack)

Base class for all AI-controlled players in Unreal Tournament. See also Bots, the corresponding base class in Unreal 1.

The behaviour of the bots is determined by their current state and what orders they have (if any). Essentially, the bot takes a stimulus like the desire for a weapon, or spotting another pawn, and determines an action based upon it's own internal state and orders. Sometimes the bot will change it's own internal state to enable it to better deal with the action it wishes to perform.

At its most basic the bot AI can be boiled down to the following actions below repeated ad nauseum.

  • Find big guns and ammunition.
  • See other pawn - attack other pawn.

For a slightly more detailed view of the bot AI see the Bot Support (UT) page.

Known Subclasses

Orders

Point 
If a bot has "Point" orders then it can command other bots. I vaguely remember seeing a limit to the number of bots each bot could command somewhere in the code but I wouldn't bet anything on it (not even a pair of smelly old socks).
Follow 
This order will cause the bot to follow the pawn that gave the "follow" order. The Actor that gave the order is assigned to the OrderObject property.
Hold 
Bots under this order will attempt to hold the position that they have been assigned.
Defend 
Bots under this order will find a nice spot to camp and set up their tent.
Attack 
Bots under this order will enter a search and destroy mode, or, attempt to capture the flag, control point, or complete the next objective.
FreeLance 
Bots under this order will do whatever they decide is necessary. In deathmatch games they collect inventory until they find someone to fight. In team games they decide what to do based upon the current state of the game.

States

StartUp 
The initial starting state for a bot.
Holding 
Hold 
Roaming 
Wandering 
Acquisition 
Attacking 
Retreating 
Fallback 
Charging 
In this state the bot will rush at it's enemy with no regard for the continued well being of either itself or its target.
TacticalMove 
Hunting 
StakeOut 
TakeHit 
ImpactJumping 
FallingState 
RangedAttack 
VictoryDance 
GameEnded 
This state is entered when the game has ended. It essentially prevents the bots from moving around and doing things once the game is over.
Dying 
This is the state that is entered when the bot has been killed and is busy "dying" (presumably leaking decals all over the place and generally making a mess).
FindAir 

Functions

See graphics and animation functions for the list of functions used to handle pawn animations and graphics.

AI Functions

function eAttitude AttitudeTo( Pawn (UT) Other ) 
This function determines the bot's attitude towards the Other pawn. The function can return any of the following attitudes: fear, hate, ignore, and friendly. The primary driver for the bot's attitude towards Other is the function DeathMatchPlus.AssessBotAttitude() (This function is overidden in the game type classes). The attitude calculated is then set to friendly if Other is on the same team as the bot and the game is a team game.