THE BOT FAQ
WHAT IS A BOT?
A BOT in the First Person Shooter (FPS) world of Quake, Quake II, Half-Life, Quake III Arena, Unreal and the Unreal Tournament Series is a “roBOTic” computer controlled entity that simulates a human deathmatch opponent or even a cooperative player. The heart of the bot lies in its AI—artificial intelligence. There are several kinds of Bots that can be created to either fight for or against the individual player. This article and related web page will focus upon those Bots that are deathmatch opponents and only make passing reference to the Helper and Proxy Bots.
BOT BASICS: CLIENT AND SERVER TYPES
The CLIENT-SIDE (C/S) Bots are usually written in C or C++ as stand-alone, completely independent programs. They must connect to a server like a real Quake client (i.e., player) and perform the protocol of interpretation themselves. In the realm of C/S Bots are found the controversial Proxy Bots. (Not all Client-Side Bots are Proxy Bots but all Proxy Bots are Client-Side Bots.) A Proxy Bot "sits between" the Quake client and the Quake server and enhances the player's abilities (i.e., aiming and firing). These Proxy Bots effectively turn the individual player into a kind of "cyborg." Thus, Proxy Bots, like the famous Stanford StoogeBot, are usually considered "cheating." Other non-proxy Bots are generally called Quake C/S Bots. These Bots would include QuakeBot C/S, MikeBot, MysteryBot, TerminatorBot, ZaphBot, AdminBot, and JavaBot. All of these Bots are for Classic Quake. A Quake II proxy called ZBot has made its appearance and a Pandora C/S Bot is also available. (There is now even a proxy Bot for Quake III Arena, and one for Unreal Tournament.) Though this article and web site do not specifically deal with or focus on Quake Client-Side Bots, several links to major C/S Bot sites will be found on the CLIENT/PROXIES page. However, most of the C/S Bots are no longer in development and thus, most are no longer available. I must add that all Quake Bot lovers are indebted to the pioneering work done by the creators of the C/S Bots. It is here that the issues of and quest for "killer" AI finds its home in the Quake community. The sites that are devoted to the C/S Bots are usually maintained by the programmers themselves and thus make for some very interesting, even though technical, reading.
The SERVER-SIDE (S/S) Bots for Quake are written in QuakeC. But, Quake II S/S Bots are actually written in C or C++ and are much more sophisticated (i.e., powerful) than the Quake Bots. Both Quake and Quake II Bots are interpreted by the Quake engine itself. They are considered to be Quake MODificationS (MODS). These Bots can be either Helper Bots or Deathmatching Opponents. The Helper Bots play cooperatively with you through Quake or in Deathmatch where they guard and fight for you. This article and related web site deal with and focus upon the DEATHMATCH SERVER-SIDE OPPONENT BOTS. (It is important that I stress this fact, because many feel that I am overlooking or ignoring the other kinds of Bots. As stated before, while I will not be dealing with the Client-Side Bots or the Helper Bots, I do have links to several major sites that cover most of these Bots quite well.)
BOT STYLES: STATIC OR DYNAMIC
In considering the Server-Side Opponent Bots it is also significant to note that two programming styles for these Bots have arisen. One is dynamic while the other is static. This means that some Bots dynamically learn the levels and maps as they play; while others are static in that the levels and maps have already been processed (i.e., using waypoints or pathnodes) for them. Both of these techniques produce great Bots. Perhaps the only difference is that Dynamic Bots can play any map while Static Bots cannot. Most Bots, like the Reaper, Omicron and Zeus Bots are Dynamic Bots. In Quake the Eliminator Bot by Cameron Newham and the Frog Bot by Robert Field are Static Bots. In Quake II the Eraser Bot originally was a Static Bot; however, it has now been programmed to learn and play any level as it creates its own route file as it plays. Most of the Bots in Quake II are Dynamic Bots, but the Gladiator Bot comes with its own ingenious pathnoding program. The Bots in Unreal, the Unreal Tournament Series as well as Quake III Arena are basically static Bots. So, the waypoints or pathnodes are laid down for them in the map making process. Thus, the difference between the dynamic and the static Bots is mostly academic. However, the Bots that navigate the level using some system of waypoints or pathnodes generally play better than those that do not. But, the quality of play will depend upon the quality of the pathing, not just the programming of the Bot.
THE FIRST GENERATION BOTS
There have been numerous Server-Side Deathmatching Bots, the most famous being Steve Polge's Reaper Bot. However the Reaper Bot is only one of many hall-of-fame Bots that deserves mention. Thus, one of the reasons for this article and this web site! One of the earliest Bots was the BGBot and later came the Zeus Bot, the Omicron Bot, the Frog Bot and others. (It should also be noted that the Reaper has even had several clones—actually based upon the Reaper code—like the Quake Bot, Estep Bot, ReaperFX, etc. These Bots have made significant improvements over the original Reaper.) Many, if not most of these Bots have been discontinued, especially with the advent of Quake II and Quake III Arena. Yet, with the release of Coffee's Tutor Bot, there has been renewed interest in the Quake Bots. Perhaps Classic Quake WILL live forever!
THE SECOND GENERATION BOTS
The Quake II Bots have come into their own, and have held their rightful place in the world of Bots. Currently the Eraser, CRBot, 3rd-Zigock, 3ZBII, ACE, ICE, and Gladiator are available and are among the very best. Other Bots, of course, have been and will be released from time to time. All of these and several others for various FPS games are listed on the BOT PAGE. (Even DOOM II, Duke Nukem, Kingpin, Hexen II, Sin, Jedi Knight and Heretic II now have Bots available for them. And, some Half-Life, Soldier of Fortune, CounterStrike and other Bots have made their appearance.) Like their predecessors, the Quake II Bots and similar Bots will go through many, many versions as they seek to attain the "perfect" AI which would enable them to become almost "human"! That is, after all, the driving force behind all AI projects: to create a Bot with human intelligence and with a human-like spirit. In terms of the Bot Deathmatching experience, it is all about creating the most human-like opponent possible in a computer simulated player.
THE THIRD GENERATION BOTS
Because of all of the interest in Bots, another FPS made its appearance with Bots built right into the game—Unreal. These Bots were created by Steve Polge, the author of the Reaper, and they are very good. The Unreal Bots (which should be considered Second Generation Bots) must play levels that have specifically been pathnoded for them during the level making process. It appears that FPS gaming companies are finally beginning to awaken to the fact that Bots ARE an important part of the gaming experience. With the release of the Unreal Bots, Bots were finally becoming a higher priority in the gaming world! (It should be mentioned right here that the Unreal Bots were also modified for Nerf Arena Blast where they were taught to play a whole new game.)
And then, Unreal Tournament and Quake III Arena made their appearance. They have been released with some of the best Bots ever built right into a game. (It should be noted that Steve Polge continues to work on the Unreal Tournament Bots. And, Mr. Elusive, of the Omicron and Gladiator Bots, was brought in to work on the Quake III Arena Bots.) These are the Third Generation Bots and in a word they are FANTASTIC! Bot AI has taken a quantum leap forward. (It is interesting to note that the Bots in Unreal Tournament and Quake III Arena are even being tweaked by the MOD makers. And, some totally new Bots for Quake III Arena and Unreal Tournament have made their appearance.) At last count, there were over 100 Bots available for various FPS games out there, with more on the way. The Star Trek Voyager: Elite Force Bots, based upon the Quake III Arena Bots, have now been released. Bots have even made their appearance in Tribes II. There are also Bots in Jedi Knight II: Jedi Outcast. And, Team Fortress II should also eventually contain Bots and, possibly, so should Duke Nukem Forever. So, the future of Botting in the gaming world looks promising!
THE FOURTH GENERATION BOTS
In a word, the fourth generation Bots are all about Steve Polge and Unreal Tournament: 2003/2004. It seems that fewer and fewer fourth generation third-party Bots will be developed. (It remains to be seen if more gaming companies are going to pursue the development of fourth generation Bots in their First Person Shooter products.) But, something interesting is happening. Let me take you back a few years. In the beginning Bots were simply a primitive extension of the AI of Non Player Characters in FPS games. In other words, Bots basically evolved from the enemy AI of the single player game. Bots soon became an AI world unto themselves. Now it seems that Bot AI and enemy AI in the world of FPS games are merging. At the very least the line between them is rather blurred. But, AI and scripting technologies have advanced to the point that Bots are more human like in their movement and more realistic in their fighting styles than ever before. This also means that enemy AI in single player games is getting better and better. Some games (like Medal Of Honor: Allied Assault) have such well executed enemy AI and scripting in the single player game that Bots are barely missed. (Though they would have been a welcome addition to the multiplayer deathmatch experience.) All in all, the fourth generation Bots will supply a basically satisfying deathmatch experience. They also add a sparkling dimension to other game styles (i.e., CTF, Domination, etc.) when the Bot programmers go the the painstaking trouble of teaching them how to play the game.
BOT MODS AND MUTATORS
In addition to the Bots themselves, it should also be mentioned that some very creative people have been hard at work making all kinds of modifications and mutators for Quake, Quake II, Half-Life, Quake III Arena, Unreal, and the Unreal Tournament Series. Some of these MODS and add-ons make for a much, much better game. There are several of these MODS that actually include or allow for the Bots. Currently one of the most celebrated MODS of all time is for Half-Life's Counterstrike MOD. Now there are even several Bots being made for it! There are also going to be Bots in the new Counterstrike: Condition Zero MOD! These BOT MODS are specifically linked to from this site. They are an absolute must see and play! The MODS and the Bots turn Quake, Quake II, Half-Life, Quake III Arena, Unreal, the Unreal Tournament Series, and other FPS games into a virtually unlimited gaming experience. And, this is only the beginning! What will the next generation of Bots hold for us? Stay tuned . . .
Thus, these are the Bots and they are, in part, what make Quake, Quake II, Half-Life, Quake III Arena, Unreal, Unreal Tournament, and other First Person Shooters such great games!
Back to Randar's Main Page . . .
Copyright © 1998-2013