Utility AI Plugin

Regarding that “situational awareness” - I just remembered some time ago I had a chat with Dave Mark (I guess, you can call him “the godfather of utility AI”) on gamedev.net forums and when I asked about this issue of possible situational optimizations, he directed me to one more awesome video:

https://www.gdcvault.com/play/102184…ter-Centaur-AI

It has a section about “Decision Maker Packages” and even mentions “situational packages” at 29 minutes of the video.

This might be a helpful idea to deal with situations when your AI considerations stack grows too large and gets difficult to tweak to avoid conflicts and inconsistencies and also for optimization to avoid running through the entire list of considerations. For example, when an NPC is at their home drinking a coffee, you don’t want them to suddenly decide to find the closest bartender and pay for the coffee. Instead of tweaking the considerations to avoid such behavior, actually, you don’t want to evaluate this option at all if the NPC’s location is not inside a coffee shop. So, that’s when those Decision Maker Packages might be very useful. We could categorize considerations and behaviors into distinct packages that should be evaluated in specific areas of the map and completely ignored in all the other areas and just use enter/leave volume events to trigger pushing/popping the situational packages.