Bots branch
From TremFusion
The bots branch has several sub-goals, but its primary purpose is to create enjoyable, realistic bots for players to play with both online and off.
Contents |
[edit] Current Progress
The bots branch is based off of the Quake 3 Arena Awareness System and the botlib code in ioquake3. As of right now (Dec 14, 2008) the code port is incomplete, and a great deal of the botlib code is either commented out or not included. Eventually, the entire botlib code should be included, and then significantly enhanced to work with the nuances of Tremulous's gameplay.
[edit] Human Team
The human bots are significantly more advanced than the alien bots because the original botlib code was designed for gameplay very similar to the human team. Bots currently can purchase equipment, find a medipad and heal, avoid acid tubes and target enemy buildables and enemies. They are quite playable, though significant improvements could be made
[edit] Alien Team
The alien bots are barely functional. They can evolve, and attack enemy players, but they have no concept of avoiding enemy defenses, they don't attack when in range, but rather attack constantly, and they don't use any of the special abilities of any class.
[edit] Library
The library needs to be updated with neural net code, significantly changed chat code, recognition of the different player model sizes for different alien classes/battlesuit, calculations for dragoon jumping, marauder walljumping, alien wallwalking, and human jetpacking and integration with newer versions of the code base, specifically the zlib code.
[edit] Building
Bot don't support building of any kind. The current idea is to have bots read and understand the layout files that occasionally accompany the map files. That way, they could build to match a saved layout, which is significantly easier than having them come up with their own layouts.
Since they will build to a layout, it would be necessary to either teach them how to manuever a builder so that they can place an object (very hard for aliens, modestly difficult for humans) or simply create a system that fakes it. IE, instead of an alien building having to wallwalk on a particular wall and face a particular direction to put a trapper correctly, just have it move to a location very nearby, then the server generates the trapper in exactly the same position as the layout has it and modifies the builder's build timer.
[edit] School Work
You may be interested to see a few papers based around bot work
[edit] Ender's notes
These are notes to myself as I got the bots branch working again
- Make sure you put the contents of /botfiles into the base path, as they are needed
- bot_developer and bot_debug are the cvars that control debug output
[edit] Building .aas files
Haven't done it yet. Will need to do eventually

