Saturday, April 16, 2011

Temporary Obstacle Progress

I've been super busy recently. Our startup just opened a public beta. I have managed to get some progress done on the temporary obstacle handling, though.

This is now probably the 4th rewrite of the system, so things are slowly being massaged in place (it usually takes 5 rewrites :). Adding and removing obstacles works again, and I've done some good progress on making the tile cache class better. Though, the API is still a bit in flux.

I'm currently testing with cylindrical obstacles, my plan is to support only extruded convex poly obstacles at first and add support for custom obstacles types in the long run.

I get quite consistent average of 0.1ms per layer build time, and about 10% compression ratio of the layer data when using 48x48 layers. The compressed layer grid data needed to rebuild any navmesh tile with obstacles in the scene pictured above takes 75 kB. The navmesh itself for that scene takes 72 kB.

I have few things left to do to finish this feature: 1) a custom pass before the mesh is being passed to navmesh builder (to handle flags), 2) handle off-mesh connections. Once that is done, I will start making releases again. I wonder if I should call the next release Recast & Detour 1.5 or 1.9?

3 comments:

  1. might be useful for you http://www.cc.gatech.edu/~mstilman/NAMO/index.html

    ReplyDelete
  2. i just got the latest svn version of recast detour and have now nearly finished integrating it into my project. I played around with the Recast /Detour demo and the Obstacle avoidance, it looks very cool and really useful for games! I only wish for a Crowd Tool + Obstacle avoidance combo, so you could put crowds into the demo and send them somewhere and then set some obstacles to see how it works out together.

    nice work and good luck with your other projects

    ReplyDelete
  3. Lukas, Crowd+obstacles is coming. I'm currently busy with a little research project I will demo and present at Paris AI Conf, but I will resume the temp obstacle work in june after the conference.

    ReplyDelete