Managing multiple AI at the same time


-I want to populate a map with different creatures, lets say Butterflys, Rats and Birds. Each one having a specific behavior :

  • The Rats roam around from a random location to another random locations and run away when the player enters their field of view.
  • The Butterflys patrol a path.
  • The Birds fly from tree to tree.
    Regarding the variety of behaviors, should I use one BehaviorTree containing all the creatures, or a specific BehaviorTree for each creature ?
    Same question for the AI Controller.
    Should I use Child/Parent classes ?

-Can one key be used with multiple Actors ?
The rat for example. To get a destination point for the AI, I use a BlackBoard Vector type Key “TargetLocation” that fills up with random coordinates ( within 100 units from the actor ) from a BluePrintTask.
Following the looping Behavior tree’s will
, the coordinates get replaced with new ones, and so on.

If I am right, a key can only hold one x,y,z coordinate at the time.
So what is happening with 10 Rats in my scene? Can the TargetLocation key manage many actors as the same time ? Won’t there be any conflicts ?

As you can see, I am a bit confused with the AI workflow…

Could someone help me with that mess :confused:

Thanks :slight_smile:

I’m curious about it too.