Computer game bot

From Wikipedia, the free encyclopedia
Jump to: navigation, search

A bot, most prominently in the first-person shooter types (FPS), 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. Computer bots may play against other bots and/or human players in unison, either over the Internet, on a LAN or in a local session[1]. 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. Bots are also currently against the rules of all of the main 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.

Contents

[edit] Usage

Bots can help a PC 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.

Bots are usually written in C or C++ as stand-alone, completely independent applications or plugins or just dynamic link libraries (dll) for an existing game engine. In the Ragnarok Online game, the Perl programming language is exclusively used to create bots. Some authors also write some applications with which the bots' behavior, skills and other characteristics can be created or modified, such as Bot Studio for Quake III Arena.

[edit] MUD bots

Architecture of a proxy-type bot.

The programming, styles of use, and the purpose of MUD bots is quite different from bots found in FPS games. MUD bots are not normally utilized as alternative opponents, but rather to perform tasks on a player's behalf. This practice is often seen as disruptive and hence prohibited in many MUDs [2] [3].

What constitutes a MUD bot is most often an extended and perfected script on a mud client, a program that a person would normally use to connect to the game. Different MUDs have different rules as to how an illegal bot is defined, some even prohibiting the use of any automated scripts altogether.

It is generally agreed that a sufficiently sophisticated bot will be indistinguishable from a human player, if the bot is able to summon the player to the terminal for those tasks that it is not programmed to perform.[4] For less sophisticated bots, this will mean any event it is not specifically programmed to react to. For more sophisticated bots, this means chatting and other complex tasks.

Note that the Turing test is used to evaluate a machine's capability of engaging in a human-like conversation. As of 2009, no machine has passed such a test, making the conversation test an effective measure against would-be botters. As said, this test loses much of its effectiveness if the bot client in question is able to alert the human with sufficiently short notice, so that the botted game performance may be supplemented with actual real-time human communication, making detection harder.

[edit] 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.

[edit] See also

[edit] Notes

  1. ^ 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. [1]
  2. ^ http://www.aardwolf.com/mud/trigbot.html botting rules in Aardwolf
  3. ^ http://dentinmud.org:3004/rules/5 botting rules in Dentinmud
  4. ^ www.gammon.com.au/forum On testing of mud botting

[edit] External links

Personal tools
Namespaces
Variants
Actions
Navigation
Interaction
Toolbox
Print/export
Languages