Video game bot
A bot, most prominently in the first person shooter PC game types (FPS), is a robotic computer controlled entity that simulates an online or LAN multiplayer human deathmatch opponent, team deathmatch opponent or a cooperative human player. Computer game bots work via artificial intelligence routines pre-programmed to suit the game map, game rules, game type and other parameters unique to each game. Bots are not only found in FPS PC games; they are also featured in several console games.
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.
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.
MUD bots
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 [1] [2].
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 upon 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.[3] 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 2007, 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.
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.
Some well-known bots
- mm.BOT Pixel-driven player automation for Diablo II
- Botman's bot, HPB_bot for Half-Life.
- Elite Force bot for Star Trek: Elite Force II
- Fritzbot ET and Omni-bot, bots for Enemy Territory
- FrogBot, Reaper Bot (which was the very first computer bot) for Quake
- L2Walker for Lineage 2
- SWG Auto Clicker for Star Wars Galaxies
- OpenKore, Rêvemu, xvkore, modkore, visualkore for Ragnarok Online
- POD bot or the official CS bot by Turtle Rock Studios for Counter-Strike and CS: Source
- Rune bot for Rune
- ShrikeBot and SturmBot for Day of Defeat (DoD)
- StormTrooper Bot for Quake III Arena
- SpiterBot for Quake III Arena by QrealKa, bot that imitates human movement.
- Tactical Ops bot for Tactical Ops: Assault on Terror
- Wolfbot, Fritzbot for Return to Castle Wolfenstein.
- VNS_Halen_ [1] bot for Age of Empires II: The Conquerors Expansion
- Opaquey Orb for PEWEPLAND
- WoW!Sharp, MMOGlider, Innerspace-ISXWoW(WoWBot) or WowZolo(fisher/fighter) for World of Warcraft
- AllianceThundaEmpire: An Artificial Intelligence script, along with many others [4], which performs better [5] than the built-in Computer controlled player in Age of Empires II.
- Foxbot for Team Fortress Classic
- iSRObot for Silkroad Online
- WowGlider (now Glider) for World of Warcraft, currently the subject of a lawsuit between its creator MDY Industries and Blizzard Entertainment
Games with built in bots
- Age of Empires II: The Conquerors
- Alien Arena
- Battlefield 1942
- Battlefield 2
- Battlefield Vietnam
- Battlefield 2142 (also features AI controlled equipment)
- Conker's Bad Fur Day
- Conker: Live & Reloaded
- Counter-Strike: Condition Zero
- Counter-Strike: Source
- Duke Nukem 3D: Atomic Edition (activated by a command line parameter)
- James Bond 007: Nightfire
- Killzone
- The World Is Not Enough
- Mechwarrior 4: Mercenaries
- Medal of Honor: Rising Sun
- Metroid Prime Hunters
- Pariah
- Perfect Dark (in which they are known as "Simulants")
- Perfect Dark Zero
- Quake III Arena
- Red Dead Revolver
- Red Faction (console version)
- Red Faction 2
- Soldier of Fortune
- Star Trek: Voyager Elite Force
- Star Trek: Elite Force II
- Star Wars Battlefront I and II
- Star Wars Jedi Knight II: Jedi Outcast
- Star Wars Jedi Knight: Jedi Academy
- Starsiege: Tribes
- SWAT 3: Close Quarters Battle
- Timesplitters series
- Tribes 2
- Unreal
- Unreal Tournament series
- XIII
Notes
- ^ http://www.aardwolf.com/mud/trigbot.html botting rules in Aardwolf
- ^ http://dentinmud.org:3004/rules/5 botting rules in Dentinmud
- ^ www.gammon.com.au/forum On testing of mud botting
- ^ "Welcome to AI Scripters". Retrieved March 16, 2007.
- ^ Smed, Jouni (September 2003). "Towards a Definition of a Computer Game" (PDF). Report No 553. Turku Centre for Computer Science. ISBN 952-12-1217-9.
{{cite conference}}
: Unknown parameter|booktitle=
ignored (|book-title=
suggested) (help); Unknown parameter|coauthors=
ignored (|author=
suggested) (help)
See also
- Non-player character (npc)