May 25th, 2005
Found again little time to work on JoeBOT XP. I finally fixed a weird bug in the squad system. So the basic squad behaviours are already working, i.e. they try to avoid to run all the exact same paths within one squad, so that they hopefully won't come around a corner in one line providing the perfect target for an evil human being exploiting bot behaviour using a sniper rifle ;-) They also have a basic cohesion behaviour which results in a squad where the first might wait for his fellow teammembers, also taking a look at the current weapons, so that a bot with a sniper weapon running in front of the squad is less probable than a squad member running there with a shotgun.
The bots themselves have quite little navigational intelligence. This has all been moved to the squad level. And that's exactly the problem I'm currently working on : The squads should fulfill certain tasks, also depending on the type of the map. I'm currently evaluating a blackboard architecture on team level, that means, there would be a 'blackboard' on team level containing possible tasks. Once a squad sees a suitable task there, it might take it from the board and execute it - while other squads shouldn't be able to execute it any more. The decision if a task is suitable should be done on the basis of the availability of certain types of weapons, items and time. For example the squad with a bot carrying the bomb should start going to a bomb spot, maybe some 10 seconds after the beginning of a round. Currently the squads have a random navigation behaviour, which commands the squadmembers to go to random locations on the map together. Interestingly this produces a pretty intelligent looking behaviour of the squad, although you won't yet find a Counter-Terrorist squad defending a bomb spot, yet.
Enough said, you can watch a little demo video of the squad behaviour here ( ~10MB ) . The white lines connect the bots inside one team.
Note: right click on the link for the video and then select 'save target as' to download the video. simple left clicking might cause problems, no idea why.
/@$3.1415rin