botman's bots

Half-Life bot development

- Old News
Building the SDK
SDK Humor
HPB Waypoint files

About me
E-mail me

Old News:

May 21st, 2002:
The bug that effected the BSP tools also effected my Darkulator utility.  If you've had the "Token too large on line 1" error dialog box pop up on some maps, you'll want to download version 2.0 of The Darkulator.

May 20th, 2002:
I've fixed a small bug in my BSP tools utilities.  Some maps contained large key/value pairs that caused the utilities to spit out an error message saying "Token too large on line 1".  I've increased the size of the key/value buffer to 4096 bytes which should prevent this problem.

May 15th, 2002:
I've created a new little utility that I call The Darkulator.  The Darkulator is a utility for Half-Life BSP map files that will allow you to adjust the light levels of maps.  You can increase or decrease the light levels making the maps brighter or darker.  You can also change the skymap texture name if you wish.  This utility is mainly meant for dedicated server operators if they want to create new versions of existing maps with slightly different light levels (for example de_dust at night, or stalkyard on a bright sunny day, etc.).  If you are just running the client, don't try to save the modified BSP map file with the original name or you won't be able to connect to any servers running that map (since your copy of the map file is now different than the server's copy).

April 30th, 2002:
I've released version 5 of my BotMixer5000 project.  The BotMixer5000 allows you to run several different type of bots at the same time in a MOD.  For example, you can run both PODbots and REALbots at the same time in Counter-Strike.  This latest release of the BotMixer5000 fixes a crashing bug with the Half-Life update.

April 28th, 2002:
I've released version 2.1 of the HPB bot.  This release includes the new entities for Frontline Force 1.5 and has a few other changes.  The biggest modification is that the bots have a more human aiming style.  They will no longer "lock" onto a player and always get headshots.  With the modified aiming, Holy Wars in instagib mode is actually a whole lot of fun!  :)  Bots will also spray logos a lot better now and will often spray them on the ground.  The install batch files now copy the HPB_bot_logo.cfg file into the MOD directory so even if you don't have custom bot logos set up, they will pick from a list out of the standard decals.wad file.  I've also released the source code to my bot_logo.exe application (included in the HPB bot source code) in case you wonder how I store the custom bot logos.

NOTE: This release of the HPB bot REQUIRES that you upgrade to version of the Half-Life engine.

April 25th, 2002:
Nevermind.  The problems reported to me yesterday and this morning about the HPB bot crashing servers were due to other problems (people thought that they had the latest metamod 1.12 when they actually didn't, people had changed other server settings, shortcuts or startup scripts which lead to the server crashing).  I have been running the HPB bot on a Half-Life deathmatch Linux dedicated server and on a TFC Linux dedicated server for about 6 hours straight with no crashing problems at all.  I can't reproduce the crashing problems that people had reported and when I e-mail them back for details they report that the problem was fixed by changing other things (many of them getting rid of some AdminMOD plugins).  I will continue to run the HPB bot 2.0 release on my Linux dedicated server and will run them on my Win32 listen server continously for the next couple of days to see if any problems occur.  So far, I haven't seen a single problem after upgrading to metamod 1.12 after installing the Half-Life update.

April 25th, 2002:
Correction: Several people have e-mailed me that even with metamod 1.12, the HPB bots still can crash servers.  If you are running bots with AdminMOD or metamod you should disable them for now.  I will try to determine what is crashing and fix this as soon as possible.  That is all.

April 24th, 2002:
This is just a note to let you know that the HPB bot 2.0 release should work fine with the Half-Life update.  If you are using bots on your dedicated server (or listen server) with AdminMOD or metamod, you will need to update to the 1.12 version of metamod.  You will also need to update the the latest version of metamod if you are using my Stripper2 plugin.

I will have another release of the HPB bot with support for new entities in Frontline Force 1.5 available sometime late this weekend (probably Sunday afternoon).  I want to throughly test the HPB bot with the Half-Life engine and latest version of TFC and Counter-Strike to make sure there aren't any problems with the new releases before I release another version of the HPB bot.

April 14th, 2002:
Over the years that I've been viewing the Half-Life SDK, I've run across some pretty humorous comments in the source code.  I thought I would post many of these comments on my website so that other people can view Valve's jocularity.  Just click on the "SDK Humor" link in the column or the left, or click here to see these humorous comments from the SDK source code.

April 1st, 2002:
I've released version 2.0 of the HPB bot (no, it's not an April Fools' joke).  This release includes 5 new waypoint files for Holy Wars Beta 2 (ABRAHAM, FATE, FAITH_BETA, NAIR, and NOIR).  I've modified the bot turning code so that they will turn at a consistent speed (they used to turn faster with higher frame rates).  I've also modified the bot navigation code so that they don't tend to drop off of high ledges as much anymore (especially when heading towards an enemy).  There is a Linux version as well as a Windows version available for this release.  Go download it NOW!

March 28th, 2002:
Someone on one of the Half-Life dedicated server e-mail lists had asked about how to extract spray logos from the custom.hpk file.  There wasn't a utility to do this, so I hacked one together real quick.  If you run a listen server or dedicated server, you can download my hpk_extract utility and try it out.  The download includes a Windows version and a Linux version as well as the source code.

March 25th, 2002:
I've released version 1.9 of the HPB bot.  This version includes support for Holy Wars Beta 2 and I've also added support for single player games.  Now you can play the single player version of Half-Life or Opposing Force without having to remove the HPB bot (and reinstall it when you want to play deathmatch again).

The bots in Holy Wars will vote for game mode changes and will occasionally start a game mode vote on their own.  I have tweaked the aiming in Holy Wars Instagib mode, but the bots are still VERY deadly when playing Instagib and I may need to tweak the aiming some more.  The waypoint files included for Holy Wars Beta 2 are only for the original 7 maps.  I will be working on creating waypoint files for the new Holy Wars maps over the next week or so and hope to make another release sometime late next weekend with waypoint files for the additional maps.

March 11th, 2002:
I finished all the work I had been doing on getting SDK 2.2 to compile with the Borland and MinGW compilers.  You can now build the SDK 2.2 server DLL and client DLL file using these freely available C++ compilers.  The patches also modify the SDK 2.2 source code files so that they will cleanly build with the newer gcc compilers on Linux systems (for those of you porting your MODs to Linux).  I was able to get around the problem with using the VGUI library by creating a new DLL file called NoVGUI.dll that will initialize the client's display and update the rendered view.  Since the scoreboard in SDK 2.2 was done using the VGUI library, I replaced the scoreboard in SDK 2.2 with the scoreboard from SDK 1.0 using the old text style scoreboard (oldschool style!).  You can find all of the details and download the necessary files by going here.

Update: I forgot to mention that the bug with the Egon gun (Gluon gun) beam being the wrong color was due to a bug in the Software Mode video drivers (not the SDK).  I was using Software Mode for all of my testing of the SDK.  When I switched to OpenGL or DirectX mode, the Egon gun beam was drawn correctly in blue.  Valve is aware of this bug and will fix it.

March 3rd, 2002:
I just thought I'd post a quick update on what I'm currently working on.  I've created a set of patches for the Half-Life SDK 2.2 release to allow it to work with the Borland C++ compiler, the newest MinGW C++ compiler , and also the Microsoft Visual C++ compiler.  I was planning on releasing the patches for the Full SDK and Standard SDK, but when I tested the server DLL that I built with the Borland compiler and used the client DLL from the Valve folder, I discovered that the Egon gun was firing a yellow beam instead of a blue beam.  I'm currently trying to track down why it's doing that.  I'm also making a second attempt at being able to build the client DLL using the Borland or MinGW compiler (but I'm not having much luck).  All of the client DLL code will compile with the patches that I've made to the default SDK, but the exported functions in the VGUI library is only compatible with the Microsoft Visual C++ compiler.  I'm trying to use the "impdef" and "implib" tools from the Borland compiler and the "dlltool" from the MinGW compiler to create an import library for Borland or MinGW from the Microsoft VGUI library.  I might go ahead and release the SDK patches to build only the server DLL if I can't get the client DLL stuff working, but I won't release anything until I can figure out why the Egon gun beam is the wrong color.

February 20th, 2002:
Hey!  I've got over a MILLION hits on my main web page today.  If I had a penny for every one of those web page accesses, I'd have over a million pennies! :)

I've been having some problems with my Windows machine at home over the last few days.  First my GeForce2 video card crapped out, then my machine started locking up after 30 or 45 minutes of use.  I guess it's time to wipe everything out and reload Windows and all my applications once again.  The good thing is I get to get rid of all the little applications that I've downloaded and installed, but never used.  Needless to say, the hardware problems have impeded my progress on the metamod monster plugin.  Hopefully I'll have things straightened out by this weekend and can spend several hours in a row working on the code without my machine locking up in the middle of things.

February 13th, 2002:
I've started working on another project (a plugin for metamod).  This plugin will allow server admins to spawn some of the monsters from Half-Life single player in any MOD.  I'm having to take the monster source code from the Half-Life SDK and modify the AI and navigation so that it will work in multiplayer MODs.  This is a fairly tedious process and each monster has to be done one-by-one.  So it will probably be several weeks/months before I have very many monsters working in the plugin.  I plan to start with the simpler monsters (snarks, headcrabs, etc.), move on to the more complicated monsters (houndeyes, zombies, bullsquids, etc.) and eventually add the most complex monsters (human military, scientists, barney, ninja babes, etc.).  I won't give any kind of expected release date until I get a week or two away from releasing the first version.  Keep checking the news here for further updates.

February 2nd, 2002:
I've released the first version of my Stripper2 plugin for metamod.  The Stripper2 plugin allows you to remove entities from Half-Life and MODs.  You can also add new entities to maps using a map specific Stripper2 configuration file.  You can add new player spawn points, weapons, ammo, and create effects like teleporters, explosions, ambient sounds and permanent decals.  If you run a server for Half-Life deathmatch, Team Fortress 1.5, Counter-Strike, Day of Defeat, Frontline Force, Deathmatch Classic, or any other MOD supported by metamod, you should definetly give the Stripper2 plugin a try.

I've even included a Stripper2 configuration file for the deathmatch map "crossfire" that shows how to add a button to open the "secret" door that leads to the blue room.  Since the BSP map file isn't modified, clients won't have to download a new version of the map when they connect to a server running the Stripper2 plugin.

January 28th, 2002:
There was a bug in Beta 0.3a of the BSP tools package that prevented waypoints from being generated properly by the automatic waypoint generator function in the bsp_tool utility.  This bug has been fixed and I've released Beta 0.3b of the BSP tools package here.

I've also begun working on another project.  This project is an enhancement of the Stripper add-on I made for Half-Life deathmatch over a year ago.  This new project will be called Stripper2.  The Stripper2 project will be a MetaMOD plugin that will allow you to strip items from a BSP map file and will also allow you to add items to a BSP map file (without modifying the .bsp file itself).  You will be able to add new player spawn points, weapons, ammo, teleporters, ambient sounds, buttons to control doors, explosions, monstermakers (to drop snarks anywhere in the map), etc.  Since it's a MetaMOD plugin, it will support any MOD that MetaMOD supports.  For example in Counter-Strike, you can add new hostages to the map anywhere you want.  You can even set up the Stripper2 config file so that it locates entities at random locations each time the map loads (for example, one time you play the map and there's a shotgun at a certain location, the next time you play the map, there's a crossbow at that same location, and the next time you play the map, there's a monstermaker spawning snarks!).  You can even "spray" permanent decals on walls so that you can put the name of your server (using the letters in the decals.wad file) in every map that gets played to let people know who's server they are playing on.  I think this should be lots of fun and allow maps to be easily customized by the server operators.

P.S. Since you aren't modifying the .bsp file, the client won't have to download anything.

I hope to have the first release of Stripper2 out in the next week or two.

January 7th, 2002:
There was a bug in Beta 0.2 and Beta 0.3 of the BSP tools package that would cause the applications to crash if you had more than 20 MODs installed.  I have fixed this problem and increased the number of MODs to 100.  If you have more than that installed you will get an error message indicating you have too many MODs installed (instead of it just crashing).  You can download the BETA version 0.3a of the BSP tools package here.

Also, since I haven't had any time recently to update the HPB bot and since it doesn't look like I will have any time in the near future to update the HPB bot, I am releasing the FULL SOURCE CODE to version 1.8a of the HPB bot.  I occasionally get e-mail asking "How do I use the stupid WaypointRouteFromTo() function?", or "How do I get my stupid bot to spray a stupid logo?", or "How can I make my stupid bot follow waypoints?", or "How can I get my stupid bots to chat?", or "How can I get my stupid bot to read bot names from a text file?".  All of these questions and more are answered in the FULL SOURCE CODE to the HPB bot.  Download the HPB bot source code from the bottom on the HPB bot web page here.

January 2nd, 2002:
I've released a new version of my BSP tools package.  I've fixed a few bugs in the BSP Viewer (bsp_view) and added a new feature where you can display the name of a texture used in a map.  Holding down the 'T' key will display the name of the texture pointed to by the crosshairs.  There weren't any significant changes to any of the other tools in the BSP tools package.  See the "changes.txt" file included in the BSP tools package for details.

December 21st, 2001:
I just wanted to let everyone know that I will be traveling for the next week and won't be answering any e-mail or posts in my forum.  I want to wish everyone a safe and happy holidays and a happy new year.

November 25th, 2001:
I've just released a Half-Life Winamp plug-in that I call
Singing Walter.  This is a visualization plug-in that will display one of 4 scientists, the guard (Barney) or the G-man.  The model will move it's mouth in sync to whatever music or sound file is playing in the Winamp player.  It's pretty funny watching Walter (the first scientist) or Barney or the G-Man singing along with your favorite songs.  Hey, Walter likes to karaoke too!  Check it out here.

November 22nd, 2001:
Gobble-Gobble!  It's turkey day (Thanksgiving) here in the States today.  I'm thankful for many things.   I'm thankful that I have my family and friends.  I'm thankful that I have all of the things that I need to live a happy life.  I'm thankful that I live in a country where I can do all of the things that I like to do.  And I am thankful that I finished the latest enhancements to my BSP tools package.  :)

The latest version of my BSP tools includes many enhancements to the BSP viewer (BSP_view) as well as a new utility called BSP_slicer.  The BSP slicer tool allows you to generate bitmap images (or 2D "slices") of the BSP data. It will make horizontal slices along the Z axis and output this information to a bitmap file to allow you to view the layout of a level.  There are some sample pictures of the output of the BSP slicer utility on the BSP tools web page here.

November 11th, 2001:
I've released the first version of my BSP tools package.  The BSP tools include a BSP viewer and a BSP tool that can print out information contained in a BSP file as well as automatically generate HPB bot waypoints for a Half-Life deathmatch level (TFC, Frontline Force, Opposing Force, Holywars, and Deathmatch Classic aren't currently fully supported by the automatic waypoint generator, use it for maps for these MODs at your own risk).

The BSP viewer is pretty crude right now.  It should display most maps to some extent, but there are MANY things that aren't handled properly in the BSP viewer right now.  I will be adding features to the BSP viewer over the next few months so hopefully it will support more and more of the things that are available when you are using the Half-Life engine to display a level.

The automatic waypoint generator (included in the bsp_tool.exe application) is also pretty crude right now.  The main reason I am releasing this at this time is so that other bot developers can see what I have done so far and maybe make some use from it.  I will continue to update and improve the automatic waypoint generator code, but if you download it and try it out, don't be surprised if the bots actually behave more poorly when using the waypoint files that it generates than they would if there were no waypoints at all!


November 6th, 2001:
Wooo-hooo!  I finally got skyboxes working for my Half-Life BSP map viewer (well, mostly working anyway).  I've got the transparent and animated textures working (scrolling textures aren't working yet).  I've got it where the lighting can be enabled or disabled while you're running the viewer.  There's an adjustable gamma and brightness setting in the .cfg file  I'm currently working on the automatic waypoint generator.  The automatic waypoint generator is pretty crude right now, but it does correctly floodfill the map with waypoints (and filters out waypoints that aren't on the ground).  I've made enough progress in the past few weeks that I feel I can release a beta version of my map viewer and waypoint generator sometime this comming weekend (probably in the afternoon on Sunday, November 11th).  Check back here then to take a look at what I've done so far.

October 22nd, 2001:
I've been working on my Half-Life map viewer.  I started with source code from several different BSP viewers/engines (mainly for Quake I and and Quake II) and have been adding stuff to support Half-Life.  I recently got transparent textures working (like fences and railings) and am currently working on animated textures.  I've got it fairly configurable right now.  You can turn on or off lighting.  You can enable or disable the displaying of special textures (like clip brushes).  You can specify which spawn point entities to use and start at a random spawn point.  You can also invert the mouse Y axis, for those of you that play the game with that kind of a screwed up configuration.  :)

