PandaSteer is an autonomous steering behaviours library for the game engine Panda3D. It gives characters in Panda3D animations and games the ability to navigate a virtual world smoothly and convincingly. For example, to get from A to B while avoiding both static and moving obstacles, to chase or evade another character, to follow a path, etc. The video to the left shows a sequence of scenes from a small demonstration of some of PandaSteer's steering behaviours.
PandaSteer is based on Craig Reynolds' GDC 1999 paper Steering Behaviours For Autonomous Characters. The 3D models included with the download are from the free set that you can download from panda3d.org.
PandaSteer should work on Windows, Linux, OS X or anywhere that
Panda3D can be installed. First install Panda3D, then download
PandaSteer and run
pandaSteer.py for a plugin-based
steering behaviours demo. Run
terrain.py for a demo of
the terrain generator. Run
scene.py for a demo 'game'
scene combining the terrain generator and steering behaviours.
PandaSteer also includes a simple terrain generator that I wrote to demonstrate PandaSteer. It uses the diamond-square algorithm to generate the terrain and Perlin noise to place the trees:
Sean Hammond, with contributions from Panda3D forum members ynjh_jo, Thomas_egi, pro-rsoft, drwr, cyan, mavasher, Ffeuuell, zuck and astelix.