Video game bot
In video games, a bot is a type of weak AI expert system software which for each instance of the program controls a player in deathmatch, team deathmatch and/or cooperative human player, most prominently in the first-person shooters (FPSs). Computer-controlled bots may play against other bots and/or human players in unison, either over the Internet, on a LAN or in a local session. Features and intelligence of bots may vary greatly, especially with community created content. Advanced bots feature machine learning for dynamic learning of patterns of the opponent as well as dynamic learning of previously unknown maps – whereas more trivial bots may rely completely on lists of waypoints created for each map by the developer, limiting the bot to play only maps with said waypoints. Using bots is incidentally against the rules of all of the current main Massively multiplayer online role-playing games (MMORPGs).
In MUDs, players may utilize bots to perform laborious tasks for them, sometimes even the bulk of the gameplay. While a prohibited practice in most MUDs, there is an incentive for the player to save his/her time while the bot accumulates resources, such as experience, for the player character.
Bots can help a gamer learn the gameplay environment and the game rules as well as help them practice shooting accuracy and gaming skills before going online to compete with other human players in a multiplayer environment. Some PC gamers prefer to play exclusively with bots rather than human opponents – especially in the case of those who have slow dial-up internet connections and thus may be unable to play online. Bots can also be used to allow players to play without worrying about opponents using cheats or exploiting bugs in the game. Players may also use bots to fill in spots on a server when there are few other players. In this respect, bots help create a longer interest in the game. Most bots use existing 3D models, textures and sound of the games or mods.
Some multiplayer games were released initially without single-player components and bots were created or added later on by fans and enthusiasts in the modding community.
Bot types 
Bots can be either static or dynamic.
Static bots are designed to follow pre-made waypoints or pathnodes for each level or map. These bots need to have a unique waypoint file for each map, or a pathnode system embedded in the map, if they are to function. For example, Quake 3 Arena bots use an AAS (area awareness system) file to move around the map, while Counter-Strike bots use a WPT (waypoint) file. Unreal Tournament's series bots use an embedded pathnode system in the map to navigate.
Dynamic bots, on the other hand, dynamically learn the levels and maps as they play. RealBot, for Counter-Strike, is an example. Some bots are designed using both static and dynamic features.
- Gal A. Kaminka, Manuela M. Veloso, Steve Schaffer, Chris Sollitto, Rogelio Adobbati, Andrew N. Marshall, Andrew Scholer, and Sheila Tejada. GameBots: A Flexible Test Bed for Multiagent Team Research. Communications of the ACM, 45(1):43–45, January 2002.