PathEngine home previous: SDK Contents and Installationnext: Design Decisions
Contents, Overview, Getting Started

Getting Started

Going straight to the examples

Those with a hands-on disposition can get a quick idea about how PathEngine works by going straight in and running the prebuilt examples and tutorial applications that come with the SDK.

Batch files are provided in the 'bin' SDK subdirectory directory to run the tutorials and examples, and prebuilt binaries are provided for some of these projects. These are named 'run xxx.bat', where xxx is the name of the sample.
(So double clicking 'bin/run swarm.bat' runs the swarm example.)
Refer to Tutorials and Example Projects for explanations and instructions relating to each project.

Common controls and information about the PathEngine testbed

Many of the tutorial and example projects run under the PathEngine testbed.
See Working with the TestBed for common information about this run-time environmant, including camera controls for navigating around the world whilst examples are running.

Tutorial projects

Note that while Tutorial 1 is pretty basic, and can easily be skipped, Tutorial 2 and Tutorial 3 contain some useful example code and discussion relating to the collision and pathfinding functionality.

Tutorial 2 provides an example implementation of direct agent control, with pretty robust (if not particularly well organised) code for sliding against walls.

Tutorial 3 provides a simple demonstration of pathfinding and movement in an environment with dynamic obstacles.
This can help to understand the PathEngine movement model and how agent shape is taken into account for the paths generated.

Example projects

The 'testapplication' example project builds on the tutorial projects to combine point and click movement with direct control, and is a good way to get an idea about how PathEngine's collision queries can also be used to help with the implementation of agent collision and agent movement management in general.

Other example projects are then available as well as benchmarks and stress test applications and a small 'playable demo'.

The 3D content processing demo, and the semi-dynamic obstacles example project, in particular demonstrate some important features of the SDK, and are both well worth a look.

Don't consider the example projects as indicators of SDK performance

It's important to note that many of the example projects are quite old now and in general these should not be considered as indicators of the full capabilities of the SDK (with the exception of the benchmarks project, of course).

While these projects can still be useful to demonstrate different ways of working with the SDK, the SDK has evolved very significantly since some of these example projects have been created, in terms of things like query times.
Don't hesitate, then, to modify examples, to replace the meshes used with more complicated meshes, to increase the number of agents or obstacles placed, and so on.

The fact that all of the example projects included with the initial commercial release of the SDK are still applicable today, with very minor modifications, is a testament to our commitment to consistency and API compatibility!

Read before you leap

Others will profit from reading through at least some of the documentation, in particular the Ground Meshes and The PathEngine Movement Model topics in the Fundamental Concepts section, before trying out the examples and tutorials.

Understanding runtime integration in more detail

A good way to get a more detailed idea about what exactly is involved in integrating PathEngine with an application, is by looking at the tutorials and examples source code.
Refer to the tutorials and examples documentation.
The API Reference section is also invaluable for understanding what is going on in this example code.
The The Playable Demo source code then provides examples for how more advanced behaviours can be implemented on top of PathEngine.

Content creators and content programmers

PathEngine provides two distinct processes for content side automation. A 2D content process is provided, based on minimal markup generation, with extremely lightweight and performant combination of markup for content chunk, and also a 3D content process which operates directly on 3D scene representations.
This page (in the programmer's reference) provides detailed explanations of both processes.

Understanding what's involved in integration with the 2D content process

This page provides a kicking-off point specifically for content creators working with PathEngine's 2D content process, and should also be read by any programmers integrating with this content process.

Playing around with the 3DS Max or Maya exporters and the example geometry are also good ways to get a quick understanding about integration with the 2D process.

Understanding what's involved in integration with the 3D content process

The best way to quickly understand the issues relatign to integration with the 3D content process is probably to try out the The 3D Content Processing Demo.


Documentation for PathEngine release 5.16 - Copyright © 2002-2008 PathEnginenext: Design Decisions