Game Development Community

dev|Pro Game Development Curriculum

Walkabout Navigation Toolkit

by Daniel Buckmaster · 07/14/2012 (4:47 am) · 30 comments

Walkabout is a new addon for Torque 3D that adds AI pathfinding using navmeshes automatically generated by the Recast/Detour library. Basically, it's the Recast resource, but with more features and much easier to use.

What are some of these features, then?

Below are the features planned for the initial release. And I've got many more up my sleeve for updates!

  1. Automatic navmesh generation (of course!)
  2. Automatic cover-point generation
  3. Fast A* pathfinding and cover-finding fully integrated with the AIPlayer class
  4. Realtime mesh updates
  5. Realtime path updates
  6. Fully-featured editor plugin
    • Edit off-mesh links for jumping, teleports, etc.
    • Test your mesh instantly!
  7. Default scripts for destroyable objects.
  8. Lots of documentation and tutorials!

Care to go into a bit more detail?

Why, yes. The biggest feature, I think, is the new editor plugin for editing navmeshes. When I say 'editing', you don't actually push vertices around. Recast is still responsible for generating the mesh. The editor builds on top of Recast's generation, giving you access to more powerful ways to tune it for your level.

Off-mesh links
One of my favourite abilities is editing off-mesh links. They're great for teleporters, or gaps characters can jump over. Each link has several type flags, allowing you to annotate the way your characters should use it. AIPlayers themselves can be permitted or forbidden from different link types - stop those zombies using that teleporter!

Cover generation
Yes, this has been on my list for ages, and I finally got around to it. Walkabout can generate cover points based on the geometry around your navmesh automatically. AIPlayers can then take cover using several criteria, such as distance to cover, the size of the cover point, etc. Cover points can be tweaked in the World Editor in case the automatic placement isn't to your liking!

AIPlayer integration
I wanted to make sure Walkabout was super easy to use. To this end, I've added a lot off features to the AIPlayer class, which makes pathfinding basically a single-method-call process. In addition, AIPlayers automatically jump when they come to a jump link in their path. Similarly, making an AIPlayer take cover is a single-line process.

Realtime updates
Walkabout uses a different navmesh model to the Recast resource, which allows you to actually rebuild pieces of the mesh near-instantly. This is great for obstacles that can be destroyed - when the object is removed, the navmesh can be automatically updated. And, when a navmesh is updated, all paths using it can be updated as well - so your characters don't look like fools trying to run across bridges that have been blown up!

Test mode
While you're working on your navmesh, there's nothing that beats actually seeing a character running around and using it. One of the first features I had to have was a 'test mode', which turns the editor into a mini-RTS, allowing you to spawn AIPlayers and order them around. It's great for making sure your navmesh is all working he way you expect - not too tight around the corners, links flagged correctly, etc.

The boring stuff
Debug views. Hurrah!

When will it be released?

Well, haha, that's for me to know and you to find out! Given that I'm not a great one to stick to any sort of date or time that I imagine might be accurate, I'm going to say hopefully by the end of the month. If not this month, then next month! And before you ask about price - I'm thinking around $40 USD, but don't quote me on that!

And how do you feel about that?

This is pretty exciting for me. After writing the Recast resource, I stopped to take stock of where I was at - both in terms of the game I'm trying to make, and my life right now! I had the option to forge ahead with other areas of AI for my game, or sit and polish the pathfinding somewhat. A proper editor mode was something I'd been thinking of for a while.

Combined with that, I realised that for all the time I spend programming, I didn't recoup an awful lot of that effort in a tangible way. So I decided this was finally the time to get off my backside and put out a product. I'm a huge believer in free resources, so it was an odd conclusion to come to. I'd really love to release everything I make for free. But without the incentive of getting paid, I don't think I would have gone half as far with Walkabout, or polished it as much as I have. It has meant better stuff for everyone.

What's with the name?

I just thought it was cool.

No video? :(

Not yet - but I will definitely have a nice shiny video on release, and video tutorials to boot.

About the author

Studying mechatronic engineering and computer science at the University of Sydney. Game development is probably my most time-consuming hobby!

Page «Previous 1 2
07/14/2012 (5:57 am)
Hi Daniel, sounds good - i'd buy it if it worked with UAISK, as this is the only missing component that it needs, which I believe uses the AIPlayer class, so it should in theory work :)
07/14/2012 (6:49 am)
@Daniel: I am in concurrence with S2P ... if it works with some of the other kits or as easy patch files to make it work with some of the other kits ... then definitely will be purchased by me.

I prefer to support local community members in their endeavors. 8-}

Price range is definitely worth it.
07/14/2012 (6:58 am)
Dude - that's my usual time line;

"When will it be done?"
"Around the end of the month."
"Really? That's only a week away."
"I didn't say 'this month'."

Looking forward to it!
07/14/2012 (7:21 am)
S2P: forgot to mention, I'll definitely be working on UAISK integration, and possibly TAIK as well. Though the TAIK already has full navigation, and Recast integration coming soon IIRC.
07/14/2012 (7:33 am)
If this has all of the scripts included with it (which judging by the text it sounds like it will) to get AI functioning really easily, you'd have me sold pretty quickly :)

