Handling formations
This is a key algorithm for creating flocks or a group of military agents. It is designed to be flexible enough to give you the chance to create your own formations.
The end result of this recipe is having a set of target positions and rotations for each agent in the formation. Then, it is up to you to create the necessary algorithms to move the agent to the previous targets.
Note
We can use the movement algorithms learned in Chapter 1, Behaviors – Intelligent Movement, in order to target these positions.
Getting ready
We will need to create three base classes that are the data types to be used by the high-level classes and algorithms. The Location
class is very similar to the Steering
class and is used to define a target position and rotation given the formation's anchor point and rotation. The SlogAssignment
class is a data type to match a list's indices and agents. Finally, the Character
class is a component to hold the target Location
class.
The following is the code for...