Pandai Library: A Quick Review of panda3d.ai

The Entertainment Technology Center (ETC) at Carnegie Mellon University in 2009 launched a graduate student project to add a collection of artificial intelligence behaviors like seek, flock, and evade along with 2D pathfinding to Panda3D.  This blog post is a reminder that this work is available as part of Panda 1.7.0, and receives ongoing attention from the ETC team.  The timeline for this work has been as follows:

  • Summer 2009: Collect feedback from the Panda3D community via Pandai forum post on requirements for an AI library. This forum post remains active today to address additions to the Pandai code base.
  • August – December 2009:  Start with Craig Reynolds’ published work on flocking behavior and A* algorithm for two-dimensional pathfinding between points. Develop the C++ code, based on community feedback, and prototyping with Building Virtual Worlds graduate student work at the ETC.
  • December 2009:  At the insistence of ETC Faculty advisors Ruth Comley and myself, the Pandai student team created a number of demonstrations and a detailed Pandai ETC Project Web site documenting the project work. The demonstrations show capabilities, such as a fish demonstration that shows wander, pursue, and evade.  The project web site includes further descriptions on the project team, motivations for the work, and downloadable content, including the art assets (like the fish) and code (the fish demo) needed to run demonstrations.  See Pandai ETC Project download page.
    Pandai demo: fish pursue hook until one is caught, then evade it
    Pandai demo: fish pursue hook until one is caught, then evade it
  • January 2010: Thanks to rdb, the Pandai library was published as part of the Panda3D 1.7.0 release. One change of note regarding the downloadable examples from the ETC Pandai Project web site: rather than “from libpandaai import *” the Python code should use “from panda3d.ai import *”. With this minor edit, you will be able to download and run the fish demo and others using Panda 1.7.0.
  • July 2010: Ongoing collection of feedback from the Pandai forum post led to the release of a Blender meshgen tool for pathfinding. A link to this tool has been added to the Pandai ETC Project download page.

The Pandai ETC team is responsible for version 1.0 of the Pandai library, and remain active in its support. Your comments are welcome here regarding the Pandai effort and shared code and examples. For help requests, continue the thread within the Pandai forum post.

7 thoughts on “Pandai Library: A Quick Review of panda3d.ai

  1. Time to do some Panda experiments again, I suppose. Panda has seen an enormous growth since 1.5.x when I first tried it, and it still keeps getting better every release! I’m greatly impressed by what David, rdb and the other contributers have done to this engine. The future looks bright!

  2. Some other features which we think are quite handy for developers :
    1. Behaviors: Combination of AI behaviors on a character :
    An example of this would be that an AI character A could evade AI character B and pursue AI character C at the same time. This is done via resultant force calculations.
    2. Path-finding: Adding static obstacles on the fly :
    The pathfinder will acknowledge them and steer the character to avoid them, as soon as they are added.
    3. Path-finding: Setting dynamic obstacles :
    This allows AI characters to steer away from moving obstacles intelligently.

  3. I play Pirates of the Carribean online and i am trying to access my screenshots that i took some while back, but i can’t get it after C:Users:users name. Can you help me?

Comments are closed.