Hey guys. Been a while since I've been around but I've been very busy on the bot front. With the recent release of
ETF, which include an early version of my new bots, I'd like to introduce my brand new from scratch bot framework I call Omni-bot.
Omni-bot Homepage
There's a good amount of information on the FAQ there, as well as in my development posts in the forum section, but I'd still like to give a rundown of what exactly it is.
Omni-bot is a C++, object oriented bot framework, engine and game independant. It is implemented as an Omni-bot.dll which contains about 95% of the bot code, and a small interface layer that is built into the game as necessary. At the moment, the bot is at varying levels of development in Enemy Territory, ETF, TFC, and very early HL2. For ET, and ETF, since the engine hasn't the luxury of a metamod or plugin system, the interface layer is compiled with the mod as a single header and cpp. For HL1 and HL2, thanks to the plugin nature of bots, supporting many more mods will be possible and easily implemented.
From a design standpoint, due to the system being game and mod independant, about 85-90%% of the AI code is shared among different game/mod implementations, meaning that improvements/optimizations to common systems will be felt across all the bot implementations, while still allowing subclasses to extend of enhance those common systems. Additionally, it has an extremely easy goal system that allows new goals to be introduced and implemented with minimal effort and time, as well as making debugging easier, as each goal is self contained in its own class.
On the customization front, everything about the bot is customizable, from the individual weapon preferences, to individual aim error
At the moment I'm heavily commited to fully implementing the ETF mod, which at this point is going pretty smoothly. At the same time, a friend is working on teaching them the normal Enemy Territory gameplay, and Redfox of Foxbot is working on TFC support off and on. As mentioned above I have a very early HL2 interface plugin based mostly on the efforts of you guys around here that I will get back to when ETF starts winding down to start expanding into HL2.
As I look around the forums here I can tell that there's a bright future for bot users. Good job to everyone. Anyways, I just wanted to finally annouce it, after having been working on it for some time now(~6 months) I'll be around much more often now that it's in the public eye and not isolated to my "lab".
Jeremy