Skip to end of metadata
Go to start of metadata

In general, a 'Bot' is classified as a software application, capable of carrying out required tasks by itself with little, to no input from a user. An automated software entity. In relation to Games, 'Bot' is the term given to a computer controlled entity which operates autonomously with or against a User/Player, simulating a second User. Although no Bot can match the abilities of a Human opponent; with clever AI coding, they can mimic these methods. Bots are used to create an extra challenge for Players, in addition to or in place of, multiple other Players. Depending on the genre of game, the Bot will function in completely different ways, specialising in particular intelligence and using varying methods of AI to mimic a Player without possessing impossible advantages.

Bot Types

Non-Playable-Character (NPCs)

On a sidenote,a number of games also use NPCs. These computer controlled entities that use rule-based systems or very basic AI, typically with only a single task to perform, so cannot be truly classified as a 'Bot' as they are not designed to mimic Human capabilities (eg. problem solving or reasoning). Most game types have NPCs in some form, generally providing an environment or ambient setting for the game. Depending on the game, the control behind such entities may be as much as simply playing an audio track every so often, to simply moving towards an active Player until it is removed/dealt with. As NPCs are common to almost every gametype and not technically a 'Bot', but a product of the game, they are discounted from further research.


Strategy Game Example 1

Strategy games generally involve a mix of economic system in the form of gathering points to upgrade the capabilities and numbers of the Player's forces, which are then used to eliminate the opponent's forces to obtain a win. Coming in two main varieties, Real-Time-Strategy which has a constant flow of action and Turn-Based-Strategy, which means the players take it in turns to plan and execute actions. Many include other forms of victory, such as gathering a set number of points, controlling an objective on the level or performing some ability before the opponent can.

In RTS-type games, it is possible to distinguish several modules of the artificial intelligence system and its layered structure. One of the basic modules is an effective path-finding system sometimes, it has to find a movement solution for hundreds of units on the map, in split seconds and there is more to it than merely finding a path from point A to point B, as it is also important to detect collisions and handle the units in the battlefield avoid each other. Such algorithms are typically based on the game map being represented by a rectangular grid, with its mesh representing fixed-sized elements of the area. On higher levels of the AI system's hierarchy, there are modules responsible for economy, development or, very importantly, a module to analyse the game map. It is that module which analyses the properties of the terrain, and a settlement is built based on the assessment, e.g., whether the settlement is located on an island, thus requiring higher pressure on building a navy. The terrain analyser decides when cities should be built and how fortifications should be placed. In a number of games, the AI has a number of 'scripts' or types, which have a particular list of priorities, to customise the Bot. These scripts may place higher value on building defences then offensive units, or hurling nonstop waves of attacks at one opponent before considering anything else, or the simpler versions just vary the 'difficulty'. A more 'difficult' Bot, would use more cunning tactics or more organised economy system, in most games this difficulty is created by limiting the easier Bot's capabilities, deliberately making it slower and in some cases, removing a module completely. Other games create difficulty by making the Bot cheat, giving it a multiplier advantage over the human opponent, so it can build units faster or generates more money, such methods do not make the Bot smarter or better then other Bots, simply giving it more advantages in the game.

Strategy Game Example 2

More recent versions of the RTS genre Bot take these methods a step further with the aid of more advanced game engines, employing actual strategic tactics in an attempt'outwit'a Human opponent. These methods include analysing the Human opponent's playing style and creating a counter; this may be for instance, simply building anti-air defences after discovering the Human opponent is using air units, upto assessing what the Player uses against it and creating a force designed to defend and then decimate them. By shifting around the priorities of its high-level system modules rapidly, the Bot can react to the Player more effectively. The most advanced Bots have the capability to learn from the Player and remember for the future, making subsequent games so much harder.

First/Third Person Shooter

These games involve the players/Bots taking control of a single entity on a level, in an attempt to eliminate other entities or accomplish goals. First Person means the camera is 'within' the controlled entity, viewing out of its eyes as it moves, whereas Third Person means the camera is hovering behind the controlled entity. There are a huge number of these types of games, although a few do not strictly speaking, involve shooting, they can be classed under the same AI type systems and normally referred to as FPS Bots.

FPS BOT Example 1

These Bots use a more advanced pathfinding module then the RTS Bots, but only have a single entity to direct, as most FPS game maps contain multiple levels of player, utilising stairs, lifts or simply jumping over low obstacles/drops. The original versions of the FPS pathfinding modules ignored all these modes of movement and were thus quite limited and easily avoidable by just jumping over a wall or object. Bot pathfinding used to use defined botpaths around maps, which would be configured by the creater of the map and the Bots would only stick to these paths or get back to the nearest, this caused problems when a Bot found itself off a path and no way back, involving running into walls. Newer Bot pathfinding AI doesnt use the set paths, simply defining the limits/walls of the map and letting the Bot have free reign, allowing it to chase after a human opponent in any way it can, utilising lifts, jumps and even in some games, using a portal/teleport device.

How a Bot reacts to an opponent can vary, basic AI Bots will more often run towards the opponent, firing a weapon, using simple/effective coding it would constantly hit the player and not stop until either is eliminated. In such a case, being able to hit a target everytime is a downside and akin to cheating as the computer knows constantly where the player is. In the first FPS games, Bots had a habit of shooting into walls and objects as it registered a player on the other side of them, or was capable of performing a 180 degree turn instantly and fire a number of shots into the player. Unlike the RTS Bots, FPS Bots need to be limited to be called good or even playable.

