botman's bots

Half-Life bot development


Home/News
About
Projects
- BotMixer5000
- HPB bot
- Bot # 10
- Bot # 9
- Bot # 8
- Bot # 007
- Bot # 6
- Cinco Bot
- Bot # 4
- PG Bot
- Gump Bot
- Fodder Bot

- The Darkulator
- BSP tools
- hpk_extract
- Monster
- Stripper2
- Singing Walter
- NetProbe
- Coding Pages
Downloads
MOD FAQ
Building the SDK
SDK Humor
HPB Waypoint files
Forum
Links


About me
E-mail me

Bot Number 4:

Bot Number 4 will ONLY work with Half-Life version 1.0.1.3 - 1.0.1.6.  If you are using Half-Life version 1.1.0.0 or higher you won't be able to use this bot.

Bot Number 4 has had the following additions from the Pretty Good Bot:

Bots can now be spawned with specified models, player names, and skill levels. The format for the "addbot" command is "addbot <model> <name> <skill_level>" Where <model> is "barney", "gina", "gman", "gordon", "helmet", "hgrunt", "recon", "robo", "scientist", or "zombie". The <name> field can be any player name you want. The <skill_level> is an integer from 1 to 5, where 1 is the best skilled and 5 is the worst skilled. All of these arguments to "addbot" are optional. If you simply enter "addbot", a random model will be chosen with a name to match the model, and the default skill level will be used. For example, the command "addbot barney Wilbur 5", will create a bot using the barney model skin with a player name of "Wilbur" and a skill level of 5.

The default skill level can be set by the console command "botskill". Entering "botskill" without arguments will display the current default skill level setting. Entering "botskill" followed by a skill level from 1 to 5 will set the default skill level to that value. For example, the command "botskill 5" will change the default skill level to 5.

Bots will use weapons fairly intelligently. Bot's know which weapons work best at what ranges and will switch to the "best" weapon that they are carrying that still has ammo available. Bot's don't use secondary fire on any weapons yet.

If you shoot at a bot using the "barney", "hgrunt", "recon" or "scientist" model, the bot will occasionally say things back at you when you shoot at them. Barney will say "Bring it on!" or speak pain sounds ("Argh!"). The hgrunt and recon models will say "Is that all you got?", "I'm Hit!", "Ugh! MEDIC!", or "You got nothin'!". The scientist models will say "Aaaah!", "Get back!", or "Stop!".

The bots now know which direction damage is coming from and will turn to face an attacker if they aren't already engaged with an enemy.

The bot will now rotate more like a human player. Previously the bot would turn from one angle to another instantaneously whereas a player can only turn about 20 degrees per 1/10th of a second. The bot now sets an "ideal_yaw" to the angle that they would like to face, and will gradually rotate toward that angle.

The roaming (navigation) code for the bot is still pretty random. If the bot gets stuck somewhere it randomly turns between 10 and 30 degrees and tries to move again.

The "observer" mode console command also exists in Bot Number 4. For details on how to use the observer command, read the discussion of the Gump Bot

Known Problems:

The bots don't know how to navigate in water. (Like shooting fish in a barrel!)

When the bots get killed, their body will drop to the floor, but sometimes the body will "lurch" across the floor a bit when the bot respawns. (DOES ANYBODY KNOW WHY THIS HAPPENS???)

The bots don't know how to use Hand Grenades, Satchel Charges, Tripmines, or Snarks.

The bots don't know how to use Health or HEV stations on walls.

The bots run WAY faster than real human players do. I'm looking in to why the bots speed doesn't match the human players speed, but if you try running behind one, they will very quickly out run you.


Downloading Bot Number 4:

Below are compiled DLLs and source code files for Bot Number 4. When unzipping these files PLEASE be sure that the directory structure is preserved ("Use folder names" in Extract window of WinZip) and BE SURE you extract these files into the Half-Life folder (NOT the Half-Life\valve folder). You should have the following directory structure when you are done...

     C:\Sierra\Half-Life\ (or some similar path)
              \Half-Life\Bot\
              \Half-Life\Bot\dlls\
              \Half-Life\Bot\maps\

              (...other directories left out here...)

              \Half-Life\valve\
              \Half-Life\valve\cl-dlls\
              \Half-Life\valve\dlls\
              \Half-Life\valve\gfx\
              \Half-Life\valve\maps\
              \Half-Life\valve\media\
              \Half-Life\valve\models\
              \Half-Life\valve\models\player\
              \Half-Life\valve\Save\
              \Half-Life\valve\sprites\
You will need to copy .bsp map files from the Half-Life\valve\maps folder to the Half-Life\Bot\maps folder.  You will also need to copy the config.cfg file from Half-Life\valve folder to the Half-Life\Bot folder. (See Detailed steps for running the bot for more information).

Download Bot Number 4
Download Source code to Bot Number 4