Path is now MIT licensed
Hey guys. Obviously I’ve been pretty busy and since I’d like to spend the spare time coding time I have on Behave, I have just made the Path repository publicly available with an MIT license attached.
https://github.com/AngryAnt/Path
Note that I will be monitoring and taking in pull requests as well as compiling builds for releasing into the asset store (obviously as a free package). Let’s make this project as awesome as can be
Issue tracking and wiki development (I would appreciate collaborators on that as well) is still happening on https://github.com/AngryAnt/Path-release.
Happy hacking!
Behave 1.4 released
So obviously I ended up not spending more time on that RPG thing… I did however work on some 3.5 stuff back at Unity, some upcoming demo stuff and baby Lili was born.
Meanwhile I spent spare time on Behave rather than the RPG thing, so now 1.4 is ready for release. TADAA!
This release primarily holds runtime optimizations, fixes and tweaks. Specifically I would like to highlight the ability to mark components as “instant”. The instant flag affects sequences and selectors when moving between child nodes. When an instant child component completes, rather than waiting for the next tick to tick the following child node, the sequence or selector does it immediately.
Anywho, get it on the asset store and remember to rebuild your libraries after installing.
The rest of the changes follow:
1.4: - Fixed decorator incorrectly initializing on every returning tick when tick handler returned Running. - Fixed debugger view dependency on active tree editor - causing reported null reference exception. - Fixed missing scrollbars on browser window. - Reduced logging noise from debug builds. - Agent blueprints can now be MonoBehaviour based. - Clarified wording on "library not loaded". - Now handling reset a bit cleverer - potential performance boost. - Changed the default success criteria of Parallel components from SuccessOrFailure to Success. - Added "instant" flag to components. Components marked instant will affect sequences and selectors when moving between child nodes. When a child node marked "instant" completes, rather than waiting for the next tree tick to tick the following child node, the sequence or selector does it immediately. - The compiler progress bar returns. - Editing a Behave asset now focuses the asset browser last instead of the tree editor. - Behave can now be installed in any subfolder of Assets - provided its internal folder structure remains intact. - Compilation speed improvements. - Enabled references across collection borders. - Added Tree.DataSize - returning the number of bytes used by a tree instance. This is also displayed in the debugger window.
You’ll find a link to the package in the download section. Have fun!
So I’ve been a bit busy lately
Little under half a year later and I’m still here. Things have been rather hectic since my last update. In Copenhagen we conquered more office space and my team moved in there. I made some demos (Third Person MMO Controller and Astro Dude), went to a conference, worked on a Unity release and pitched in to realize another killer conference.
By the way at that last conference I did a talk titled “AI in Unity” – the goal of which was to try and demystify the concept of AI a bit. I’ll make some noise when we have the recording of it available.
Oh and I fixed the comments on the blog, so I’ve just cleared out 300-something spam posts. Anyone got advice on how to avoid this on a WordPress blog? (Read: I’m too lazy to change blogging system if anyone suggests that). Oh and therefore I enabled the “must approve comments” thingy. Not sure if that is going to help anything, but at least it will reduce the noise on your end.
So what is next then? Well I’ve got a few things I’d like to release in a Behave point upgrade and then the plan is to move on to 2.0 which will hold some backwards-compatibility breaking changes.
At Unity there’s a bit more 3.5 stuff to do and some even awesomererer demos on the way. The extra awesomeness has been underway for quite a while, so I’m very excited to get this out soon.
I very recently started playing around with some RPG mechanics in my spare time (had a day off after Unite and couldn’t sit still). It’s so spare time that the plan is to have no additional plans. Let’s see where that goes.
Ah and I’ll work with some groovy dudes on getting a 3D themed workshop event up and going early next year. I don’t think it has been announced yet, but it will be awesome – and full of Unity of-course. That should hit right before the other groovy thing I’m working on again this year with more awesome dudes and dudettes. Fun times!
What else? Oh yea. With my low bandwidth for updates, I’ve turned increasingly more to twitter and the gist feature of github. Hopefully I will have the time to do some good reads in the Tips and Tricks section soon, but the gist setup is just so very quick.
I probably forgot a ton of stuff, but hopefully this was a good reboot of this blog thing. Let’s see what happens. Maybe I could start blogging about that RPG thing if it accidentally turns interesting. We’ll see.
Have fun!
Behave 1.3 released
After quite a long break (including shifting around at utech, doing a Path release etc.), Behave is finally getting another update!
This release is primarily a bugfix and editor polish release. One thing I’d like to highlight though is the addition of agent blueprints. From the changelog:
– Added agent blueprints – connecting to agent handlers through virtual methods rather than reflected handlers.
Generally this enables you to more explicitly tie up handlers and cuts down on tree initialization time. Oh and of-course you gain auto-completion when setting up your handlers.
Anyway, here’s the whole changelog:
1.3: - Fixed priority selector init flag resetting. - Fixed reference handling on tree renaming and deletion. - Fixed references still pointing at old collection post collection duplication. - Fixed compilation of actions and decorators with non-integral float parameters. - Fixed GUI list behaviours. - Fixed passing context back and forth between referenced trees and referrer. - Fixed reordering connections not causing save state to be set. - Various GUI tweaks. - Runtime optimisations. - Enabled scrolling of the tree list in the debugger window. - Exposed Tree.ReflectForwards. - Added Tree.ResetForwards. - Added agent blueprints - connecting to agent handlers through virtual methods rather than reflected handlers. - Made connections selectable in the tree editor via the connection nub. - Moved connection managing from the inspector to the tree editor, where it is more visible and handy. - Added support for disabling connections - for faster, less destructive debugging. - Double-click reference component to jump to referenced tree. - Changed "Cannot update unregistered tree" handling from an exception to an error message. Still need more info. - Now showing string and float parameters in the tree editor if either is set.
You’ll find a link to the package in the download section. Have fun!
IGDA Unity SIG slides
OHAI! Sorry about the delay – things have been a bit hectic around here. Per request, I’m making available exports of three of my slideshows from the recent IGDA Unity SIGs. I hope you’ll find them useful:
OHAI
A week has passed and the second of six Unity specific IGDA SIGs is upon us. Like last time, the event will take place at the IT University, Copenhagen, Denmark at 1800.
We will meet in the reception and from there move to the auditorium. The originally planned physics bit of todays SIG has been rescheduled to next thursday, where Jonas Echterhoff will be in town and give the talk. Jonas is the man with the plan of the PhysX integration in Unity, so added awesomenessness!
This means that today Joe Robins will be talking about scene construction and I will be covering AI in Unity.
For this thursday we should be lucky and get even more Unity Tech people to participate in the discussion bit of the SIG. And remember afterwards we’re doing the bar meet and given it’s Saint Patricks, we’re likely to be a good group of people moving from bar to bar.
The original IGDA post w. schedule:
http://igda.dk/2011/02/01/unity-sig-unity-special-interest-group-launch/
IGDA post on the rescheduling of the physics talk:
http://igda.dk/2011/03/16/unity-sig-update-on-the-meeting-thursday-173/
First IGDA Unity SIG this evening
Quick announcement for anyone in or around the CPH area: I’m doing the first of six IGDA Unity SIGs (Special Interest Groups) this evening, with Joe Robins.
The event is held at the IT University of Copenhagen and starts at 1800. Anyone can attend (for free) and this first SIG will be a general introduction to Unity – basic principles of the engine, workflow and such. The following five SIGs will dive into various specific areas of Unity.
For more information and the full program, see the IGDA DK blog:
http://igda.dk/2011/02/01/unity-sig-unity-special-interest-group-launch/
Alternative licensing available
After having been poked on the issue for a while now, I’m finally offering the option of requesting alternative licensing on Path and Behave.
Something in the default license which doesn’t fit your project too well? Let’s talk about it. Please use the form available on the Licensing page, available from the navigation bar.
Pathfinding in two lines
I just updated the Path documentation with a short tutorial describing the simplest possible interface between your code and the Path runtime: “Pathfinding in two lines”.
Furthermore, I added a link to the previously released introduction video to Path 2.0b1. While I will make sure to re-record it with the released build, 99% of the stuff in that video still applies.
Path 2 released
That’s right, Path is back in business – easier to use and more powerful than ever before! Version 2 is now available for download on the Unity asset store. Find a link to it in the downloads section – along with an example seeker script.
Full API documentation is available in the documentation section – more documentation is on the way, as is integration between UnitySteer and Path 2.
That’s it for now. Have fun!