This image show some of the elemts of the thesis work me and my friend have been
working on the last few months. The upper image is a screenshot of the Steering
Creator. The lower left image shows the Regensburg-Applet, the lower right the
A* pathfinding test applet.
The Steering Creator is a Java based editor to create and test scenes built on
the works of Craig Reynolds. It allows to load, save and create user defined
scenarios. XML is used for the file format an also for describing the objects
available in the Steering Creator. There are four basic elements to a scene:
The vehicles are represented by the small triangles. Obstacles can consist of
any non convex polygon, predefined is a rectangle and a circle. The Mind of a
vehicle implements the action selection for the vehicle. It is responsible for
choosing how much force each of the assigned behaviors can add to the resulting
steering force. We only implemented influence based blending and prioritized
selection as minds. In a game you would normally use some more advanced ways of
choosing which force to consider. The final element of the scene are the
behaviors. Each mind can have any number of behaviors assigned to it. We
implemented nearly all of the behaviors described in Reynolds work, so there is
a lot to try out here.
We are using XML for storing the scene desriptions. XML is also used for
describing the elements available in the Steering Creator. New elements can be
added by simply describing them in the objects.xml file and adding a line of
code in the factory. This makes the whole editor pretty easy to extend. You can
also add your own custom attributes to any element of the scene at runtime.
The Regensburg Applet is a demonstration of the path following behavior in
connjunction with a simple pathfinding algorithm. By clicking on any street on
the map, a path is created from the current position to the destination. The
behavior simply steers the vehicle along this path. Since the non blocked nodes
are all placed on the streets, it looks like the vehicles is following the
layout of the map.
The Algorithm Test Applet is one of those traditional A* testbeds.
All applets and the Steering Creator can be found at
http://www.SteeringBehaviors.de . The source code for the whole project is also
available for download.
The applets are unfortunately a bit huge (nearly 1 mb), since they use Xerces
for XML parsing and object creation.