Hi all, people that attended the Amsterdam bot developer's meeting might remember that I passed around a sheet with a class design for an engine and mod independent bot. With all my diploma thesis and now PhD stuff going on I did not really have the time to implement the whole thing, but well, I started writing a couple of base classes and examples of the intended hierarchy, which should give some ideas of how I wanted to organize things. Due to lack of time, I won't be working on the project anymore (not much anyway), so before it stays completely useless on my HD, I decided to upload the whole Portable Intelligent Agent (PIA) framework to BotsUnited, and you can get it here:
http://filebase.bots-united.com/pafi...on=file&id=138
I imagine that some parts of this framework could be used for the United Bot, and it has some features that might be worth discussing. The most prominent one is that I decided to code the entire upper AI level using an XML-based scripting language. Basically, all bot actions are toggled by perceipts (as descriped by Johannes in his docu on JoebotXP) and weighted to give a score. The action (or goal) with the highest score gets executed. With Parabot I noticed that it would be very nice to be able to configure these scores (and together with that the entire bot behaviour) by text files, so that interested users could toy around with it. That's what I tried to do with PIA, have a look at the example to see if it's feasable for your purpose.
I have no experience with plugins (though I like the concept) and how they could be integrated into PIA. One possibility would be to release the lower level actions in different libraries, so that people could write new shootAtEnemy or GoTo modules in C++ and replace the standard ones.
I don't know how understandable the whole framework is without proper documentation, but I encourage you to take a shot at the code, the config files and the example console project and post your questions, opinions and suggestions here.