I don't have the source code in a state where I can release anything yet and I'm still adding features (like animated textures).  I want to also be able to add a method where you can see entities in motion (like doors, elevators and moving platforms).  I also need to add some water code so that the water areas look like they do in the game. 

Right now I'm able to get between 180 and 240 frames per second on my 1.3 GHz Pentium 4 with a GeForce2 MX video card (at 800x600 resolution).  Also I'm not real happy with the amount of time it takes to load a map.  It loads a map more quickly than it does with the Half-Life engine but I would like to reduce the load time if I can.  Perhaps in the next week or two I will have enough done to make a release of the executable and source code, but it might be another two or three weeks before I have enough working to release anything.

October 2nd, 2001:
I've update the HPB bot to fix the bug with the gas grenade in TFC (thanks to RedFox of the FoXBot for help on this one).  It turns out that bots throwing the gas grenade wasn't the problem.  The problem was bots getting effected by the gas grenade (when TFC was trying to send the hallucination effects to the player) that was causing the crash.  So even if bots didn't throw gas grenades, the game could still crash if a player threw a gas grenade and a bot was effected.  I have fixed this bug and have re-enabled the gas grenade and normal grenade usage of the spy bots in TFC.

September 30th, 2001:
I've received a couple of e-mails about sound problems with the Half-Life update when using the HPB bot (sound not working, etc.).  When I was trying out the beta release of the Half-Life update I also had sound problems and Mike Dussault (from Valve) gave me a couple of things to try.  One solution that worked for me was to run the "System Setup" option in the Half-Life\voice_tweak.exe application.  If this doesn't work, you may need to disable voice communication support completely (this includes with bots AND when connecting to Internet servers).  To do this, look for the "voice_enable" in the config.cfg file for each MOD (i.e. Half-Life\tfc\config.cfg).  Change this option from "1" to "0" to completely disable voice communication support (the engine will not try to use the voice communication drivers and the sound should go back to the way it was before the update).  You might also want to look at the Tech bag on Planethalflife.

September 29th, 2001:
Okay, it's been a while since I updated my webpage (so sue me).  :)

I've updated the HPB bot to fix a bug with the latest version of TFC that comes with the Half-Life update.  If you've been getting an error message that says "SZ_GetSpace: Tried to write to an uninitialized sizebuf_t ???" while playing TFC with the HPB bot then you will want to download this update.  It took me a while to figure out what was causing this problem.  It seems to happen when a TFC spy bot throws a gas grenade.  I've disabled the grenade throwing for spy bots in TFC to prevent the game from crashing.  I'll release a new version of the HPB bot with the gas grenade stuff put back in if I can figure out how to work around this problem.  I've only tested the HPB bot with Half-Life deathmatch, TFC, DMC and Counter-Strike (after upgrading to the version of the Half-Life engine).  I think the other MODs (Frontline Force, HolyWars, and Opposing Force) should still work okay with the latest version of the HPB bot, but these haven't been tested at all.

I've also updated the BotMixer5000 to work with the Half-Life and Counter-Strike 1.3 updates.  I've added BotMixer5000 support for another Counter-Strike bot called Wbot.  Remember to install BotMixer5000 last (after installing any bots that you want to use) or you will have problems starting the game.

