Behavioural AI in unity: Behave 0.3b: New tutorial available

:!: Updates

:!: Check out Arges Behave tutorial at http://www.arges-systems.com/articles/2/behavior-trees-in-unity-with-behave

:!: Just added a new tutorial to the documentation page: “Taking advantage of OOP in agents”.

:!: Ooops! The Behave compiler requires mono to be installed. :sweat_smile: Added a link to the mono project website from the downloads section.

:!: A basic tutorial going from a brand new unity project through using the Behave editors to design a behaviour tree, compiling that tree for use in the Behave runtime and using it in your code has been added.

0.3b brings the following fixes and additions:
:arrow: Various tweaks to the editor UI
:arrow: Optimised the compiler
:arrow: Fixed the following editor bugs from the bug list:
:!: When the editor scrips are recompiled and when the user enters and exits play mode, running editors will loose references, causing undetermined behaviour
:!: When a compile fails, the Behave compiler is locked and unusable - requiring a unity relaunch
:arrow: Implemented the following wishlist items:
:!: Behaviour tree decorators
:!: Stand-alone edition of the Behave editor
:!: Behaviour tree debugging features

0.2b brings the following fixes and additions:
:arrow: Made the demo project a whole lot more interesting
:arrow: Implemented the editor wish list item: Ability to move trees between collections.
:arrow: Various tweaks to the editor UI
:arrow: Fixed a ton of bugs in the compiler
:arrow: Fixed the following editor bugs from the bug list:
:!: Not able to delete collections from library
:!: Not able to delete trees from library
:!: Not able to rename collections from library
:!: Not able to rename trees from library
:!: Missing “tree has been changed, save changes?” dialog

0.1b brings the following fixes and additions:
:arrow: Some documentation is available
:arrow: Compiler is now creating sensible output
:arrow: A simple test tree and script using it is provided with the demo
:arrow: Documentation is linked directly from the unity help menu
:arrow: Less spamming of the log with debug information

:!: Original thread

From http://angryant.com/behave.html:

Behave
The Behave project is a system for designing, integrating and running behaviour logic for simulated characters in unity projects.

Not sure what a behaviour tree is or why its so neat? I recommend viewing the first four videos (from the bottom up) at this page: http://aigamedev.com/videos/.

Not yet aware of the existence of the unity engine and all its awesome-ness-ness? Check it out at http://unity3d.com.


The Behave editor running inside the unity editor.

Behave pre-releade
The purpose of this pre-release is to let the curious try the waters. It is shiny, but don’t build a project around it just yet.

Currently the editor is functional, assets can be loaded and saved, the compiler runs and results can be tested. However some minor features are not yet available in the editor, compile results are faulty to say the least and very little testing has been done. Run it at your own risk as usual.

Finally the license will be revised. Currently I just duplicated the license from the Path project in order to get this boat floating asap. Documentation will be available shortly.

Specs:
:arrow: Available for indie as well as pro
:arrow: Can run in webplayers as well as stand-alone
:arrow: Requires no additional installations

Features:
:arrow: Implements behaviour trees
:arrow: Re-use common behaviour by reference
:arrow: Drag and drop editor interface inside the unity editor
:arrow: Simple connection to character actions via C# interface
:arrow: Designed trees are built to .net assembly code for maximum performance
:arrow: Runtime debugging features
:arrow: Powerful stand-alone editor - including web version

Wow Ant, this is great. Look forward to playing with this. Exciting to see this kind of work.

Charles

looks pretty interesting

0.1b brings the following fixes and additions:
:arrow: Some documentation is available
:arrow: Compiler is now creating sensible output
:arrow: A simple test tree and script using it is provided with the demo
:arrow: Documentation is linked directly from the unity help menu
:arrow: Less spamming of the log with debug information

Man, this looks fantastically useful. I’m getting to the point of needing complex branching behaviors, can’t wait to try this out. I still haven’t cracked open your Path project either!

Can you give some details about how you’ll license this?

Just like the Path project, the license of Behave is free use ($0) in commercial and non-commercial products in exchange for displaying my logo in the final product.

