HPL3/Amnesia: Rebirth/Tutorials/Ghouls
This tutorial will go over the basic setup required to use a Ghoul agent. This tutorial assumes you have basic mapping and scripting knowledge.
Map Setup
First, make sure any agents placed in your map are set to be inactive. This ensures that, when later activated in your map script, the agent is successfully added to AgentBlackboard.
The agent requires path nodes to move around, so make sure your map is populated with plenty of nodes. You can use the PathNodeGenerator area type to easily generate a large amount of nodes automatically (make sure whatever surfaces you want to generate nodes on are inside the area), but you may still want to place nodes manually in areas with difficult or precise navigation.
Scripting Setup
If the required map prerequisites are fulfilled, your Ghoul should be reactive to the player upon being activated via Entity_SetActive()
in the map script.
To give the Ghoul additional behavior, set up and switch the Ghoul into the appropriate mode and issue commands as desired.
Adding a patrol path
First, make sure there are PathNodes or PathNodePatrol nodes in the enemy area. They can be added with the Area tool. To add a patrol path, use this code:
Ghoul_CommandPatrol_AddNode("ghoul", "PathNodePatrol_3", 3.0, 5.0);
Ghoul_CommandPatrol_AddNode("ghoul", "PathNodePatrol_7", 3.0, 5.0);
//Add more nodes as done above.
//Keep in mind the AI can find a straight path between nodes by itself, so you only need to add nodes at junctions and sharp turns
int HowManyTimesToLoop = 10;
Ghoul_CommandPatrol_Execute("ghoul", true, HowManyTimesToLoop, false, eGhoulSpeed_Walk, ""); //the parameters here can be changed of course