The PathEngine SDK
PathEngine is a sophisticated middleware tool-kit for the implementation of intelligent agent movement, built around an advanced implementation of points-of-visibility pathfinding on 3D ground surfaces.
At the heart of the SDK is a well-defined agent 'movement model',
with pathfinding and collision both provided in tight integration against this movement model.
This kind of integrated collision architecture is key to the implementation of fundamentally robust movement.
The toolkit also comes with powerful content processing and ground management functionality, a graphical testbed and associated tools.
Movement model
PathEngine's movement model targets agent movement that takes place predominantly on the ground,
(although 'off-mesh' movement is also supported as a special case).
The model defines how agents and obstacles interact on these surfaces,
and in particular how obstacles and surface edges constrain agent movement.
This is a big simplification of full 3d collision, but is nevertheless a very good fit for the kind of agent movement actually required in a great deal of virtual environments, providing a natural representation of 3D features such as multi-level buildings, bridges and dungeons.
Most importantly, the PathEngine movement model enables extremely fast pathfinding in complicated environments, with support for dynamically placed obstacles, and with agent shape automatically taken into account.
Workflow
How PathEngine fits into your development process
The PathEngine core provides both content processing and a run-time interfaces.
Content processing API
The content processing API provides powerful automation to support the generation of PathEngine's world model
from sets of instanced geometry.
This functionality evolved to solve the tough requirements of some high profile massively multiplayer online games,
where huge worlds need to built and maintained whilst ensuring absolutely robust agent movement.
In a nutshell, the purpose of the content processing API is to support an efficient content process for detailed and interesting worlds, whilst keeping the benefits of an explicit pathfinding world model.
The content processing functionality is designed to be integrated easily with any content creation platform.
Run-time API
The run-time API provides the main pathfinding, collision and ground management functionality, enabling you to place and move agents, and to manage states of placed obstructions.
Scope
Implementation of agent AI will vary enormously from application to application, depending on things like constraints on character animation in addition to the behaviour requirements, while the core issue of understanding the possibilities for movement remains constant.
This is why PathEngine focuses on low level, geometric, aspects of the agent movement problem, providing powerful and robust building blocks to support the implementation of behaviours that meet the unique requirements of each application.
The SDK comes with examples and demos to show how to apply PathEngine to solve a variety of problems
in intelligent agent movement.
See also the partners page for companies providing decisional AI components that
integrate with PathEngine.
A focused and modular solution
Focusing on very well defined, low level, functionality makes PathEngine extremely modular,
easy to understand, and to integrate.
Support issues are minimal, which keeps costs down,
and when support issues do arise a lot of care has been taken to ensure that
these are easy to identify, easy to repeat, and easy to resolve.
Benefits of an explicit pathfinding world model
The creation of an explicit representation of the surfaces on which movement can take place,
together with well defined geometric obstructed and unobstructed spaces
has proven key to working effectively with complicated behaviours and environments.
PathEngine's world representation can be examined under a microscope
to quickly determine whether movement issues are due to content or bevaiour code,
and to find a speedy resolution.