Overview
Gameware Navigation is a multi-platform SDK, written in C++, that provides developers of 3D games and
simulations with high-performance tools for navigation and spatial analysis. Using
Gameware Navigation, your production team can spend less time and effort on the mechanics of getting
characters from place to place, and more time on designing the fun and engaging scenarios
and gameplay that make your project unique.
Key features
Gameware Navigation incorporates:
Automatic data generation tools that quickly create optimized navigation meshes to identify the areas of your
3D game terrains that are walkable for characters with given physical dimensions and
movement capabilities. The data generation API supports:
- Terrains with streamable sectors or sub-levels of arbitrary shapes and sizes, which
you can swap in and out of memory at will in your game.
- Custom tagging of the NavMesh with your own data, to identify different terrain types
or zones.
Runtime services for loading and making use of the navigation data in your game, including:
- Dynamic modifications to the navigation data in response to changing gameplay conditions.
- Custom graphs that make special connections between arbitrary points in the NavMesh,
to make new topological connections or identify special movement paths controlled
by smart objects such as jumps, teleporters, elevators, etc.
- A toolbox of optimized spatial queries that you can run against the navigation data
to quickly find out features of the terrain.
- Services for computing paths, and for generating trajectories that make characters
follow paths.
- Dynamic avoidance of other moving characters and obstacles.
Live 3D visual debugging for rapid iteration on your AI, easily extensible to support your custom visual data.
Design goals
Gameware Navigation is designed:
- To be an on-demand toolbox for common low-level AI tasks, not an all-encompassing
system for designing high-level character behaviors. You invoke Gameware Navigation directly from your own code when your characters' decision logic needs perceptual
information about the terrain, and when your characters need to make their way to
destination points that they have decided upon.
- To fit smoothly into existing asset pipelines and production design workflows. Offers
multi-sector data generation, iterative data rebuilds, the ability to load data from
memory, etc.
- To have a consistent, predictable API that is easier for programmers to learn and
use, with fewer abstract interfaces to re-implement.
- To avoid peaks in CPU consumption at runtime by carrying out expensive computations
only when explicitly instructed, and by isolating the most CPU-consuming computations
in time-sliced queries.
History
Gameware Navigation is the successor to the Autodesk® Kynapse® AI middleware. In development since the year 2000, Kynapse has been part of over
100 released games of all levels and genres, including triple-A and double-A console
and PC games, massively multiplayer on-line games, etc.
With the invaluable feedback gained from years of working closely with our customers,
the vision for the product has been constantly evolving and changing. Ultimately,
the scope and depth of the changes has made it necessary to craft an entirely new
runtime API better suited for the next generation of gaming consoles, rather than
continue iterating on the old Kynapse code base.