FPS BOT Example 2
The targeting modules, which would track the positions and orientation of the Bot, meant unless the player was within the 'visual' range or orientation, they would be passively ignored unless the Bot was alerted to the presence of another entity. Such alerts would consist of being hit by them or in most games by noise that may be created from an entity running, jumping or simply traversing a noisy piece of terrain. Once alerted the Bot would open fire on the target, using random variables in the targeting to prevent deadeye aim (especially on 'easier' Bots), with its weapon (decided by range, preference or what was available), constantly firing at the player. Defensively most Bots have a module to control dodging and trying to place terrain between the player and it, newer Bots can also recognise terrain advantages, such as explosive barrels or being able to shoot through some terrain.

Each FPS Bot tends to have a controlling script, generally one for each visual skin for the player entity or a default. These scripts are much like the RTS kind, where the priorities of the Bot are customised to a select style of play. This may be a favoured weapon, where the Bot will head for the nearest one and only use that weapon unless its unavailable, or a tactic such as lying in wait in particular spots, taking advantage of the pathfinding module to locate suitable locations.

Sports Bots

Sports BOT Example

Sports Bots come in a few different flavours; driving/racing Bots, teamgame (football,basketball,hockey,etc)and board games (connect 4, cardgames, etc). Arguably there could be more types of Bot as there are a lot of sports type games around.

Driving Bots are generally fairly simple, much of the Bot's route around a track can be calculated ahead of time, with apex's and top speeds calculated per track to program such a bot. Such things would be expert system AI, following the same rules each time. The AI gets more complicated when a human opponent is factored in, in Real-time, by getting in the way of an opponent and in some games, the need to try and damage the player's car. Again, scripting controls the fine details of the AI's performance, differing between each of the Bots, some may prefer a more aggressive style of driving, whereas some would prefer defensive. In Formula 1 games, they also have the pitstop variables to balance, aggressive games have the ability to blow up opponents cars as well, sometimes including things like nitro boosts or weaponry, giving the Bot more options to think of, on-the-fly.

Teamgame Bots are the AI players playing with or against the human, it may be your defenders and goalie. Regardless of which team they are on, they behave intelligently, aiding the player on their team or closing in around them. Pathfinding is pretty simple on a set size, completely level/empty pitch, depending on the Bot's role, they may be limited to a set area, like the goalie. However, due to the game itself, there are a lot more limiting rules built into the Bots and human player themselves, allowing the AI to come very close to human standards. Most Bots nowadays also have graph based variables, allowing some to behave better then others, offering more realistic reactions from them, but these graphs also affect the player too.

Boardgame type Bot's are pretty basic AI, using treesearch systems generally, if even that. They are the cardgame players in Hearts, noughts and crosses and connect 4, a presorted treesearching AI, other boardgames, such as chess or go, may have more complex trees to search. Other Bots like those that play against the player in Monopoly type games, use almost no sensible AI, randomly generating responses based on a couple of rules (Green>Brown, Cash supply, etc), in most cases the AI has no direct involvement with the Player.

Singularity/'Boss' Bots

Singularity BOT Example

These Bots are a special class, branching over most game genres and being a cross between NPC and Bot. These are the special Bots, based at the end of levels or the game. They have huge advantages over the player but tend to be limited in some way, making them not true Bots as they don't seek to simulate a human player. The visual size is generally much bigger then any other Bot or player, to mark them as unique, the weapons and abilities they have are far more powerful and they have much more health. Most 'Boss' Bots take awhile to defeat, giving more of a 1on1 challenge to the players.

FPS 'Bosses' tend to be a very large entity that performs a limited number of animations or movements, but has the potential to completely obliterate the player or environment if they do not react fast enough. Older versions were almost static objects but used a number of fancy methods of attack including homing missile like weapons that chased a player around the level for them. The older Bots generally had some huge weakness to their AI which made them predictable with practice. Newer 'Bosses' are far less predictable due to random responses and a mix of rapid attacks to throw the player off. Combined with the huge health, the player has to dodge/block a lot of attacks, very fast for a fairly long time, while still causing enough damage.

RTS 'Bosses' are rarer, not many games use them as much, but they follow much the same guidelines as the FPS versions, limited movement but the capabilities to destroy a large portion of a battlefield. Requiring changing tactics to overcome its defences and abilities. RTS 'Bosses' place even more importance on the player having a balanced force, as many change their defensive abilities to counter its greatest threats and RTS forces tend to have less flexibility in changing attacktypes then FPS games.

FPS BOT Example 2

The AI of both types uses criteria weighting, more commonly referred to as Threat, to decide who to attack first. The more damage a player or entity does to the Boss, the more likely it is to target them, this is balanced against its closest target and the health of its choices. Given a choice between a target almost dead at its feet or a high damage target a mile away, the AI may chose to finish off the weaker threat to prevent it causing damage later. This is especially true in multiple player games, where the players may co-ordinate their attacking, the 'Boss' will seek to intelligently target a player, but prevent swapping constantly. Older versions would switch target constantly depending on the damage caused, this allowed 'Kiting' of a 'Boss', which has the Bot run towards one player who then stops attacking, the Bot then turns to race after another player who is now causing more damage, who in turn stops and the first restarts. By doing this the Bot is busy running between the players and not actually attacking them, making it particularly easy to pick them off, newer 'Bosses' overcome this and tend to attack a player while keeping the others off its back in some way. Utilising shielding, environmental cover or other defenses, while it eliminates each player in turn.

  • No labels