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 enourmously 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.