Extending A* for coordination: A*mbush
After learning how to implement A* for path finding, we will now use its power and flexibility to develop some kind of coordinated behavior in order to ambush the player. This algorithm is especially useful when we want a non-expensive solution for the aforementioned problem, and one that is also easy to implement.
This recipe sets the path for every agent to be taken into account when it comes to ambushing a given vertex or point in the graph.
Getting ready
We need a special component for the agents called Lurker
. This class will hold the paths that are to be used later in the navigation process.
The following is the code for Lurker
:
using UnityEngine; using System.Collections; using System.Collections.Generic; public class Lurker : MonoBehaviour { [HideInInspector] public List<int> pathIds; [HideInInspector] public List<GameObject> pathObjs; void Awake() { if (pathIds == null) pathIds = new List...