Half-Life bot development
Building the SDK
HPB Waypoint files
|Credits & History:
I became interested in developing a Half-Life bot after playing with Phineas Bot, and The Jumbot. Both of these bots are VERY good at moving around, using weapons intelligently, and kicking my butt (if I'm not careful). However, while playing against these bots I noticed that there were certain situations where the bots did not behave in an "intelligent" manner. I thought, "If I could develop a bot, I could work on correcting these little problems and make the bots have a more human-like behavior." So I began doing research on what it would take to build a bot for Half-Life.
After scouring the web sites of Phineas Bot and The Jumbot, I found several forums and other web sites that had information about bot development. I soon began to realize that there were no sites that had source code for a fully working Half-Life bot. I found some code for a bot framework that showed how to spawn a bot from the console, but the framework had no code showing how to move the bot around, examine it's surroundings, find other players (or bots), or select weapons and shoot at other players. I quickly realized how difficult it was for these original Half-Life bots to be created and gained a new respect for the quality of the existing bots.
The initial bot framework I started with came from a message in a Half-Life
coding forum by Jehannum (creator of Phineas
Bot). The file he posted (2-205-bot.cpp) contained code showing how
to spawn a bot and how to get the bot's Think() function to be called.
I later found the bot
framework by TheFatal (creator of The
Jumbot), which contained the pfnRunPlayerMove() function (needed to
get the bot to move around). I would like to thank Jehannum and TheFatal
for all of the effort they put into the first 2 bots for Half-Life and
for assisting me with questions that I had during the early stages of my