Bot


 * "Bot" is also an abbreviated form of aimbot.

A bot is a computer-controlled player in a multiplayer game. Unreal Tournament games are known for, among other things, their superior bot AI. However, bots in UT games tend to not behave at all like real human players. They can, however, provide a good offline experience for novice players.

Skill levels
There are 8 skill levels that bots can be set to. These are consistent across all UT games as of UT2004.

In order of increasing difficulty:
 * 1) Novice
 * 2) Average
 * 3) Experienced
 * 4) Skilled
 * 5) Adept
 * 6) Masterful
 * 7) Inhuman
 * 8) Godlike

Behavior

 * The discussion below is based on the behavior of UT2004 bots, but some may apply to other UT games.

Bots are often disliked due to their very un-humanlike behavior, particularly bots of the Adept skill level and above. They have extremely good aim with weapons such as the Flak Cannon, Minigun, and the link beam at close range. At the same time, their aim can be quite lacking with other weapons. For instance, if a player goes anywhere near a Godlike bot with the flak cannon or link gun, they will almost certainly die, or at least suffer massive damage.

Bots can also do things that are technically impossible for real players. For instance, real players must wait a short amount of time (roughly half a second) after dodging before they are able to dodge again. Bots, on the other hand, can dodge immediately after landing. They also react instantly to a projectiles such as a rocket or shock core being fired at them.

Even though bots display superhuman aim and impossible movement, they are also incredibly predictable. With a little practice, even a moderately skilled UT2004 player can defeat a Godlike bot in a 1v1 duel, or even a small FFA match.

Technical details are a bit sketchy, but there's a basic overlay about bot capabilities at various levels:
 * Novice: 60% movement speed, won't move during combat, 30° field of view, aim can go up to 30° off target, turns less than 180° per second.
 * Average: 70% speed, little better accuracy, turns a bit more than 180° per second.
 * Experienced: 80% speed, uses Translocator, strafes during combat, 40° field of view, turns more than 180° per second.
 * Skilled: 90% speed, can double jump, field of view 60°, turns approx. 225° per second.
 * Adept: full speed, tries to dodge incoming fire, tries to get closer during combat, if using non-hitscan weapon then "leads" aiming, field of view 80°, turns nearly 270° per second.
 * Masterful: uses Impact Hammer to jump higher, uses shock combo, changes target during combat, in Onslaught it will repair powernodes before leaving, field of view 100°, turns approx. 315° per second. This is as close as it can get to a real human opponent - higher skill bots are considered bots that cheat.
 * Inhuman: tries to dodge enemy aim, field of view 120° without distance limits, bails out if an incoming AVRiL will destroy the vehicle, turns around in less than one second.
 * Godlike: aim goes less than 1° off target, 360° field of view without line of sight limitations (meaning it sees the whole map at all times), turns around in less than 0.5 seconds.

Bots move around the map using a pathnode network placed by the map's creator in UnrealEd. They first decide their current objective; if it is not a pathnode itself (items and flags are), then they find the nearest node. Next they find the node nearest to themselves, then extrapolate the shortest route along the network, making a beeline from node to node until the objective. Bots do not actively hunt the player at first, but prefer to go around the map and collect items until the player wanders into their line of sight, at which point the bot begins combat. If a bot was hurt or killed by another bot or the player, it will sometimes actively go for revenge as their immediate goal, killing the offenders in the order they attacked it. If a player runs away, the bot may follow for a short time then return to it's previous activity.

Bots automatically assume spawnpoints and item positions as safe. If a bot calls for help and/or another volunteers, then a squad is formed. The leader moves and behaves normally while the others follow it no matter what. They may go for a short distance away to collect another weapon or engage an enemy but they will immediately return; in short, followers can still do everything normally but they won't if the leader's actions conflict it (for example, it won't go home and defend the flag if the leader is running towards the enemy base).

Sometimes bots can get stuck: they try to achieve something and if they are unsuccessful, they try again, ad infinitum. This is often caused by problematic pathing: the node network says they can do it but in reality they can't (for example, map geometry is obstructing the path or they are trying to jump to a ledge only accessible via translocator).

Bot behavior can be studied by using the Mind Reader mutator (UT only, available here) or the ShowDebug console command for UT2003/2004, both while spectating a bot.

Links

 * Bot on Unreal Engine Wiki