Game Development Reference
In-Depth Information
Building a collection of NPC conditions
and responses
To specialize how the NPC will respond, we need to write specific conditions and re-
sponse classes and then populate the DecisionMgr for the NPC by placing these
components in the editor. To prove this, let's develop a test case for an NPC that will
perform the following logic:
1. Patrol on a curve, facing forward.
2. When the NPC gets close enough to the player, stop and face the player.
3. When the NPC is far enough away from the player, follow the path and face
forward.
To implement this logic, we will need two conditions and one response.
Implementing
the
condition_closerThanThresh
script
Let's create a condition to check if the NPC is close enough to the player. This will
be used by the npcDecisionMgr to determine when to stop patrolling and face the
player.
1. Create a new script called condition_closerThanthresh .
2. In MonoDevelop, edit the signature of the class declaration so that it inherits
from npcCondition rather than MonoBehaviour . Also, add the explicit seri-
alization tag to this class so the editor can save it:
[System.Serializable]
public class condition_closerThanThresh :
npcCondition {
3. This class will need three parameters to perform its tasks. A float to represent
the target threshold, and two GameObject references for the two objects
whose distance we will check:
Search WWH ::




Custom Search