I’m not very good at the whole legal thing, so I’m still working on the wording of the license. Right now the license specifically requires the licensee to display the logo on the product splash screen, but this might not be an option for some - for instance shockwave.com do not allow it.

So license is being worked on, but the result will not be any more restricted than the current one - actually less so in that I’m trying to word a more free logo placement without making it a completely voluntary thing :wink:

0.2b brings the following fixes and additions:
:arrow: Made the demo project a whole lot more interesting
:arrow: Implemented the editor wish list item: Ability to move trees between collections.
:arrow: Various tweaks to the editor UI
:arrow: Fixed a ton of bugs in the compiler
:arrow: Fixed the following editor bugs from the bug list:
:!: Not able to delete collections from library
:!: Not able to delete trees from library
:!: Not able to rename collections from library
:!: Not able to rename trees from library
:!: Missing “tree has been changed, save changes?” dialog

I’m gonna do a last-minute open-mic session presenting the workflow of the Behave project on Friday. Tom and David sortof persuaded me to do it at the bar yesterday, so I can’t really stress enough how much last-minute this is :wink:

I’m not sure if the open-mic sessions are going to be recorded or not, but if you’re at the conference and you’re interested then feel free to drop by.

This looks very interesting Emil, thanks for releasing it. Coincidentally I was just reading a post at AIGameDev on case-based reasoning, and it has a link to the article on behavior trees.

One note: the page on your site reads Behave pre-relea**d**e

Thanks. I fixed it and gave the website a general overhaul. I talked to Tom on Friday and my session was recorded. So I’ll make it available from the website as soon as unity have done their processing of the captures.

Some more tweaks to the website, including some documentation on the runtime script interface.

0.3b is coming along nicely. I can hardly wait to release this thing :slight_smile:

The new site looks great… I haven’t used Behave or Path yet… but I plan to very soon. Keep up all the great work!!

Thanks man. Added a brief description of the editor and compiler as well. Heres waiting for the unite videos… :wink:

Man I really need to get some sleep now :stuck_out_tongue:

0.3b brings the following fixes and additions:
:arrow: Various tweaks to the editor UI
:arrow: Optimised the compiler
:arrow: Fixed the following editor bugs from the bug list:
:!: When the editor scrips are recompiled and when the user enters and exits play mode, running editors will loose references, causing undetermined behaviour
:!: When a compile fails, the Behave compiler is locked and unusable - requiring a unity relaunch
:arrow: Implemented the following wishlist items:
:!: Behaviour tree decorators
:!: Stand-alone edition of the Behave editor
:!: Behaviour tree debugging features

The documentation has been updated to reflect the changes to the Behave runtime and all downloads have been updated. A “Preview” section has been added which offers some screen-shots and a web-based version of the all-new Behave builder application. Check it out!

Good one Ant, I too havent checked out the new one yet, but am really keen to use the pathfinding thing when Im developing Ai. I did try the first behave demo, but beyond making a window and connecting two nodes, I couldnt get it to do anything- but thats cause Im me not you …

Im working with Hans on a medieval type scene, and am planning on modelling a knight-like opponent for combat, and am planning on using mocap-Would animated models like this be useful for your development?

Keep it comin’

Aaron

Hey Aaron.

Thanks for your interest. If you’re up for giving this project another go, I recommend you:

  • View the videos linked from the front page first (and perhaps read some of the articles on that same site regarding behaviour trees).
  • Read through the documentation section.
  • Try to fiddle around with the demo project a bit.

The more animations available, the more the AI characters are capable of expressing. I’d always be interested in gaining access to more data for better demos :slight_smile:

Please PM me with details.

Oops. Behave builder online was getting slaughtered by pop-up blockers. Fixed.

I created a basic zero-to-hero tutorial accessible from the documentation page. It goes all the way from adding Behave to a newly created unity project to having a script use a behaviour tree at runtime.

Its still work in progress, but I just wanted to make it available as soon as possible. For now, to complete the tutorial, consult the runtime section of the documentation and / or check out the script supplied with the editor demo project available in the downloads section.

I’ll repost here when the tutorial is written in full.

Oh and it has pretty screen-shots in it. :smile:

The tutorial is now completed and uploaded. Yay!

Fixed some bugs in the example project (oops!).