Looking forward to this.
07/14/2012 (7:44 am)
I should be careful: Walkabout just does pathfinding. It's meant to sit beneath your own AI that makes decisions and stuff. That said, I will certainly be including some default 'AI', but anything more complex than 'wander about' or 'chase the player' will need a dedicated AI solution like the UAISK. If there's strong enough interest, I'll provide more robust default AI in future updates, or possibly write a feature-complete integration with something like AIGuard.
07/14/2012 (8:41 am)
I've always had a special interest in AI, and these kind of resources and add-ons are awesome to see. Torque has come a long way from zero built in AI to an abundance of great products at our fingertips. Keep up the fantastic work!
07/14/2012 (10:27 am)
I'd most definitely be interested in it! If you add the ability to create brain types and it's a "no brainer"!
07/14/2012 (11:15 am)
Sounds great, UAISK support would be ideal for me.
07/14/2012 (12:33 pm)


Also, c'mon you could russtle up a video ...
07/14/2012 (1:29 pm)
support for UAISK and custom AI would be great, it should drop in fairly well.. but like you say TAIK already has it, but for us UAISK users it's a no brainer. Having packs that work well together IMO are the way to go, modular and with the ability to mod them as you see fit.

TAIK has good qualities too, so if they can be used together - with the option to disable items that may clash then great.
07/14/2012 (3:03 pm)
Kory: not sure if that's within the scope of this product, but I'll think on it!

Steve: staying with family for the winter, computer barely runs T3D, let alone video capture at the same time ;P.

S2P: to be clear, while the TAIK has pathfinding and will have navmeshes soon, I believe Walkabout adds more features specific to navigation. So I'll definitely be doing my best to make sure they work nicely together.
07/14/2012 (5:31 pm)
@dB strikes again!

This is awesome and congrats on your efforts.

Pump up the dB!
07/14/2012 (7:43 pm)
For a long time Torque has had a serious limit in the area of AI and we're really getting great solutions today.

The more they all work together the better :-)
07/14/2012 (10:02 pm)
I'm eager to get into this Daniel. Looks awesome (even if it has no video!). I also like that it's a nav solution, and not an AI solution. I have UAISK so I don't want any more AI stuff. If this works with UAISK then consider that one guaranteed sale, at least.
07/14/2012 (10:14 pm)
Great Daniel, great pack!
07/14/2012 (11:29 pm)
I know that many of you have asked about a mesh based navigation solution for The Universal AI Starter Kit and I think that this might be the answer. Daniel and I have been in contact about this for a while and I am confident that the WNT will be able to work with The UAISK.

I just wanted to chime in here and let everyone know that I endorse this interoperability between the two add-ons and am willing to assist Daniel with this.
07/15/2012 (3:48 am)
Sounds very, very cool to me. I'm thinking to buy that. And great, that Twisted's UAISK will work togheter!
07/15/2012 (5:38 am)
It's awesome but now i don't know what choose between your product and this product that use also NavMesh. I will certainly buy the two products.

I love your initial resource and these additionnal features are so awesome, if i can mix your final solution and the Kerry Enfinger's solution in a game, it would be more than over the top. Think you that is possible?

The price is really affordable for the announced functionalities. The compatibility with UAISK is extra. And as UAISK run with AFX, Whoah! this product is a super beast!

How think you enhanced Walkabout in the futur, after that these features will be released?

Walkabout, this name is fun and takes fully its sense after the reading of Wikipedia.

Quote:...I didn't recoup an awful lot of that effort in a tangible way...I'm a huge believer in free resources, so it was an odd conclusion to come to

It's really normal and legitimate that you get the fruits of your work and of your efforts. I use already the NavMesh resource, so if this resource allows me to get a few money by the games or products that i develop with, it's also graceful to you and other authors and don't forget that you can get a free copy of my product.

I look forward for the release of Walkabout.

It's great to read
Quote:...and am willing to assist Daniel with this.

07/15/2012 (12:37 pm)
Dan: yes, there are already good solutions for AI out there! But I know there are people who'd prefer to write their own high-level AI, or use a solution like the UAISK which does not focus on navigation.

Twisted: thanks for your continuing support! Just about to dive into UAISK integration this evening :D.

Jean-louis: as far as I can tell, the major differences between Walkabout (I should probably stop bolding that in regular conversation :P) and RecastT3D are:

  • Walkabout has an editor plugin
  • Walkabout has off-mesh links for jumping etc.
  • Walkbout generates cover points for you (minor, since it's quite game-specific)
  • Walkabout will fully integrate with UAISK and possibly TAIK (i.e., tutorials and possibly custom code packages)
  • RecastT3D can detect underwater terrain and exclusion zones (i.e. areas where the mesh will not be generated)
  • RecastT3D may be able to handle larger terrains
  • RecastT3D supports the TempObstacle navmesh type, not sure to what extent that is made use of
  • Walkabout includes Recast source code in the engine whereas RecastT3D compiles a separate library
But as I don't own RecastT3D, that list was just drawn up from reading Kerry's blogs. I should note that underwater terrain, large terrains and nav blocking areas are things I will be working on for Walkabout's first update. They're very important to me, but difficult!

As for subsequent updates, I shouldn't shoot my mouth off just yet!
Page «Previous 1 2