botman's bots

Half-Life bot development

- 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
Building the SDK
SDK Humor
HPB Waypoint files

About me
E-mail me

Bot Number 5 (The Cinco Bot):

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

The Cinco Bot has had the following additions from Bot Number 4:

The bots know how to use Health stations and HEV stations on walls.

The bots know how to use buttons that operate lifts (elevators) and will use lifts whenever they see the button (as long as they are close enough to press the button).

The bots know how to jump up onto surfaces when they are blocked and can't move straight ahead. Because of the crude way that I am detecting "jumpable" surfaces, the bots don't jump onto small boxes very often, but they do tend to jump onto railings and out of windows on the CROSSFIRE map quite frequently. Definitely try that map out.

The bots know how to duck under something when they are stuck and can't move. If there is an opening in front of the bot and the bot can't move forward while walking or running, the bot will duck down and move into the opening.

The bots know how to detonate armed tripmines and will avoid armed tripmines if they are too close to shoot them without getting hurt. The bot avoids the tripmines by simply turning 180 degrees away from the tripmine. The logic here is not too good since multiple tripmines in a small area will cause the bot to oscillate back and forth and not move anywhere. The bot will still only avoid the armed tripmines that it can see. Sometimes it walks right into the beam when the tripmine is just out of the bots field of view.

The bots know which weapons work under water and will not select a weapon that won't work if the bot is under water.

I've modified the bot's run speed to be 80% of sv_maxspeed (the players max run speed). This seems to make them move about the same speed as the player, but this is a dirty hack. I am still looking into the correct way to adjust the speed of the bot to match that of human players. From what I can tell it seems to have something to do with framerate. I'm not sure what framerate has to do with how fast you can move from point A to point B.

The roaming (navigation) code for the bot is still pretty random. If the bot gets stuck somewhere it randomly turns between 30 and 60 degrees and tries to move again. This helps to keep the bot from running up against the walls all the time, but it causes the bot to get stuck in small rooms more often.

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

I've added a new console command "botdontshoot". Entering "botdontshoot" (without the quotes) in the console will give you the current setting. Setting "botdontshoot" to 1 will prevent the bots from firing at each other. Setting "botdontshoot" back to 0 will cause the bots to begin firing at each other once again. Setting "botdontshoot" to 1 is a good way to check out the bots roaming and exploring ability in a map. You can quickly find areas that the bots get stuck since they spend all of their time roaming around and not attacking each other (or you).

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.

Downloading Bot Number 5:

Below are compiled DLLs and source code files for Bot Number 5. 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)

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

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 The Cinco Bot
Download Source code to The Cinco Bot