I've also started working on a new project that doesn't have anything that can be released yet.  The new project will be a set of tools to use with BSP files.  The tools will include a BSP utility that will aid bot developers in automatically waypointing a map file.  I will also create a BSP viewer that can run on Windows and Linux to allow dedicated server admins to monitor a game in progress without having to start up a Windows client and connecting to the game.  The BSP viewer utility will also have the ability to create in game screenshots that can automatically be displayed on a web site (for clan matches and whatnot).  I plan on using the same chasecam observer code that is used in TFC and Counter-Strike to create something similar to HLTV (but you won't have to start a Half-Life client to view the game).  This tool is mainly meant for bot programmers and dedicated server admins.  I'm NOT trying to come up with a replacement for HLTV and I'm NOT trying to create my own Half-Life game engine.  Of course, source code will be available if I am actually able to get any of this working.  Oh, by the way, don't expect to see anything available for at least 2 or 3 months.  I hope to release something before the end of the year, but other distractions in real life take up much of my time these days.

August 26th, 2001:
Someone had asked in my forums if there was a Linux version of my Stripper Add-On for Half-Life deathmatch.  I replied that there wasn't but that other people had asked about that before, so I decided to create a new release of the Stripper Add-On that would support Windows and Linux.  The Stripper Add-On allows you to strip out weapons, ammo, healthkits, long jump modules, wall mounted health and HEV chargers, buttons, water and other entities from a Half-Life deathmatch game.  It does not modify the map files so items are not removed permanently.  There's nothing new in the latest release of Stripper for Windows so you don't need to download this release if you already have a previous release.

August 24th, 2001:
I've changed my e-mail address from to (since I was having problems with my old e-mail account).  I will terminate the e-mail account in a few days so you won't be able to reach me there anymore.  Perhaps I will stop getting e-mail that says...

Hi! How are you?
I send you this file in order to have your advice
See you later. Thanks

August 18th, 2001:
I've renamed the BotMaster5000 project to BotMixer5000.  There was already a Bot-Master 2000 project for Counter-Strike bots and I didn't want people getting confused by the similar names (also I didn't want people complaining that I stole someone else's project name).  The new release of the BotMixer5000 supports the following MODS...

  • Action Half-Life
  • Counter-Strike
  • Deathmatch Classic
  • Day of Defeat
  • Firearms
  • Front Line Force
  • Gearbox's Opposing Force
  • Holy Wars
  • The Opera
  • Team Fortress 1.5
  • Half-Life Deathmatch
If you already have BotMaster5000 installed, you will HAVE to run the BotMaster5000 Remove batch file for the MOD before you run the Install batch file for BotMixer5000.

The source code to BotMixer5000 didn't change, but I did modify the Install and Remove batch files to prevent a nasty little bug that would occur if you reinstalled a MOD and then tried to run the BotMixer5000 Remove batch file (it would leave the MOD in a state where it would not run and you would have to reinstall it a second time).  Also many more MODs are supported now including Action Half-Life, Day of Defeat, and The Opera. There still aren't very many bots available for most of the MODs that the BotMixer5000 supports, but as more bots show up that support these MODs you will have more bots to choose from for these new MODs.

August 5th, 2001:
I've updated my newest project, the BotMaster5000.  The BotMaster5000 is an Add-On DLL for Half-Life MODs that will allow you to add multiple bots to the same game at the same time.  The latest version (Release 2.0) fixes several bugs that caused some bot Add-Ons to crash.  The RealBot now works properly with the BotMaster5000 without crashing (thanks to Stefan lending me a copy of his RealBot source code).  This was not a bug in Stefan's code but was a bug in the way the BotMaster5000 was switching between bot MODs.  I've also created a Linux version of the BotMaster5000 for those of you that want to run multiple types of bots on your Linux servers.

July 29th, 2001:
I've added a new project to my Projects section on the left.  The new project is called the BotMaster5000. The BotMaster5000 is an Add-On DLL for Half-Life MODs that will allow you to add multiple bots to the same game at the same time.  It currently supports the same MODs that the HPB bot supports (Half-Life deathmatch, Team Fortress Classic, Frontline Force, Opposing Force, Holy Wars, Counter-Strike and Deathmatch Classic).  This project is still in the prototype stage so download it at your own risk!

Also I have updated the HPB bot to modify some of the filenames that it uses.  This is done in conjunction with the release of the BotMaster5000 to handle some filenames that clash with other bot filenames (like "bot.cfg", "bot_chat.txt", etc.).  I also changed the "bot" CVAR for dedicated servers to be "HPB_bot" so you will have to modify any console scripts that you may have that use the "bot" CVAR and change them to "HPB_bot" instead (for example, "HPB_bot addbot 2 5" instead of "bot addbot 2 5").  There are no other changes in the latest release of the HPB bot besides the filename changes and the CVAR change (i.e. no new features were added).

Please see the "changes.txt" file that comes with the HPB bot for a full list of which filenames were changed and what they were changed to.

July 25th, 2001:
I figured I'd better update my webpage before everyone starts e-mailing me and asking me if I'm dead. No, I'm not dead, I'm just resting and pining for the fiords.  I've been working on a separate project over the last few weeks but haven't got enough working yet to announce what it is.  If I can get things working, I'll post some news here about what it is.  Stay tuned...

July 11th, 2001:
I downloaded The Opera on Monday and started taking a look at it.  Several people have asked me if I was going to add support for The Opera to the HPB bot.  I was thinking about doing that, but everytime I try to play the game it crashes (with a different error each time).  This makes it VERY difficult to develop a bot for the MOD.  I never know whether the MOD is crashing because of problems with the MOD code or because of problems with the bot code.  I will put off adding bot support to The Opera until most of the bugs have been fixed.  I'll post some news here when (if) I do start adding The Opera support to the HPB bot.

July 8th, 2001:
I've released Version 1.6a of the HPB bot.  The only changes from the 1.6 release were some bug fixes for TFC.  If you don't use the HPB bot for TFC, there's no reason to download the 1.6a release.  Here's the list of changes...

  • Fix bug where TFC medics weren't attacking enemies.
  • Change TFC engineer bots so they don't try to repair sentry guns unless the sentry gun health is less than 80%.
  • Modify TFC sniper position adjustment code so that snipers will aim in the proper direction as soon as they reach the sniper position. is REALLLLLLY SLOOOOOW today (it must be that Anachronox demo) so don't be surprised if it takes you a while to download the bot.

July 5th, 2001:
I've been working on a few bugs in the HPB bot 1.6 Release.  I've fixed the problem where the medic in TFC won't attack enemies.  I've also tweaked the sniper position adjustment code so that they will aim in the proper direction as soon as they get close enough to the sniper position.  I'll work on fixing a few of the problems with the engineer bots in TFC getting "stuck" trying to upgrade or repair other player's sentry guns.  I'm planning on making a bug fix release this coming weekend. If you don't use the HPB bot for TFC, there won't be any need to download the update since there won't be any other new features.

July 1st, 2001:
I've released Version 1.6 of the HPB bot.  Here's a list of the bug fixes and enhancements...

  • Bot player models for are now randomly chosen from the list of available models in the MOD's models\player folder (i.e. homer, trinity, skeleton).
  • You can now set the bot's topcolor and bottomcolor for Half-Life deathmatch, Opposing Force deathmatch, Holy Wars, and Deathmatch Classic.  (See the bot.cfg file for details)
  • Added configurable option called "random_color" to use random topcolor and bottomcolor for MODs that allow setting the bot's topcolor and bottomcolor.
  • Made "BotChatHumanizer" configurable.  You can now set how often characters are dropped or swapped in bot chat messages.  (See bot.cfg file for details)
  • Added "%r" to bot chat messages (gets replaced by random player name).
  • Prevented "%n" or "%r" from being dropped or swapped in bot chat messages.
  • "%n" and "%r" can now be used multiple times in a single bot chat message.
  • Added the ability to use '!' as the first character in bot chat messages if you don't want the bot to use the BotChatHumanizer on them (i.e. for URLs or other text you don't want modified).
  • Added a configurable bot reation time before firing.  Bots will pause briefly before firing when they see a new enemy.  This simulates a human reaction time delay.  See the "bot_reaction_time" in the bot.cfg file.
  • Fixed teamplay bug where bots wouldn't attack players on opposing team or would kill teammates in Half-Life deathmatch and Opposing Force deathmatch.
  • Fixed bug in TFC where engineers wouldn't wait until they were close enough before trying to upgrade teammate's armor, sentry guns, or dispensers with the spanner (wrench).
  • TFC engineer bots will upgrade sentry guns on their team besides their own.
  • TFC medic bots will now randomly heal the player between 90% and 120% of their max health.
  • TFC sniper bots will now readjust their position if they have been moved too far away from a sniper location.
  • Worked around a bug in DMC where players sometimes don't spawn with the crowbar.  Bots will now use the shotgun at close range if the crowbar isn't available.
Whew!  That's a lot of new stuff!  :)   I recently got a new Dell PC (1.3 Ghz Pentium 4 with GeForce 2 MX video card) and got such a HUGE increase in framerate from my old PC (300 Mhz Pentium II with Voodoo card) that the HPB bot was seriously whippin' this llamas ass!  I quickly decided I needed to add the "bot_reaction_time" setting to be able to stand a chance against them.  Before I got my new PC, I didn't realize that the bot's reaction time was as big as a problem as it was.  Things are MUCH better now.  You should at least be able to get off a shot or two before the bots kill you now!   :)

Also, I had previously posted a message in my forum, saying that I thought I had found a bug in DMC where you couldn't select the crowbar sometimes.  This bug was affecting the bots in close range combat (since they couldn't select the crowbar that they love SO much).  I've modified the weapons selection so that the DMC bots will use the shotgun at close range if they aren't able to use the crowbar.  It looks a little wierd with them blasting players in the stomach with the shotgun all the time, but at least they don't just stand there doing their little "dance" with each other anymore.

June 25th, 2001:
I've been working on stuff for the next release of the HPB bot. Most of the changes are for deathmatch (Half-Life, OpFor, DMC) but there are also changes to the bot chat messages for all MODs. I'm also adding a "bot_reaction_time" setting that will add a slight delay between the time the bots see you and the time they start firing their weapon at you. This is to simulate the reaction time that human players would have when spotting an opponent. The reaction time is configurable and can be disabled if you want to go back to the old HPB bot playing style. The next release should be out this coming weekend (end of June). If you like playing Half-Life deathmatch, I think you will like some of the new features in the upcoming HPB bot.

