|
| 1 | +% Waypointing - NZ:P Mapping Documentation |
| 2 | +# Waypointing |
| 3 | + |
| 4 | +## Introduction |
| 5 | + |
| 6 | + |
| 7 | + |
| 8 | +_Nazi Zombies: Portable_ makes use of a waypointing system to define nodes that zombies may path between. This allows for a fairly simple and intuitive, albeit limited, way to allow mappers to create custom pathfinding for their maps. |
| 9 | + |
| 10 | +Waypoints are edited directly in-game via a special Waypoint Mode, as opposed to creating them in the map editor. This mode can be accessed via `waypoint_mode` cvar. |
| 11 | +Saving a set of waypoints via this mode will generate a `.way` file within the maps folder of NZ:P, matching the original map file name. This `.way` file must be supplied alongside the original map file when sharing maps. |
| 12 | + |
| 13 | + |
| 14 | + |
| 15 | +## .way Files |
| 16 | + |
| 17 | +Due to `.way` files being plain-text, they can be opened in any text editor. Doing so will reveal the following data structure: |
| 18 | + |
| 19 | + |
| 20 | + |
| 21 | +| Data Identifier | Description | |
| 22 | +|---|---| |
| 23 | +| Origin | The co-ordinates of the waypoint node. | |
| 24 | +| ID | The numerical identifier of the waypoint node. | |
| 25 | +| Special | The associated `wayTarget` ID of a valid `nzp_func_door` that has been correctly linked to the waypoint node. | |
| 26 | +| Target 1-8 | 8 Possible waypoint nodes that are connected to the waypoint node. | |
| 27 | + |
| 28 | +Up to 256 total nodes are supported at this time. Additionally, when a node is deleted within waypoint mode, the ID it occupied within the `.way` will not be freed up for use by following nodes as they are created. This can be remidied by manually reassigning ID's via opening the file in a text editor. |
| 29 | + |
| 30 | +## Interacting with Waypoints |
| 31 | + |
| 32 | + |
| 33 | + |
| 34 | +| Actions | Description | |
| 35 | +|---|---| |
| 36 | +| Create | Creates a default (blue) waypoint node at the players position. | |
| 37 | +| Select | Selects waypoint node currently being aimed at. | |
| 38 | +| Link | Link selected (yellow) node to aimed at default (blue) node. | |
| 39 | +| Remove | Deletes current selected (yellow) node. | |
| 40 | +| Move | Move current selected (yellow) node to player position. | |
| 41 | +| Create Special | Converts selected (yellow) node to a special node. Must be adjacent to a valid `func_nzp_door`. | |
| 42 | + |
| 43 | +## Special Waypoints |
| 44 | + |
| 45 | +Special Waypoint nodes are used in conjunction with a valid `func_nzp_door` to prevent zombies from attempting to path through currently closed doors. |
| 46 | + |
| 47 | +A valid `func_nzp_door` requires an ID to be set in the `wayTarget` entity field. Targetting this `wayTarget` within waypoint mode is done via placing a waypoint node within the door entity you have created, and creating a special entity |
| 48 | +whilst this node is selected. Correct use of this function can be clarifyed by a console output. |
| 49 | + |
| 50 | +## Pathing Behaviour |
| 51 | + |
| 52 | +Zombies will move along a path dictated by the mapper through connected waypoint nodes until they are within sight range to path to a player on their own (Where "Sight" is dictated by both the zombies shins, chest and forehead being able to see the player). |
| 53 | + |
| 54 | +When zombies reacquire a path to the player (Whether that be after hopping a barricade post-spawn, or in attempt to find the player after they have teleported outside and back into the map.), |
| 55 | +they will do so via the closest waypoint node to them. There is however a heuristic cost, meaning zombies will attempt different paths via alternate nodes if the closest node to them is not reachable. |
| 56 | + |
| 57 | + |
0 commit comments