Menu ▾ ▴

PathNodes

Rufus Pearce

PathNodes are reference points in 3D space, similar to info_target / path_corner entities in the Source engine.

Created by Right Clicking in the 2D view and selecting Nodes > PathNode.

PathNodes are general-purpose positional targets used by several Fio systems:

  • Monsters use them as patrol waypoints and navigation points
  • Moving brushes use them as coordinates to move to or between
  • Teleporters can use them as destinations
  • Cutscene Cameras can use them as path targets

PathNodes can be linked together using Next Node, forming an ordered path or patrol chain.

See example maps:

maps/Maze.json and maps/MonsterTest.json


Properties

PathNodes appear as small orange cubes in the world.

Property Description
Radius The radius around the node considered to be the monster's arrival area. The default is 256 units.
Show Radius Displays the node's radius in the editor, making the effective arrival area visible.
Affects Type Determines which monster types can use the node: human, flying or both. Movers ignore this restriction.
Next Node Name of the next PathNode in the chain. Monsters and movers can follow these links to traverse a sequence of nodes.
Wait Time How long a patrolling monster or mover waits after reaching the node before continuing.
Patrol Speed Movement-speed multiplier while following the node. 1.00× is normal speed.

The 2D editor displays the node's radius and affected monster type when the radius is shown.

Affects Type

Affects Type allows the same path network to serve different monster classes.

  • human — only human monsters can use the node
  • flying — only flying monsters can use the node
  • both — either type can use the node

The Monster AI checks this restriction when constructing a patrol path. A monster that does not match the node's type is rejected from that path.


Monster Patrols

A Monster can be configured with:

  • Patrol — enables patrol behaviour
  • Patrol Target — specifies the starting PathNode
  • Patrol Mode — determines how the node chain is traversed

The available patrol modes are:

Mode Behaviour
loop Continuously follows the chain and wraps back to the beginning
ping_pong Travels to the end of the chain, then reverses direction
once Travels through the chain once and stops at the final node

For example:

PathNode_1 → PathNode_2 → PathNode_3

With loop, the monster follows:

1 → 2 → 3 → 1 → 2 → 3 ...

With ping_pong:

1 → 2 → 3 → 2 → 1 → 2 → 3 ...

With once:

1 → 2 → 3 → STOP

The patrol chain is constructed by following each node's Next Node property.

Patrol and Combat

Patrol is a fallback behaviour rather than an absolute command.

When a monster is able to detect and engage a target, normal combat behaviour takes priority over patrol movement. Monsters can therefore patrol an area until they detect something, leave their patrol route to pursue it, and subsequently return to navigation behaviour.


Automatic Obstacle Detours

PathNodes are also used by the Monster AI to recover from navigation problems.

If a monster becomes blocked by world geometry for long enough, the AI searches for a nearby PathNode and can use it as a detour around the obstacle. This allows PathNodes to provide useful navigation assistance without requiring every possible route through a level to be explicitly connected into a complete path network.

This is particularly useful for situations such as:

Monster
   ↓
   ███████  ← blocking brush
   ↓
PathNode → PathNode

Instead of remaining permanently blocked, the monster can use nearby nodes to find a route around the obstruction.


Enabling and Disabling Nodes

PathNodes have their own I/O controls, allowing a level designer to dynamically determine whether a node accepts patrolling monsters.

Inputs

Input Description
Enable Allows monsters to patrol to this node.
Disable Prevents monsters from patrolling to this node.
Toggle Toggles whether this node accepts patrolling monsters.

This makes it possible to alter a navigation network during gameplay. For example, a scripted event can disable a PathNode after a bridge collapses and re-enable it when the bridge is restored.

Outputs

Output Description
OnMonsterArrived Fired when a patrolling monster enters this node's radius.
OnMonsterLeft Fired when a patrolling monster leaves this node's radius.
OnWaitStart Fired when a monster begins waiting at this node.
OnWaitEnd Fired when a monster finishes waiting and advances toward the next node.

These outputs allow PathNodes to participate directly in Fio's I/O system. They can therefore be used to trigger doors, sounds, logic entities, scripted events, or other gameplay behaviour when monsters reach particular points.


General-Purpose Waypoints

PathNodes are not exclusively a Monster AI feature.

Because a PathNode is fundamentally a named position in the level, other systems can resolve it by name and use its position as a target. This makes the same node network useful for:

  • Moving brush destinations
  • Teleporter destinations
  • Camera paths
  • Monster patrols
  • Other gameplay systems requiring named 3D coordinates

This allows designers to construct reusable spatial networks rather than creating separate coordinate entities for every system.


The monster wants to get to PathNode_6 but will be blocked by the pink brush.

Placing PathNodes around the obstruction allows the Monster AI to use them as a possible detour, rather than requiring the monster to remain stuck against the obstacle.