Also, a few people have e-mailed me about a file in the Half-Life directory called "bot.txt". This is some debugging output from the 1.5a release that I forgot to turn off before building the release version of the HPB bot. You can safely delete this file from your Half-Life directory (the HPB bot doesn't need this file to work properly).

June 11th, 2001:
There were a couple of bugs in yesterday's release of the HPB bot.  Players (or bots) with long names can cause the server to crash.  Also bots wouldn't rejoin the game after a map change occurred.  Both of these bugs have been fixed and a Linux version of the HPB bot that supports DMC is now available.  Download Version 1.5a of the HPB bot for all your DMC fragging pleasure.

June 10th, 2001:
I've released Version 1.5 of the HPB bot for Windows (the Linux release will come out tomorrow due to some minor problems with my Linux machine at home).  Here's a list of the bug fixes and enhancements...

  • Fixed bug where TFC engineer bots would keep hitting you with the spanner (wrench) over and over trying to upgrade your armor in the respawn areas.
  • Added patented BotChatHumanizer code to bot chat messages. Bots will often remove clan tags from player names, drop or swap letters contained in chat messages and occasionally convert chat messages to all lowercase.
  • Added limited support for Valve's Deathmatch Classic (DMC). Bots use all the weapons and try to avoid falling into the lava. Waypoint files are provided for all levels that come with DMC.
The bots don't really understand the teleporters in DMC yet.  They just randomly wander into them and get teleported elsewhere.  They also don't understand that buttons in DMC will open doors (again, they kind of randomly wander into them while roaming around).  The bots in DMC will go hunting for better weapons right after they spawn and they know how to use all of the weapons in the game (including the dreaded crowbar, which does some massive amount of damage).  I've created waypoint files for all of the DMC maps and even added a waypoint file for a new map created by Ingenuity that you can download here.

June 8th, 2001:
I downloaded Half-Life Deatchmatch Classic and plan on modifying the HPB bot to support DMC.  Since DMC only supports deathmatch it should be fairly simple to add DMC support to the HPB bot.  I will need to modify the HPB bot to keep the bots from falling into the lava (which they don't do right now) and add support for teleporters (which they don't know anything about right now), but these features probably won't be in the initial release of the HPB bot that supports DMC.  I'm trying to get a new release of the HPB bot out late this weekend or early next week (with preliminary support for DMC).

May 24th, 2001:
There was a bug in Version 1.4 of the HPB bot where TFC bots would try to "taunt" sentry guns after killing them.  This caused the game to crash.  I have fixed this bug and released Version 1.4a of the HPB bot.  If you are having problems with Version 1.4 crashing (or if you use the HPB bot in TFC) then you should download the new version and use it instead.

Thanks to the people who e-mailed me about this bug (especially the ones who sent crash logs).  I appreciate the feedback and realize how important it is to have a game that doesn't crash, especially for those of you that operate dedicated servers.

May 20th, 2001:
I've released Version 1.4 of the HPB bot .  Here's a list of the bug fixes and enhancements...

  • Modified "waypoint add" so that only the nearest item is tagged on that waypoint. Also item MUST be visible for waypoint tag to be added (no more waypoint tags for items found on the other side of a wall).
  • TFC backpacks containing health, armor, and ammo are now automatically added as waypoint tags when adding a waypoint near a backpack.
  • Added new command "waypoint update" to automatically add waypoint tags for health, armor, ammo, or weapon to any existing waypoints in a map.
  • bot_chat.txt file replaces bot_whine.txt file (bots chat, taunt and whine).
  • Fixed a bug where bots would only spray a logo if the player that was killed was also a bot.
  • TFC engineer bots will now only try to upgrade teammate's armor if the engineer bot is carrying enough metal.
  • Fixed a bug in Holy Wars where bots would attack players that had been been kicked from the server.
The "bot_whine.txt" file has been replaced by the "bot_chat.txt" file. You can delete the "bot_whine.txt" file from your MOD directories after installing the new version of the HPB bot.  Included are the waypoint files for all of the maps that come with Holy Wars and I've updated the waypoint files for the TFC maps CASBAH and BADLANDS to include sentry gun waypoints.

May 14th, 2001:
It's been a while since I've posted any news so I thought I'd put something here so you'd know I'm still alive.  The Front Line Force 1.3 release seems to work fine with the HPB bot 1.3 release (there were no new entities in the FLF 1.3 release so no HPB bot update is required).  I've been working on a few minor things on the HPB bot over the last few weeks.  I've modified the waypoint editing so that when you add a waypoint, the tags for Health, Armor, Ammo, and Weapons are only added for the nearest item (not all items within the search radius).  This allows you to specifically mark each item with it's own waypoint and gives better control when the bot is searching for items.  Also there was a bug where waypoint tags would get added for items that were on the other side of a wall (now the item must be visible from the waypoint location before a waypoint tag will be added).  I've added support for the green backpacks in TFC so that adding a waypoint near a backpack will detect whether the backpack contains Health, Armor, or Ammo.  I've modified the waypoint files for the BADLANDS and CASBAH maps in TFC to add sentry gun waypoints (now that the engineer bots know how to get metal from the green backpacks they build and upgrade sentry guns more often).  All of these changes plus a few more will be available in the next release of the HPB bot (which I hope to make sometime this coming Sunday on May 20th.

April 29th, 2001:
I've created waypoint files for the rest of the Holy Wars maps. These will work with the HPB bot 1.3 release. Just download them and extract them into your Half-Life directory (where hl.exe is located). The bots don't handle the jump pad too well yet, but at least now they know how to quickly get to the halo when it spawns and how to quickly get to the weapons. You can download the HPB bot Holy Wars waypoints from here.

April 22nd, 2001:
I've released Version 1.3 of the HPB bot .  Here's a list of the bug fixes and enhancements...

  • Added new entities for Frontline Force 1.2a
  • Fixed a bug where bots wouldn't aim RPG type weapons at enemy's feet.
  • Holy Wars bots will duck, when necessary, if using the jackhammer.
  • Fixed a bug where bots wouldn't duck when using the crowbar to attack.
  • Added bot logos for Linux and Win32 dedicated servers.
  • Added JUMP waypoint so bots can jump to reach items.
There's a waypoint file included for Holy Wars (hw_gluttony.wpt) where the bots can now jump to reach the halo (Holy Jumpin' Bots, Botman!).  If you are creating your own waypoint files for Holy Wars, you'll have to bind keys to "menuselect 1", "menuselect 2", "menuselect 3", "menuselect 4", and "menuselect 5" since the Holy Wars client doesn't handle the old style text menus the same way other MODs do (Bad Nusco! Bad Nusco!).  I haven't had a chance to update the HPB_bot_waypoint.txt file yet with details on the JUMP waypoint, so if you want more details just send me an e-mail.  I'll be adding other waypoint files for Holy Wars with the next release of the HPB bot.

Dedicated server admins can now configure the HPB bots so that they will spray logos. Unfortunetly the logos can only be chosen from the standard decals available in decals.wad so color logos aren't possible for dedicated servers. See the Bot_logo_ReadMe.txt file for more details.

April 19th, 2001:
The HPB bot 1.2 release seems to work fine with Front Line Force version 1.2a except there are 3 new entities that the current HPB bot won't support:

  • target_win
  • weather_genie
  • weather_litnode
I'm not sure which maps include these entities, but until I can update the HPB bot and make a new release, you may have problems with some maps if you are using the HPB bot.

I haven't been spending much time working on code for the HPB bot due to some other real life distractions (getting a DSL line installed at home, stuff at work, daydreaming, etc.), but I hope to spend more time this weekend adding some stuff.  I did manage to fix a problem with the bots trying to aim RPG rockets at player's feet(s).  The bots would "forget" that they are supposed to aim at the feet and the rockets would still wind up going toward the head.  This bug will be fixed in the next release of the HPB bot.  If I don't get much else accomplished this weekend I will at least add the missing FLF 1.2a entities and release the HPB bot with the RPG aiming bug fix sometime late Sunday evening.

March 30th, 2001:
I get e-mail all the time from people asking for information about me so I figured I add some information to my web site about me.  There's a new section on the left called "About me" so you can find out more about who I am and where my bots came from.

March 26th, 2001:
I've released Version 1.2 of the HPB bot.  I managed to get the bots to understand the halo in Holy Wars and I added a few things to TFC and Front Line Force.  Here's a list of the changes...

  • Added support for Holy Wars MOD (they know about the halo now).
  • TFC spies that are disguised are now not detected by any class.
  • TFC engineer bots will now increase armor of teammates.
  • FLF bots will now avoid grenades when they see them.
  • Higher skilled bots (skill 1 & 2) will sometimes aim RPG rockets at the feet.
  • bot_logo.exe palette bug fixed for more solid looking spray logos.
The bots are LOTS of fun in Holy Wars.  They don't know how to jump to reach the halo in one or two of the maps, but they do look for it and chase after it, if the saint gets killed. The bots now use all the weapons in Holy Wars and can be pretty tough to play against especially if you have 8 or 10 of them all whailing on you at once. If you haven't tried out the Holy Wars MOD, you should definitely give it a try for some fun and unique gameplay.

There was a problem with the bot_logo.exe application not setting the palette up correctly for monochrome spray logos.  If you added any monochrome spray logos using colors from the pull down list, you will need to use "Remove" to remove the old bot logos and use "Add" to add them back in again.  The spray logo shown in the game would looked "washed out" and wouldn't appear as solid.  The new bot_logo.exe application should fix that problem.

March 22nd, 2001:
Hot on the heels of the HPB bot Version 1.1 is another release that has Beta support for the Holy Wars MOD!  This is Version 1.1a and is only a Win32 release at the moment.  The bots don't understand the rules of the game yet (they think it's deathmatch and don't know anything about the halo), but I'll be working on getting them to understand the game rules for the next official release.  The bots don't use the jackhammer since I'm having a little bit of trouble getting them to aim it correctly, but they do use the other four weapons.  The major purpose for this release is just to give you something to run around and shoot at and become more familiar with the weapons and map layouts.  I'm already aware of the fact that the bots sometimes get "stuck" standing next to each other in HolyWars.  Like I said, this is a BETA release and isn't anywhere near perfect. It will get better.  I've also noticed what I think is a bug in HolyWars where the players sometimes stop doing damage to each other (you shoot and shoot and shoot and nobody gets hurt).  I don't think this is a bot thing, but I've only see it one time during the few hours that I was playing the game.

March 18th, 2001:
I've released Version 1.1 of the HPB bot .  I fixed the problem with the HPB bots running too fast in Counter-Strike 1.1 and finally added in the bot custom spray logo support.  Here's a list of the additions:

  • Bots now can use custom spray logos (see Bot_logo_ReadMe.txt)
  • Bot max speed is now controlled by the MOD's max client speed settings.
  • Added "pathwaypoint enable" and "pathwaypoint disable" commands.
  • Added Health, Armor, and Ammo to the waypoint tag menu.

March 16th, 2001:
I have confirmed that the HPB bot does indeed run too fast in the latest Counter-Strike release (version 1.1).  I will fix this bug in the next release of the HPB bot, which should be coming out sometime this Sunday evening.  The next release of the HPB bot will also include the long awaited bot custom spray logos.  There will be one or two other minor enhancements specific to TFC (marking waypoints as ARMOR and AMMO).

March 5th, 2001:
I've released Version 1.0 of the HPB bot .  This is no longer a Beta release since I feel that I've managed to get most of the features working as well as I wanted to and since most of the bugs have been shaken out.  Here's a list of the features in Version 1.0:

  • Updated to support Front Line Force version 1.2 (new weapons).
  • FLF bots now continously check capture point status (bots won't keep going toward points that have recently been captured).
  • FLF bots are better at capturing points (they don't stop a capture once it has started).
  • Targeting range for snipers in TFC was increased for long range kills.
  • TFC bots will not attack spies disguised as the bot's team.
  • Fixed a bug with bot_whine messages causing game to crash.
  • TFC engineer bots now build and upgrade sentry guns.
  • TFC engineer bots now build and maintain dispensers.
  • Bots using the crowbar will duck down, when necessary, to strike the enemy.
  • FLF bots don't get stuck at doorways anymore.
The old waypoints for FLF 1.1 should work with this version of the HPB bot.  The only 2 waypoint files that changed for TFC was 2fort.wpt and crossover2.wpt to add support for sentry guns and dispensers. See the HPB_bot_waypoint.txt file in the HPB_bot directory for reasons why sentry guns and dispensers aren't in the other TFC waypoint files.

I'm still continuing to work on getting custom spray logos working for bots.  I've had a few small problems with the Windows utility that I am creating to manage these logos. Logos aren't working in the HPB bot Release 1.0 version, but logos will definitely be added in the next release.

February 24th, 2001:
I've released a new version of my HPB bot template source code (release #3).  I think I've gotten all the bugs out this time and have included a very detailed ReadMe.txt file that explains how to modify the HPB bot source code to get it working in other MODs.

I haven't been doing much on the HPB bot for the last few weeks.  I was waiting for Front Line Force to release the 1.2 update before another version of the HPB bot would be released.  I didn't want to release a bot then have to release another version after FLF 1.2 came out because I know that there will be some things in FLF 1.2 that won't work properly with the existing HPB bot code.  I'm not sure when the next release of the HPB bot will be.  Just keep checking this website every 2 or 3 days to see if there's any update (or just check the news on

January 29th, 2001:
I've fixed the problem in the Beta 4.2 release of the HPB bot where teammates would attack anyone yelling for a medic.  Release 4.2a is the corrected version and is now available for download.

January 28th, 2001:
I've released Beta 4.2 of the HPB bot .  I've had a real nasty flu bug for the last 3 days so I didn't get any bot coding done this weekend like I wanted to.  I decided to go ahead and release what I've got done so far just to give people something to play with.  I'll continue working on the other features I wanted to add later this week and will probably release the next version in another week or two. . This version includes the following...

  • If you create a listen server other clients can no longer use bot commands.
  • Configurable bot strafing added.
  • TFC bots now use grenades and avoid any grenades they see.
  • TFC bots now yell for medic when health is low.
  • TFC medic bots now respond to players yelling "medic!".
  • Bug with "bot" CVAR not working after map change was fixed.
  • Fixed bug with "max_bots" not adding bots when players leave server.
See the "changes.txt" file included in the HPB bot download for more bug fixes and enhancements.

January 7th, 2001:
I've received a couple of e-mails from people asking when the next release of the HPB bot will be coming out.  I'm working on trying to fix some bugs that affect dedicated servers and a few other minor bugs.  I'm hoping to get the following features added to the HPB bot for the next release...

  • make client commands only run from listen server client (DONE!)
  • add configurable bot strafing (DONE!)
  • make bots know how to (intelligently) use grenades in TFC
  • make TFC medic bot know to listen for calls for "medic"
  • make TFC engineer bots build (& upgrade) sentry guns & dispensers
The next release probably won't be out for another 2 or 3 weeks.  I really needed to take a little break from bot coding over the Christmas holidays.  Sometimes I get REALLY tired of working on the bot stuff month after month after month and occasionally just need to take a little break.  Now that I've "got my mind right", I'll be able to get back to some more bot coding and hopefully get something out before the end of this month.

December 17th, 2000:
I've updated my "Building the SDK" web page to include support for the free Borland C++ compiler.  You can find out the details, and download the necessary changes, to get the Full or Standard SDK 2.0 source files to build using Borland's compiler by clicking here.

I've also released a new version of my HPB bot template source code.  This version includes my Floyd's algorithm path finding code as well as source code needed to display waypoint menus.  Source code showing how to assign random names to bots from a text file, how to implement a bot chat feature (bot_whine.txt) and source code required to get bots working on Linux dedicated servers is also included.

I will be out of town for the next 2 weeks, so I would like to wish everyone a very Happy Holidays and a safe and Happy New Year.

December 11th, 2000:
I haven't posted any news in a while because I haven't been doing any bot related coding for a week or so.  I have been working on getting the Half-Life SDK (Full and Standard version) to compile using Borland's free C++ compiler (command line version 5.5).  When I have everything working with it, I'll add a web page showing how to build the SDK using Borland's compiler.  You still can't build the client DLL file because of the VGUI library built using Microsoft Visual C++, but at least people will be able to build the Full SDK for single player MODs without having to buy the Microsoft compiler.  Also the Borland compiler is MUCH quicker than MingW32 so you can rebuild the mp.dll file much faster than before.

December 3rd, 2000:
I've released Beta 4.1a of the HPB bot .  There's a bug in Front Line Force version 1.1 where the capture points are the wrong color for the first round after a map loads (they're RED before they are captured, but they should be BLUE).  I've added a workaround to the HPB bot to handle this FLF 1.1 bug.  This is the only change from HPB bot Beta 4.1, so if you don't play Front Line Force with the HPB bot, you won't need to download this bug fix release.

November 29th, 2000:
I've released Beta 4.1 of the HPB bot .  I fixed the problem with the Front Line Force Linux server where bots would attack their teammates (sometimes the bot thought it was playing deathmatch instead of teamplay).  I also added a new waypoint file for Front Line Force (for the map FLF_JOB).  Here's a list of the changes...

  • Fixed bots attacking teammate bug in Front Line Force.
  • Fixed bot whine "say" message bug in Front Line Force.
  • Bots no longer do a loop-the-loop when approaching waypoints.
  • Bots slow down more to handle passing through doors better.

November 26th, 2000:
I've released Beta 4.0 of the HPB bot .  I've added support for Front Line Force!  There are 2 waypoint files included for FLF (flf_lombardi.wpt and flf_village.wpt).

Please note that the Linux version of the HPB bot does NOT fully support Front Line Force due to some differences between the Win32 version and the Linux version of this MOD. The bots in FLF on a Linux box will attack their teammates.  I will get the Linux version of FLF fixed as soon as I can.

Here's a list of what was added/changed in the HPB bot...

  • Added support for Front Line Force MOD.
  • Bots use all weapons in FLF (except knife).
  • Bots know how to capture and defend points in FLF.
  • Added "bot blinded by flashgrenade" feature.
  • Fixed "sniper facing wrong direction" bug (for TFC).
  • Added DOOR waypoint support.
  • Added Capture Point and Defend Point waypoints for FLF.
  • Fixed TFC bug where a bot added after a kicked bot, wouldn't join team.

November 19th, 2000:
I've released Beta 3.1 of the HPB bot .  This is only a bug fix release and doesn't contain any new features.  I fixed some bugs with the map specific bot.cfg files. There was a problem before where bots would be respawned from the previous map AND bots would be added based on the map specific bot.cfg file settings. Now only the map specific bot.cfg file commands will be used (if a map specific bot.cfg file exists).  See the HPB_bot_ReadMe.txt file in the Half-Life\HPB_bot folder for more details on map specific bot.cfg files. I also fixed a bug where the "botskill" setting could be set to invalid values in the bot.cfg file.   I added the HPB bot version number to the welcome message so that you can tell which version of the HPB bot you are running.

November 12th, 2000:
I've released Beta 3.0 of the HPB bot .  Here's a list of the changes...

  • Added new Counter-Strike 1.0 entities (for new weapons).
  • Bots now attack enemy sentry guns.
  • Snipers know to stop running when charging the sniper rifle.
  • Medics now use medikit to infect and heal other players.
  • Bots carrying the flag will occasionally engage in battle.
  • Increased search radius for finding items in maps with waypoints.
  • Teamplay now works for Half-Life deathmatch and OpFor deathmatch.
    (OpFor requires mp_teamlist to be "hgrunt;scientist" on my machine)
  • Added map specific bot.cfg files (maps\MAPNAME_bot.cfg)

November 1st, 2000:
I've released Beta 2.1 of the HPB bot .  I fixed the problem where bots would just jump and spin on machines with high frame rates. If you already have Beta 2.0, you don't need to download this version unless you are running a dedicated server or have a graphics card that gives you more than 50 frames per second.

October 29th, 2000:
I've released Beta 2.0 of the HPB bot .  Here's a list of what's been added...

  • Added support for OpFor CTF.
  • "map" command no longer causes crashes (I hope).
  • Added new engine & MOD functions for TFC version
  • Bots wait for player to join before selecting team/class (up to 15 seconds).
  • TFC snipers now choose random sniper waypoint instead of closest one.
  • Added support for allies (like in HUNTED style maps).
  • Added reverse capture the flag support (BLUE team takes BLUE flag, etc.).
  • Bots won't repeat bot_whine messages as often.
  • Snipers do a little better job of facing the correct direction (not fixed yet) .
  • Bot don't attack team members (or allies) carrying the flag (part of RCTF).
  • Changed PAUSE waypoint to DOOR waypoint (not functional yet, next release).

October 24th, 2000:
I figured I'd update the web page to let you know what I'm working on.  Here's a list of features that will be available in the next release of the HPB bot...

  • Adding OpFor CTF support to HPB bot

  • Making HPB bot know about and not attack allies (like in HUNTED style maps)

  • Making HPB bot know how to play reverse capture the flag (where the bots have to take their own flag to a capture point).
The next release will probably be available sometime this coming weekend.

October 18th, 2000:
I've added a few more things to the HPB bot.  They now know how many teams are valid when a map is loaded and will randomly choose from the available teams.  They know which classes are valid for each team and will only select a valid class (no more manual adding for sniper maps).  I modified the waypoint path code so that it will save the calculated path information to a file and load that file instead of recalculating it the next time that map is loaded.  If the waypoint file (*.wpt) is more recent than the waypoint path files (*.wp1, *.wp2), then the waypoint path files will be recalculated.  Also there is now a "bot_whine.txt" file which contains phrases the bots will say when they get killed.  They don't SPAM the console with messages so it doesn't happen so frequently that it is a nuisance.  If you don't want any phrases to appear, just delete the "bot_whine.txt" file in the MOD directory.  You can add your own phrases if you'd like.  Each phrase must be on a separate line and must be less than 80 characters long.  You can use "%n" in the phrase to substitute the killer's name.  I haven't fixed the problem with the "map" command causing a crash yet, so use it at your own risk.

October 15th, 2000:
I've been working on cleaning up a few minor problems with the HPB bot. The following items will be available in the next release (which should be available for download in a few days)...

  • The bots now know how many teams are valid for a specific map and will randomly pick a team when a map is loaded (unless that team already has the maximum number of players).

  • Bots now know which classes are valid in each map and will only pick a class that is valid for the particular team they have joined. This means you won't have to manually add bots to sniper maps anymore since the bots will know that if snipers are the only valid class, that's what they'll have to pick.

  • I've modified the waypoint code to save the calculated waypoint path information to a file for quick loading the next time that map is loaded again. If the waypoint file (*.wpt) is more recent than the waypoint path files then the waypoint path files will be recalculated. If the waypoint path files are more recent it will just load them instead. This reduces the map startup time considerably for maps with a large number of waypoints.

October 8th, 2000:
I've fixed a few bugs in the latest release of the HPB bot.  There was a problem where bots aiming at certain angles wouldn't hit their targets.  I also modified things so that bots carrying the flag won't engage in combat and will head straight for the capture point instead (this means that any other bots or players that gets in its way will just whail on it and the bot won't fight back since it's difficult to have things both ways).  I also fixed a bug where bots would target their teammates if the teammate was carrying the keycard.  They don't do that anymore.  I modified the sniper waypoints so that bots now know which direction they are supposed to be facing when they reach a sniper waypoint.  It doesn't always work 100% of the time, but they do seem to face the correct direction most of the time now.  I haven't fixed the problem with the "map" command causing a crash yet, so use it at your own risk.

I've included waypoint files for the maps: 2FORT, BADLANDS, CROSSOVER2, PUSH, ROCK2, and SNIPRWAR.  If you haven't tried SNIPRWAR, you really should try it.  You can download the SNIPRWAR map from

October 4th, 2000:
I found a bit of a problem in the HPB bot Beta 1.0 release last night.  If you use the "map" command to manually change maps in TFC, sometimes the game will crash!  I also found if you manually kick a bot from the server, then later try to add the bot back, it will not join the game properly and is left in Observer mode.  I believe this has something to do with the changes I made to keep Counter-Strike from crashing at the end of a round if a bot is kicked during the round.  I'll have to go back and double check things to figure out what I broke in TFC.  If the time limit is reached and a map change occurs, that seems to work fine.  It's just a manual map change that causes the crash.  I haven't had time to check if this bug effects Half-Life, OpFor or CS yet.  For now, just don't use the "map" command and don't kick bots if you plan on adding them back again later.

October 3rd, 2000:
I've just released the first Beta version of the HPB bot (Beta 1.0).  The bots now know how to get to the flag and return it to the capture point.  There are 3 waypoint files included with the HPB bot for TFC (2FORT, BADLANDS and PUSH).  The bots do pretty well in PUSH (you should definitely try that map out) but they tend to jump in the water a lot in 2FORT (they NEVER want to run from a fight).  They know how to navigate in water now and will find their way out of the water when they do fall into it.  The bots currently don't try to "load up" on ammo or health, but I plan to modify things in the next release so that they will search out health or ammo when they are low on these items.

I will set up a "Waypoints" section (on the left) in the next few days where I will make future waypoint files available for download (as I create them).  I hope to create a new waypoint file about every 2 or 3 days.  Once I've got the standard Valve TFC maps waypointed, I'll begin making changes to the bot code and release another version.  It will probably be a month or so before the next HPB bot version will be available.

October 1st, 2000:
Well there won't be a release of the HPB bot tonight.  I've just found a major bug in the path finding code where the path information is getting wiped out.  At that point the bots just run back and forth between 2 waypoints.  I suspect there's a pointer to memory that's getting screwed up causing the path information to get trashed.  I'll continue working on trying to fix this problem and hopefully release the HPB bot in the next few days, but if it's a really sticky problem I might not have a release available until next weekend.

September 28th, 2000:
I've fixed the bug I had with the path finding code for team specific waypoints.  It's really cool watching the little buggers spawn and then head straight for the flag taking the shortest route to get there.  Now they know how to get to the flag and return it to the capture point.  I still need to add code to get them to recognize flags that have been dropped and pick them up when they see them.  They have to know whether someone is currently carrying the flag and whether or not the flag is for their team or the other team (the flags don't appear in color to the bots, since the bots are color blind).  Everything looks like it will be ready for a release this weekend so check this site on Sunday evening to see if I've put up a new version of the HPB bot.

September 26th, 2000:
I've made some progress on the changes for the next release of the HPB bot. I've got the sniper waypoints working and waypoints for short pauses (for doors in CS). I've got the underwater navigation working better now. The bots TRY to use ladders to go down (they just aren't always able to grab the ladder if they fall). I've got the path finding code complete and it works fine for normal waypoints but I'm having a bit of trouble getting it to handle team specific waypoints (where you've got a waypoint that one team can get to but the other team can't). I hope to have this sorted out in the next few days. The only other thing that I wanted to add is putting in a text file of phrases that the bots can say every once in a while when they get killed. If things get fixed before this weekend I'll make another release on Sunday night, it not, it'll probably be next week (or later) before another release is available.

September 18th, 2000:
I've continued making changes to the waypoint code on the HPB bot. I'm still having problems getting the bots to follow waypoints up and down ladders correctly. Going down ladders is tricky enough for human players. Trying to get bots to line up with the ladder and use it to go down reliably is a little more tricky than I had thought. Once the ladder stuff is working I'll begin writing the path finding code. Once that is complete I'll release another version of the HPB bot. There won't be any new weapons or any additional skills (other than knowing how to get to flags, hostages, rescue zones, health, ammo, etc.) in the next release. It will probably be another week or two before the next release is available for download.

September 8th, 2000:
I've been reworking the waypoint code for the HPB bot.  There will no longer be a separate set of waypoints for each team. There will only be one set of waypoints per map.  There will be a way to mark a waypoint as being specific to one team or another.  I've just finished changing the underwater waypoint code so bots will know how to roam around underwater now.  Next I'll be working on getting them to use ladders to go down (instead of always going up).  After that I'll finally get around to writing the path finding algorithm so bots will know the quickest way to get from one place on a map to any other (as long as waypoints are available).   The next release should be available after a few more weeks.

August 29th, 2000:
There was a bug in the LINUX version of the HPB bot where it wouldn't load the waypoint files correctly.  I didn't catch all the places where '\' was used in the file pathnames (MS-DOS uses '\' and LINUX uses '/').  I've corrected this problem for waypoint files and custom player model files (in Half-Life and OpFor).  Only the LINUX version was effected.  I've also put up the corrected source code in case anyone wants to take a look.

August 27th, 2000:
I've updated the HPB bot to make it compatible with Counter-Strike Beta 7.0 (it will still work with CS 6.5 or 6.6).  I've added the ability to spawn a bot in TFC using the "civilian" class so now maps like "pull" will work properly.  I also fixed (I think) a bug in TFC where the "random" player class would just jump in place after respawning.  I've reduced the amount of jumping that the bots do when no waypoints are available.  They jump when they think they're stuck and can't move forward.  Without waypoints they tended to jump A LOT.  Now they will jump once when blocked by something and if they still aren't able to move forward, they will turn and head off in another direction.  They will still jump over railings and boxes that are in their way (like in crossfire or stalkyard).  I've also got a LINUX release available now for those of you that run LINUX dedicated servers and want to use my bots in TFC, CS, OpFor, or Half-Life deathmatch.  See the HPB bot page for more details.

By the way, you can now build the HPB bot using the free MingW32 compiler available from my web site (see the "Building the SDK" link to the left).  Everything you need to build the HPB bot using Microsoft Visual C++, MingW32, or the LINUX gcc compiler is included in the source code zip file.  Just rename the "makefile_ming" to "makefile" to build with MingW32, or rename the "makefile_linux" to "makefile" to build with the LINUX compiler.

Several people have written and said they like the new website layout.  Many people have told me that my site loads quicker than any other site they visit.  Several people said that they like the KISS (Keep It Simple Stupid) principle and are happy the way I have things now.  So I think this is the way the site will stay for a while.  I will be making improvements in the Forum section in the next few weeks.  I like the concept that YaBB has in creating an Open Source Bulletin Board package and I already have a few things that I want to change.  Plus it'll give me a chance to brush up on my Perl skills.

August 25th, 2000:
I've redesigned the website (if you can really call it a redesign), to clean things up a bit.  PLEASE don't e-mail me and say "Dude!, your website design sucks!".  I'm not trying to make a really cool website with lots of neat graphics and sound and java script and animation and blinking text.  I just wanted to clean things up to keep things from being so cluttered.  My goal is to have a web site that loads quickly, not have one with tons of cool graphics.  To me, performance is more important than good looks.

August 20th, 2000:
Okay, I've released another version of my HPB bot. This version is somewhat unstable (seems fine in Half-Life and Opposing Force, but TFC and Counter-Strike have problems). I didn't get nearly as much done as I'd hoped to. The only real change in TFC is that I added weapons support. Most of the changes are "behind the scenes" stuff. Bots will automatically be spawned at the start of a game. You can set a time limit or frag limit (on MODs that support them) and bots will respawn in the next map. You can change maps using the console "map" command. You can kick a bot off of the server using the console "kick" command. I fixed a few bugs with the help of several people who e-mailed me stuff.

I now have ONE bot that supports all four games (Half-Life deathmatch, Opposing Force deathmatch, Team Fortress 1.5, and Counter-Strike). You download the HPB bot, install it, then select the bot you want using an Install batch file. This doesn't make the bot code any bigger (all four bots in one file) since 95% of the code is the same for all four types of bots.

Also I have received several e-mails from people asking where the other 6 CS bot websites were. I never said that there were 8 websites with CS bots. I said that I had been contacted by 8 people who were making a CS bot. Two of them (DaTa and Paulo) have made enough progress to make a CS bot available for download. I don't know how far along the other CS bot developers are. All they did was e-mail me and say "I'm also making a bot for CS!". If I get any e-mails from CS bot developers who have a website with a bot that can be downloaded, I'll post the URL here. Until then, you will probably know about these CS bot sites long before I do. By the way, Paulo sent me news that he now has a new URL for his Rambot website. The new URL is here. Put this new URL in your bookmarks (or favorites) and delete the old URL.

August 18th, 2000:
Well here's something I haven't seen before. The author of the Rambot (Counter-Strike bot), Paul George, sent me an e-mail stating that the webmaster of his site has "hijacked" the web site and is preventing Paul from getting access to it! I assume Paul will either have to work it out with the ISP that hosts the site, or try to open a new site somewhere else. The web page here used to have Rambot stuff, but now is a broken link. I hope Paul is able to straighten things out and continue working on the Rambot. I know that everybody would like for these bot authors to have as little distractions as possible so that they can continue working on the bot code and not fighting with other people or ISPs.

August 16th, 2000:
I've been making quite a bit of progress in the past week on the HPB bot. I've got them mostly complete for OpFor and Half-Life deathmatch (based on the Bot Number 10 code). I've got them using most of the weapons in TFC now. I'll be adding some weapon support for Counter-Strike over the next few days. I'll probably be releasing another version this coming weekend (notice the word PROBABLY). The new version of the HPB bot will allow you to specify the bot's name and model (if the MOD supports custom models). It will also allow you to automatically spawn bots using the same bot.cfg used in my Half-Life deathmatch bots. The new version of the HPB bot will allow you to specify a time limit or frag limit to automatically change maps and will allow you to use the "map" command to manually change maps. The waypoint editor will remain included in the next release which will allow you to create waypoints for maps that don't have waypoints. I still need to work on creating some waypoint files to include with the next release of the HPB bot. The waypoint file format has changed from the previous version so any old waypoint files that you have will not work. I had planned on creating a Linux version of the HPB bot for Linux dedicated servers, but this may not get done by the time I make my next release. If it's not done at the same time, I will release a Linux version very shortly afterwards.

I have been contacted by no fewer than 8 people who say they are developing a bot for Counter-Strike. Two of these people have already released a bot (Android and Rambot). I expect a few more to be released in the next few weeks. So far no one has contacted me saying they are making a TFC bot or an Opposing Force bot. Some people feel that these CS bot authors should get together and make one bot. They think that this will allow the bots to be released sooner, but I don't think that it's a good idea. It takes very good coordination to have more than one person working on a software project and having multiple people code the same bot would probably only slow things down. Also having multiple bots allows you to choose from the bots available and play the one that you like the best. Not everybody likes the same kind of bot. That's why I originally worked on creating a bot for Half-Life. There already was The Jumbot and Phineas Bot, but I wanted to make my own bot that had a little different style of gameplay. So don't complain about there being too many Counter-Stike bots out there. The more bots there are, the more competition there will be, and the more competition there is, the more the developers will try to make their bots better.

August 11th, 2000:
Okay, sorry for the ranting and raving in the previous news item. I have been getting e-mail from some people who were concerned that I didn't want ANYONE to use my source code. That's not what I was complaining about. I have always encouraged people to download the source code from my bots and use it in their MODs (exactly as it is or modified to improve it). I REALLY DO want people to use my code to build other bots from. I, like all of you, get tired of playing with the same stuff over and over and over. Having a variety of bots to choose from makes the game play all that much more fun. Everybody who creates a bot puts in their own special stuff that other bots don't have and I don't want someone to think that I will complain if they release a bot that started from my source code (even if it's a TFC bot!). The complaint I had was someone downloading my executable, changing the zip file name, modifying the ReadMe.txt file, then uploading it to their web site and claiming that they had created this bot.

But I'm not going to let one person screw things up for everyone else. I will continue to release my bots as well as release the source code that goes along with them. I can't change the behavior of other people and if I let them change the way I do something, then they've won and I've lost. I'm not going to let that happen. People can't take advantage of you if you don't let them. Enough said on that subject, now back to bot coding...

August 9th, 2000:
I've just discovered a web site where someone posted a version of MY bot and called it their own. I won't post the URL of the web site since I don't want to give that person publicity. I have asked this person to remove that bot and told them if they want to post a link to my site that's fine. But I doubt that the bot will be removed. The idiot didn't even have enough sense to change the readme.txt file contents to remove my name. It's not a modified version of the code since the executables are exactly the same size and have exactly the same timestamp. It's just someone posting my work as their own and trying to get credit for it.

Okay, so be it. From now on all of the future versions of the bots will have an identifier in them that labels them as mine. I started doing this with the HPB bot (TFC version) where it uses the "Say" command to send you a message 5 seconds after you join the game and prints out the URL to my website. I originally wasn't going to release the source code and knew that there would be people taking the executable, changing the text files, then posting it on another web site as their own work. Well in the future, if that happens, the people downloading it will know right away where the bot originally came from. I am now undecided whether I will release any more source code either.

I will continue to work on the TFC/CS/OpFor/whatever bot, but it REALLY ticks me off that someone would take something that I've worked so hard on and post it as their own work.

August 5th, 2000:
I've put a new version of my Half-Life deathmatch bot up on my web site. No, it doesn't work with TFC or CS or Firearms or any other Half-Life MOD. The new version fixes a few bugs and adds better support for dedicated servers. Now you can use the console command "map" followed by the map name to switch maps and bots will be recreated when the new map loads. You can check out Bot Number 10 here.

I've also continued to work on the HPB bot. I'm making progress with the waypoint and path finding code but don't have anything that can be downloaded yet. I've managed to get the waypoint code working in Counter-Strike. There were problems with the way I was determining which team the bots were on and that caused the waypoint code to crash the Half-Life engine. I did figure out how to get bots into OpFor. I was trying to figure out why they were being kicked out and correct whatever the problem was. It turns out that all I had to do was ignore the "kick" command to prevent them from being kicked from the server and they work fine!

August 4th, 2000:
DaTa sent word that he's got a temporary web site set up with a downloadable version of his Android Bot for Counter-Strike. You can check it out here. P.S. I didn't write this bot code!!! Please don't e-mail me with problems or complaints or praise for the Android Bot! Contact DaTa using the e-mail address on his web site!

July 31st, 2000:
Good news everyone! Someone named DaTa sent me some code last week to fix the problem where bots were not joining teams properly in Counter-Strike. Thanks to DaTa, I am now able to spawn bots in TFC and CS! DaTa's change was using ClientPutInServer() instead of DispatchSpawn() after the ClientConnect() in the BotCreate() function. Also some stuff had to be changed in the BotThink() function where the bot selects the team and model it wants to use.

I am working on incorporating these changes and finishing up the path finding code using waypoints before another test release. The next release will support TFC and CS (and possibly OpFor). I'm having problems with OpFor kicking the bots out of the game as soon as they join. At first I thought it was because bots don't have a WON ID, but that's not what's causing them to be kicked from the server. I did add code to support manually kicking a bot from the game (it used to crash when you do this), so you will be able to add and delete bots without having to restart the game. The next release will probably be in 2 or 3 weeks.

July 15th, 2000:
I've been putting off writing the path finding code for the HPB bot because I have been trying to get the HPB bot to spawn properly in Counter-Strike. I'm still having problems getting the stupid bot be assigned to a team properly. There appear to be differences between the way real clients connect to the server and the way the HPB bot is connecting to the server. I suspect it's something in CS to try to prevent cheaters from changing client properties without the server know it (TFC doesn't have this problem). It's REALLY frustrating trying to get it to work. I've learned about 1,000 different ways to crash the Half-Life engine. :) I really wanted to get a simple CS bot going that would use the existing waypoint code I had, but I'm not having any luck at all with this. I guess I'll give up on the CS bot for a few weeks and get back to coding on the TFC bot. Please don't e-mail me and say "Don't give up on the CS bots!!!". I'm not giving up, I'm just putting them off for a little while. The code I write for TFC would also be needed for CS, so I'm not "wasting my time" doing TFC stuff. I think I've worked out the way I want to do the pathfinding (which means the waypoint file format is going to change in the next release). I don't know when the next release will be. It could be a few weeks, it could be a month or more. I'll make updates here when anything changes.

Oh yeah, I got a nice e-mail from Yahn about the HPB bot. I wasn't sure how Valve would react to something like this since it's kind of borderline reverse engineering, even though I'm not decompiling any code, just looking at exported function names. Valve has always been helpful in answering questions from developers and does encourage MOD authors to show off the capabilities of the Half-Life engine. I hope that I am able to create a bot for existing MODs like TFC or CS that will allow people to continue playing these games. With all of the cheating and childish behavior that occurs on some of these servers and the fact that some people have to pay an arm and a leg for Internet service, it will be nice to be able to play these games without all of this and have no network lag to boot!

July 4th, 2000:
I've released a test version of my HPB bot for everyone to play around with. It doesn't know how to use weapons yet. It doesn't know how to navigate in the level. It doesn't know any of the rules of the game. All it does is run around and let you shoot at it. The bots will respawn when killed and will follow waypoints (for maps that have them). It may be several more weeks before I have anything more to play around with, so download this version and, hopefully, it will keep you occupied for a little while.

July 2nd, 2000:
I've updated my Stripper Add-On to work with Half-Life version or higher.

I've also been spending some time working on a waypoint system for the HPB bot. I have implemented a system that allows you to add or delete waypoints as well as save them to a file. I had originally intended to release a "cannon fodder" version of the HPB bot where it just randomly wanders around and let people play with that, but the bots do SOOOOO POORLY at wandering around that even that isn't much fun. With the waypoint system the bots follow a specific path and almost look like they know where they are going. I still don't have a path finding algorithm yet to allow them to get from point A to point B in a map. Right now the bots just randomly follow waypoints around in the map.

The code that I currently have allows for up to 4 teams (each team has a separate waypoint list). Currently only team 1 follows the waypoints correctly. The other teams just bump into the walls and tend to stand in one spot. Once I fix this where both teams follow their respective waypoints, I'll release a "Waypoint Test Release" that will allow everyone to try out what I have so far. I don't expect it to take more than a few days to correct this problem, but it could be several weeks before I figure out what's wrong. Once again, I am NOT going to give a specific release date for anything. This is a labor of love for me. I'm not working under any contract that says I have to have something available by a certain date. I've never promised anyone that anything would be available by any specific date. I know things are taking longer than I thought they would, but PLEASE don't e-mail me asking when it will be available. If you do, I'll just ignore your e-mail and delete it.

June 22th, 2000:
MANY, MANY, MANY people keep e-mailing me and asking how to download the HPB bot. You CAN'T because I don't have anything ready to download yet. Also people keep asking "Can you please tell me the release date of the bot? I gotta have it or I will die!". Well, I'm sorry to hear that your life depends on downloading a bot, but I just don't know at this point when the bot will be ready. I'm not going to promise everyone that they will be ready by "such-and-such" a date, then not make that release date and have everybody sending me e-mail whining about "Why isn't the bot ready yet?". The bots will be done when they are done. I will post news here when ANYTHING changes and I will send the various Half-Life news sites (, etc.) an e-mail stating that something is available for download when there is actually something available to download. Until then CHILL OUT! RELAX! Go outside and play (or something).

June 5th, 2000:
I've updated my bot so that it will work with the new version of Half-Life (version You can now use custom models for the bot. I've also tweaked the bot aiming code so that the bot doesn't lurch about as much. I've added "taunt speaking effects" for the barney and scientist models. Check out Bot Number 9 for the latest version of my bot.

I am also continuing to work on a TFC bot. Once the new Half-Life update is released, I will check to see that my TFC bots still function properly (I don't expect any problems, but if Valve has changed too much code, they might not work at all anymore). I am currently working on waypoint code so the bots will be able to roam around the levels somewhat intelligently (at least better than I can anyway!). I will then start working on getting the bots to know how to use the weapons that are available to them. The roaming around and weapon support will be somewhat primitive at first, but will get better over time. All bots start out this way and gradually get better. I'm just willing to release a bot that is far from perfect so people can have something to play with. I expect to release a playable version of the TFC bot in the next few weeks, so keep checking this page for updates and availability.

Several people have e-mailed me and asked to be Beta testers for the TFC/CS/whatever bots. I don't need any Beta testers at the moment but I will always welcome any constructive feedback that anyone has about how to improve the bots. However, please realize that I will NEVER be able to create a bot that can play anywhere NEAR as well as a human opponent. Bot AI just hasn't developed that far yet due to CPU and memory restrictions (as well as my limited coding skills). Don't expect the bots to be just like human players. They won't be.

Other people have e-mailed me and asked "How did you get the source code to TFC/CS/whatever? Can you send it to me? PLEEEEEEASE!". I don't have the source code to TFC or CS or any other MOD for Half-Life (other than my bot code found on these web pages). I am creating a bot in EXACTLY the same way that the Half-Life engine creates any other player. I am spawning a bot using function calls in the MOD that are available to the Half-Life engine code. You can think of my HPB bot as an extension to the Half-Life engine where bots are created just as if a real client had connected over the network or from the Internet.

May 29th, 2000:
I've continued working on creating bots for Team Fortress Classic (TFC), Counter-Strike (CS) and other MODs. I have made quite a bit of progress in the last few weeks. I put together some screen shots of the bots in TFC. You can see them here. The bots don't know how to roam around very well yet (waypoints are a MUST for this). The bots don't know anything about the weapons (yet). Right now they are mostly just target practice, but they still don't wander around well enough to even be easy to find.

I plan on having ONE generic bot, that can handle simple roaming around (via waypoints) and using the weapons, and use that ONE bot for both TFC and CS. The method that I am using to create the bots does not seem to depend on what the MOD actually is. Obviously the game rules and weapons are different for different MODs, but the way that the engine creates a player (and a bot) seems to be the same for all MODs. Thus there will be one universal HPB BOT!!!

By the way, for those of you concerened about the size of the download once the HPB bot is released, right now all that is required is a single DLL file that is currently ONLY 137 Kbytes.

May 25th, 2000:
I will be updating my latest bot (Bot Number 8) to work with the upcoming Half-Life Update (version shortly after Valve releases the patch to the general public. I have the bot working with the new SDK 2.0 and will be making a few minor enhancements.

Keep checking this site after Valve has released the update for a version of my bot that will work with Half-Life version

April 23rd, 2000:
I've added the NetProbe web page with information about a proxy network monitor for Half-Life that I've created. NetProbe allows you to capture network packets being sent back and forth between the client and the server. I will be adding a performance section to this utility to aid MOD developers in reducing LAG in their MODs. For now the only thing this utility does is capture packets in a nice readable format (if you like reading hexidecimal numbers!) :)


April 2nd, 2000:
I've been playing around with a method of loading other MODs by creating a DLL file that can load a Half-Life MOD DLL file. I've taken what I have done so far and made an Add-On (not a MOD) for Half-Life (and a few MODs) that will allow you to strip out weapons, ammo, and other items from maps while playing them. The stripping out of items does NOT modify the map file in any way and is only temporary. Take a look at the Stripper Add-On for Half-Life if you are interested in this sort of thing.

I had hoped to be able to use this method to add bots to other MODs that didn't already have bots, but I have not been having much luck with this. I will continue to work on this (off and on) over then next few months to see what (if anything) can be accomplished.


January 22nd, 2000:
Well, I hope everyone survived Y2K with little or no problems. I have released another version of my bot. Bot Number 8 which has an enhancement to the roaming code to detect doorways and intersections in hallways. This helps to keep the bot from getting stuck in rooms where it can't find the door. I've added a new console command, "botcam", which will allow you to create a 3rd person point-of-view camera behind any of the bots in the game. You can follow the bot around as it battles against other bots or other players.

I've also been working on creating a Half-Life Dedicated Server version of the bot MOD. I have created a Win32 version and a Linux version for those of you who wish to use my bots on your Half-Life Dedicated Servers. You can get details on running the dedicated server version here.

December 21st, 1999:
My web site has been added to the family! I'd like to thank the Gamespy Network for hosting this site and hope everyone who visits this site will tell all of their friends about it (as well as visit all of the other fine web sites).

I have also added an Unofficial Half-Life MOD FAQ that describes everything you need to know about creating a MOD for the game Half-Life.

December 12th, 1999:
I've added 007 - Bot, James Bot. The bot will now respawn after a round ends due to a frag limit or time limit. The bots now run at the correct speed (thanks to TheFatal and his Advanced Bot Framework). The bot now uses ladders more frequently. When playing in teamplay mode, you can "use" a bot on your team to have it follow you around and provide cover fire. Some minor bugs were also fixed.

November 14th, 1999:
I've added Bot Number 6. This bot has better roaming AI so it doesn't scrape against the walls. Secondary fire was added to many of the weapons (thanks BigGuy!). The bot knows how to use Snarks and Hand Grenades (thanks again BigGuy!). The bot tries to keep from drowning when in water and tries to jump out of the water when it sees an area where it can do so. The problem with the bots running too fast has been fixed. Bots can automatically be spawned when the player starts a game using a "bot.cfg" file. Team play is now supported and bots won't shoot their teammates. Several minor bugs were also fixed.

Some MODs have begun to incorporate bots and that's great! However, if you create a MOD using bot code from this web site, at least do the decent thing and give me some credit for creating the bot code that you based your bot on. I don't have a problem with people taking my bot code and adding features or just using it as is from my code, but DON'T try to pass off the bot as your own original work. There are various ways that I can tell when this has been done and if I see others using my code without at least some credit to me, I will stop releasing source code to subsequent versions of the bots. PLEASE DON'T MAKE ME DO THIS!

October 24th, 1999:
I've added The Cinco Bot. This bot knows how to use Health and HEV wall stations. The bot knows how to jump onto or duck under things blocking its path. The bot knows how to detonate armed tripmines and will avoid armed tripmines if the bot is too close to shoot the tripmine without getting hurt. The bot knows how to use lifts (elevators) and the bot knows which weapons work under water.

October 8th, 1999:
I finished modifications to the 4th bot available on this web site. Since I couldn't think of any clever name for this bot I just decided to call it "Bot Number 4". This bot uses weapons more intelligently. You can specify the model, player name, and skill level of the bot when they are created. Some player models will occasionally speak back at you when you shoot at them.

I also have added some information on the Half-Life SDK and C++ objects. Check out "Some basics about C++ and the Half-Life SDK" for details.

September 25th, 1999:
I've been spending several days trying to build the Valve SDK without using Microsoft Visual C++ with MUCH success! I downloaded the MingW32 C++ compiler and was able to modify the SDK files to compile without errors (although you get LOTS of warnings about float to int conversions). I was finally able to build the DLL without the engine refusing to load it or crashing after loading it. The performance of the compiled MingW32 code is not as good as that produced by the Microsoft compiler, but the MingW32 compiler is FREE and worth EVERY PENNY! Check out Building the DLL without Microsoft Visual C++ for details.

I have received much e-mail from people asking me to build a bot for Counter Strike, Team Fortress Classic, or Action Half-Life. I can not build a bot for these MODs without having the source code to these MODs (NONE of which has been released to the best of my knowledge). PLEASE DON'T WRITE ME AND ASK ME TO MAKE A BOT FOR CS, TFC, OR AHL!!! I can't do it and even if I had the source code I don't have the time or any desire to build a bot for any Half-Life MOD.

September 20th, 1999:
I've added The PGBot (see below). The PGBot now will only see things (enemies, weapons, ammo, etc.) that are in its field of view. The PGBot knows how to navigate ladders and will pick up any items that it sees (that it needs and that it can get to). The PGBot will also pause briefly as it is running around to give you a chance to use the zoomed in crossbow or 357 (but you gotta be quick). I also shuffled some things around on the web site to make things a little less cluttered.

Some people have sent me e-mail saying "Dude!, you need a good webmaster to make your site look WAY COOL!". My intent here is not to create a "way cool" web site. My intent is to provide Half-Life bot source code so that other people can create Half-Life bots, or modify my bot to their liking. I don't like a lot of graphics on a web site. I don't like a lot of ads. AND I HATE BLINKING TEXT!

September 14th, 1999:
I created this web site and put up The Fodder Bot and The Gump Bot. Both of these bots are very simplistic in their behavior. Over the next few months, I will provide more sophisticated bots as well as providing documentation on the objects, methods (functions) and attributes (variables) that are in the Half-Life SDK. My intent is not to make "the best bot". I don't feel that you can make one bot that everyone thinks is the best. Some people like bots that are very difficult to play against and others like bots that are easy to slaughter.