Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 


Submitted by Thomas Feilkas, posted on November 14, 2001




Image Description, by Thomas Feilkas



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:
  • Vehicles
  • Obstacles
  • Minds
  • Behaviors
  • 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.


    [prev]
    Image of the Day Gallery
    www.flipcode.com

    [next]

     
    Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
     
    Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
     
    Igor Kravtchenko

    November 14, 2001, 12:52 PM

    These Java GUI are just so kewl and convivial to implement !
    Congrats for your work.

     
    NinjaCross

    November 14, 2001, 01:01 PM

    I work everyday with java and XML for web application, and I think you had got a really good idea to use XML to store scenarios information.
    Good work ! :)

    NinjaCross
    www.ninjacross.it

     
    Morgan

    November 14, 2001, 01:04 PM

    Good news: Java 1.4 rolls the Xeres parser into the standard library, so you won't have to bundle it anymore.

    -m

     
    ReAL

    November 14, 2001, 01:19 PM

    cool! looks real nice

     
    L.e.Denninger

    November 14, 2001, 01:21 PM

    This indeed looks like a professional content-tool for a game.
    If you're not making a game I suggest making it opensource or plugin-able so other people can benefit from it.
    Oh wait - the sources are already available! :)

    Great job

     
    Sampsa Lehtonen

    November 14, 2001, 01:28 PM

    I personally use Jaxb which is a xml parser/code generator created by Sun itself.
    I haven't used Xerces, so I can't tell how they differ, but jaxb is much lighter. Usually it adds only 200kb to the Jar size.
    How do you know Xerces is going to be included in the next Java JDK? If I remember corretly, Jaxb is going to be included too.
    The power of Jaxb is that first you sketch the data structure with DTD. Then you can write an optional XJS file (XML Java binding schema). Then you compile your DTD with XJS and the result is a bunch of Java source files that can read XML data which follows your DTD from a stream and vice versa.
    The funny thing is that you can create a complex data file reader (xml format, of course) actually writing just three lines of Java code! If your DTD changes, it is extremely fast to recompile the DTD into Java source files again.
    Just my 2 cents...

     
    kewldude

    November 14, 2001, 01:40 PM

    only 200k? only?

     
    zed zeek

    November 14, 2001, 03:45 PM

    definity gonna have to download this, this is my what interests me the most about computers/games AI/behaviour etc. looks good.

     
    hdmx

    November 14, 2001, 04:15 PM

    JDK1.4 will include JAXP (the parser, not the binding) and afaik JAXP can be configured to use XML4J, Xerces or any other (JAXP compatible) parser.

    hdmx

     
    hdmx

    November 14, 2001, 04:16 PM

    xerces.jar (Version 1.2.3) is 1.4MB :)

    hdmx

     
    thec

    November 14, 2001, 06:22 PM

    Really nice.

    Always fun to see something unusual on the page. I remember taking a course at uni about closest path ... very interesting algoritm, nice to see someone actually make something cool out of the old theory :-)

    Also, java seems like a good choice of language for this kind of task, I've used some java for simular applications and it's very suitable.

    Hope you get good reviewes by the professors or whoever, you're really worth it.

    Cheers
    Albert

     
    Braindump666

    November 15, 2001, 03:36 AM

    Kewl! Always nice to see something from a Regensburg-FH-student here! At first I was thinking '... cool, map looks like Regensburg ...', then I noticed some well known names ... :-)

    Did you do it for Prof. Sauer?

     
    Thomas Feilkas

    November 15, 2001, 03:58 AM

    Yes, he is the one who actually had the idea to create the interactive map of Regensburg

     
    This thread contains 13 messages.
     
     
    Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.