Bot

A bot is an computer-controlled player with an AI that accesses the game's internal data so as to know where it is and where its targets are found. Bots can be designed to attack monsters (for single-player or cooperative games), to attack fellow players (for deathmatch), or both.

Though a bot is normally a player, some mods feature "coop bots" that are in fact friendly monsters scripted to have attacks similar to those of the player.

History
The rise of bots started in the mid-nineties, when DeHacked was released. Besides modifying existing monsters, using a clever patch it was capable of producing a player that would attempt to simulate a real player. To make these usable in multiplayer, a modified IPXSetup.exe would be used, along with a specialized batch file.

When the Doom source code was released, programmers started to develop their new bots, utilizing one of the new source ports such as DOSDoom or Legacy. These were source modifications: Making use of the existing feature set of a port and combining it with new bot related code. As such, these source modifications thus had more features onboard than their non-bot equivalents.

Modern day
In later years, the necessity for seperate bots in the form of source modifications declined, as major ports like Skulltag and ZDoom would integrate their own bot code in the main codebase, removing the need for seperate bots. Currently, new bots are now based around a content definition language like DECORATE, ZScript or ACS or a mix of these. This enables wide range support by source ports.

DeHacked based

 * ImmyDM (March 13, 1995)
 * Computer Deathmatch 2.0 (March 3, 2013)
 * Computer Deathmatch 4.0 (November 19, 2018)
 * Flame Warfare (June 9, 1995)
 * Grab That Throat! (August 30, 1996)
 * Master (April 4, 1997) (Early DeHacked based version)
 * Mr.Doom's Solo Deathmatch (November 7, 1997)
 * Deathmatch Warmup (January 7, 1998)
 * SoloDM (May 9, 1999)
 * Thug Autoplayer (August 18, 2000)

DOSDoom based

 * DeathBot
 * Nexus Bot

Eternity based

 * AutoDoom

Legacy based

 * ACBot
 * Cajun

MBF based

 * MBFCompPlayer (uses a BEX based DeHacked patch)
 * NBot

ZDoom based

 * DoomBot (Version 4.0)
 * OPNDoom
 * ZCajun
 * ZDoomBot (Versions 5.1 and 5.2)

Others

 * TDBots (ACS/DECORATE based) (Eternity, MBF, PrBoom+, Skulltag, ZDoom/GZDoom/LZDoom, Zandronum)
 * DecoBot (ACS/DECORATE based) (ZDoom, Zandronum)
 * ZetaBot (ZScript based) (ZDoom family)
 * YBot
 * ZDWBot
 * LonerBot