View on GitHub

Pandasteer

Autonomous steering behaviours and simple terrain generation for Panda3D.

Download this project as a .zip file Download this project as a tar.gz file

PandaSteer

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.

Install

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.

Terrain Generator

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:

A screenshot of some terrain generated by PandaSteer's simple terrain generator.

Authors

Sean Hammond, with contributions from Panda3D forum members ynjh_jo, Thomas_egi, pro-rsoft, drwr, cyan, mavasher, Ffeuuell, zuck and astelix.