From omni-bot

About Me & Bots

I am the primary developer of Omni-bot. I started Omni-bot in October or so of 2004 as both a project in which to gain valuable AI programming experience, but also as a project to feed my need to do FPS bot programming.

After a couple years of clanning in Team Fortress Classic, I went through a phase of being tired of playing against humans. From cheating, to immature trash talking, to bunny hopping, and other such experiences that are all too common when playing online, I went searching for a bot for TFC, as it was around the time where bots were booming for Half-life 1.

In Half-life 1, a clever developer who goes by botman was the first to discover that bots could be made for any Half-life mod by creating a library that sat between the engine and the mod dll. This was a first for bot developers, as traditionally in order to have bots in a 3rd party mod, one had to develop them with the mod source code.

As a result of this discovery by botman, the community of bot developers became very large for Half-life, spawning Counter-Strike bots in the double digits, bots for Natural Selection, Day of Defeat, and some other mods.

At the time I came looking for a TFC bot, I had a good deal of free time and was hoping to help one of the bot developers so as to speed up development. At this time I wasn't much of a coder myself, serving a 4 year Air Force term in Alaska. After contacting the TFC bot developers I could find, I only really got a good response from Redfox, of Foxbot. At the time, Foxbot was the more advanced of the available bots, and as a bonus, the developer seemed cool and willing to have me help out.

Throughout Foxbot development, I was basically responsible for the waypoints and scripts for all the stock TFC maps, as well as many popular custom maps, and of course huge amounts of testing and feedback to Redfox to ensure steady progress and an overall great quality bot. The community grew to be very large, we had an official Foxbot TFC server where we rolled out new features early to surprise regular players, and a very active website and forums.

After a couple years of helping with Foxbot, and after I left the military and went to school for game programming, I began to take on a more active development role with Foxbot. Free time for Redfox was very low, and it was perfect timing for me to be able to contribute more significantly to Foxbot. I essentially took on lead development role for the last 4-5 releases of Foxbot, adding such features as Rocket Jumping, Concussion Jumping, Defend points, Pipe traps, etc.

Long story short, as is what happens with every game, eventually TFC popularity started declining, most likely as everyone migrated to Counter-Strike. Throughout Foxbotdevelopment, Redfox and I always talked about a more general bot framework, much like discussions that were happening in the BotsUnited forum about a proposed United Bot.

Unfortunately, discussion was about the only thing that came out of either attempt, and in 2004 as I finished my Bachelors in Game Programming I decided that I would start such a project myself.

I chose the Omni-bot name because the Omni prefix is fitting for a bot that is planned to support numerous games. Initially during very early Omni-bot development, I joined the ETF development team to develop bots for their Team Fortress mod for Enemy Territory. Pretty much all of the early Omni-bot development was for ETF, as I fleshed out the low levels of the common systems for the bot.

ETF released with competent bot support, though I would have liked to do more with them. During ETF development, the next logical step for games to support was Enemy Territory itself. Enemy Territory was and still is a popular multi-player only game released for free by Splash Damage from a canceled commercial game. As luck would have it, the author of an existing bot for Enemy Territory was interested in joining Omni-bot for Enemy Territory support. Magik joined the Omni-bot team of just me, to develop support for Enemy Territory in parallel to my own developments of ETF. After ETF released, I moved to help out with Enemy Territory as my focus as well, primarily because I was unable to release my own updates to ETF, because most would mean distributing an updated server dll as well as bot files.

Enemy Territory support is still alive and strong today, and the Omni-bot framework itself has evolved leaps and bounds over what it started as. Omni-bot has had its interface integrated with several popular Enemy Territory mods, such as etpub, jaymod, and noquarter. Omni-bot has also expanded past Enemy Territory into Doom 3, Quake 4, and Fortress Forever.

I've also picked up some new help over time, who have benefitted Omni-bot immensely.

  • Magik - Started Enemy Territory support, hosts the website and code repository.
  • Geekfeststarter - Tons of testing, waypointing, scripting, for Enemy Territory, Fortress Forever, Doom 3, and Quake 4.
  • Crapshoot - Tons of testing, waypointing, scripting, for Enemy Territory, Doom 3, and Quake 4. Lots of documentation help on the Wiki.

Thanks to all these guys, and anyone else in the community that has contributed their time to waypointing, scripting, or helping other users. It is very much appreciated.

Development Logs

Visit Development Logs for news on what the team is up to.