|
|||
|
Coordinated Unit Movement |
|||
|
By
Originally |
Let's start with some pseudo code for a simple,
state-based movement algorithm (Listing 1).
While this algorithm doesn't do much more than follow a path and decide
to find a new path when a collision is found, it does work equally well
for both 2D and 3D games. We'll start in a given state and iterate until
we can find a waypoint to move towards. Once we find that point, we break
out of the loop and do the movement. There are three states: WaitingForPath,
ReachedGoal, and IncrementWaypoint. The movement state for a unit is preserved
across game updates in order to allow us to set future events, such as
the "automatic" waypoint increment on a future game update. By preserving
a unit's movement state, we lessen the chance that a unit will make a
decision on the next game update that counters a decision made during
the current update. This is the first of several planning steps that we'll
introduce. |
||
| Collision
Determination
|
|||