home >> a Bot AI framework

This section deals with the framework for my bot AI design. Actually, I had no framework when starting to code a bot-AI, only my own ideas and specifications.
My starting point was the "PodBot" code for Counter-Strike. I really think it is a very good bot, but I had problems with mainly two things: the task selection process is not flexible, and the management of conflicts/priorities is not efficient ( it is scattered through the code, sometimes leading to perform computations which appears to be useless after some priority checks).
My own specs were then basically, but not only, to avoid those drawbacks.

The AI does not address Learning. First because my idea was that the bots should be able to play a map they never played before decently and instantly ( allowing though for one or two hours of map-specific precomputing for autowaypointing or tactical data building,...). Secondly because I do not know enough about Learning, and endly because I feel I can add it later if I want. So my AI answers to the "what to do?" questions are selectable but hard-coded answers.

During coding, I bumped many times into the same design or implementation issues, and I started formalizing a sort of thinking process, which eased coding by recognizing similar processes justifying similar code arrangements, or even re-use of same code blocks. This ended up with a generic AI-engine, processing game-specific hard-coded tasks.