| |
|
|
||||
![]() |
||||||
| |
|
|||||
|
Simple Movement Algorithm 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.
|
|
|