Hi all,
I’m a game development student, and I am currently working on a project for a class that involves creating a prototype for an AI system. Specifically, I am attempting to create an AI that will alter the way enemy characters attack the player based primarily on what other enemy characters are present. For example, a close-range enemy might rush the player if it is alone but, if there are ranged enemies present as well, it will hold back to protect those characters. I hope to have these behaviors influenced by a few factors, including the number of enemy characters, the types of enemy characters present, and map features. The purpose is to have an artificial intelligence that behaves in a strategic manner based on what is happening in the game world, rather than a simple “attack the player on sight” behavior. The project will be completed in Unreal Engine, and I do have experience working with the engine’s blackboards and behavior trees; I have created a simple AI in the past that alternated between patrolling along a predetermined route and attacking the player based on proximity.
Based on research I have done, it would seem a fuzzy logic system, such as a utility-based structure, would be more appropriate for this kind of AI, rather than something more binary like Unreal’s built-in behavior tree system, since the AI’s behavior is influenced by a few different factors. I was wondering if someone might advise me as to some methods by which I might get this “fuzzy” effect from a behavior tree? As I mentioned, I am still new to artificial intelligence programming, and I appreciate any advice that might be offered! Thank you in advance.