really interesting, Dave!
I have always been a fan of influence maps (variants of Flow Field, Distance Maps, etc) in their power for pathing large numbers of agents. You have gone much further and utilized the information in a way which brings about recognizable behaviors without adding an AI system - very impressive. As you hinted, combining these with an AI system would seem to be very powerful and lightweight.
Question: Have you found a better (memory or speed) method of storing your influence maps beyond a basic array? Although using the info in an array is exceptionally fast, I am always concerned about the amount of time it takes to re-generate the maps. I have used my own hand-rolled 'brushfire' algo to regenerate partial maps (only the parts that have changed), But these videos of yours seem to show each agent with their own influence maps which are being regenerated with every movement of that agent. Seems like it could get overloaded quickly in scaled up version - am I right? or is the map creation pretty trivial even at scale? I assume there might be one general purpose 'static obstacle' map utilized by all agents for basic pathing, but the threat maps and ally maps are fully dynamic and need to be entirely recreated basically each cycle or so...right? What am I missing in my thoughts here...
I will look at your other provided links also to see examples of combining with an AI system to see exactly how you do the 'combining' - I am gathering each AI definition will have the methods of utilizing the available influence map information hardcoded into the AI method itself (though, I guess you could make it data-driven just as easily too - which is something I note you like to do in order to make your software more generalized, powerful and applicable to different situations.