How long does it take to integrate with NavPower?
The NavGraph building is very easy to get running since the input to our build process is just an array of triangles
which you can generally grab from your collision or render geometry.
Several clients have e-mailed us within hours of downloading the evaluation with NavGraphs that they have built. After that, it typically
takes a few days to get characters running around in your game, depending on the details of your engine.
How does NavPower handle memory allocation?
Most clients prefer to pass in a block of memory when the NavPower system is initialized and allow the NavPower system to perform all
of its dynamic memory allocation from within that block. This ensures that NavPower won't cause any fragmentation in the system heap.
The amount of memory required by the NavPower system is typically less than 1 MB, though that will vary based on the number of dynamic
objects created at runtime.
How does resource loading work?
Resources such as the NavGraphs are created by the build process as chunks of binary data. The client loads these binary chunks at
runtime and calls AddResource() to supply them to the NavPower system. This technique allows very high-performance resource loading
since the NavPower system only needs to adjust pointer locations before using a new resource. Optionally, the resource loading supports
format conversion such as endian swapping so that the same resource can be used on a range of platforms.
What type of streaming support does the NavPower system have?
The NavPower system has full streaming support with the ability for NavGraphs to connect up with previously loaded NavGraphs. All of
the dynamically created objects such as obstacles, jump connections, movers, etc. automatically react appropriately to a new NavGraph being
loaded or unloaded in their vicinity. The largest NavPower worlds are those running on MMO servers where there are typically over a thousand
grid sections simultaneously loaded and connected together.
Do you provide source code for NavPower?
The NavPower Complete license includes source code for all of the runtime systems which is something that many
middleware products do not provide. This gives you the ability to modify NavPower if needed and to compile with specific compilers/options
as you wish. Note that the source code for the NavPower tools and build process is not provided.
What types of navmesh queries does NavPower support beyond pathfinding?
Here's a sampling of some of the query functions: SearchToMultipleGoals(), CheckBoxFit(), GetClosestReachableArea(), NavProbe(), and
CollideLineSegmentAndNavGraph() and this presentation from one of our clients
provides a nice example of a real world use case. Of course, the best way to look over the functions is to request an evaluation from us.