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 an inexpensive solution for the aforementioned problem, and which also has ease of implementation.
This recipe sets the path for every agent, to be taken into account for 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 the Lurker
class:
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...