Archive

Archive for the ‘Agent Movement’ Category

Messing with OpenSteer

September 6th, 2008 heckel No comments

As there is no Python wrapper for OpenSteer, I started looking into what it will take to wrap it. There are several options for creating Python wrappers, notably SWIG and Boost. SWIG is automatic, but loses the class structure of the underlying code. Boost wrappers have to be hand-crafted, but I think it will be the better choice. Either way, I need to build the OpenSteer plugins first and then wrap them in Python. One useful aspect of OpenSteer is that I can use the OpenGL-based demo program for now until FI3RST is ready.

I have started messing with the CaptureTheFlag plugin included with the demoes. I’ve stripped out the pursuing agents, and created a Patrol plugin. This just generates four goal points which need to be patrolled, and uses a set of random obstacles. This went smoothly, so I’ve got a simple plugin which now just patrols points. With a little more work, it’ll be ready to pass in an arbitrary number of patrol points. The next issue is that the obstacles in OpenSteer are all spherical in nature; but it looks like the SVN version of OpenSteer includes planar, rectangular, and cubical obstacles, so I’m going to check out more recent snapshots or just go straight to SVN. With that, we should be able to dump information from SSPS directly into OpenSteer to handle steering.

Categories: Agent Core, Agent Movement, Code testing Tags: