|Date:||9/17/2012 7:39:52 PM|
|Subject:||Weapons Factory Arena: AI and dealing with dynamic|
Problem: The static entities that players create can do damage. They aren't players, and they are not "map objects" that are compiled in so the bots don't see them or know how to deal with them. They are not told to be aware of them, so they are lead like lambs to the slaughter when a player puts one down.
The solution: Taking the (limited) existing "obelisk" code as a reference, use a hacked-up and very complex version of it and create a new goal stack for the bots, and change their weights when deciding what entity is the most risk (has harmed it), and choose the appropriate weapon based on their class, and inventory.
This was my first test using the new "popGoalForBot" module. Seems to work ok; it's not called all that often so the bot doesn't know that the enemy entity is "dead". That'll be fixed somewhere else by calling the BotFindEnemy but heavily modified to clear all static ent states from the bot's enemy list and re-kick the popGoalForBot.