Download

Calling on other people using BehaviorTrees...Will this work? (Circular Traverse)

1c467ec418c2a00e8e0243c2580432525afa9d46.jpeg
If Agent cannot find a Horde, Failed is returned.
After an Agent has a Horde (group) they have a pointer to a container Actor containing a TArray (GroupMembers) of all fellow group members.
When In Group…we should handle Group pathing. The logic behind group pathing is as follows:

Note: If this is not allowed, I can simply call RepathHorde with a MoveToComp Decorator.

RepathHorde is ran setting TargetPosition to a RandomPointInRadius around the Actor. GroupMembers is then traversed in order to set all other GroupMembers TargetPosition to a RandomPointInRadius around TargetPosition. The MoveTo functionality may need to be moved into the RepathHorde BTTask but I have not looked into how MoveToComp BTDecorator and MoveTo BTTask interact and is MoveToComp dependent on MoveTo BTTask!I may have to rewrite these as I am no longer using a Blackboard to handle this.

On MoveTo Complete, the Actor should call RepathHorde to issue a new TargetPosition and MoveTo command to the entire Group.

The Goal: Move groups together towards a general area. The system does not require an Agent to lead the group, and breaking group in any way will not effect the Pathing in any way. Essentially, the first Agent to reach his TargetPosition will issue a new MoveTo TargetPosition message to all of his group members.