Behavior Trees for Next-Gen Game AI
(Video, Part 1)

Quite a few people asked for a PDF of my slides from my lecture at the GDC in Lyon, but I promised to do better and release a video with the animations an the whole audio. Here is the first part of the talk; it’s exactly 22:37 minutes long.




In the video, I go over the motivation for behavior trees, in particular how they relate to other techniques using hierarchical logic and what problems they address. I also give a quick introduction of the concepts behind behavior trees using a simple guard dog example that you should be familiar with if you’ve been following the tutorial series here on AiGameDev.com.

It took much longer than expected to prepare, but at least I’m a little more comfortable with video editing tools now! The second part will be posted this Sunday, and is reading for being edited… Be sure to subscribe to be notified when it’s released.

14 Comments ↓

#1 Dave Mark on 12.13.07 at 11:07 am

Hell, it takes longer than 22 minutes to download the bloody thing! That's a whopper, Alex!

#2 Isidro Angel on 12.13.07 at 2:55 pm

Hi,

Is very Interesting and thankyou.

Can I download this Video to my PC ?

#3 alexjc on 12.13.07 at 3:47 pm

Isidro,

Not yet, but I’ll see what I can do once both parts have been edited. I may even re-record both parts, I’m sounding a bit tired!

Alex

#4 Mikko on 12.13.07 at 9:54 pm

Nice video. I’m starting to warm up for behavior trees too :) I still have a bit trouble understanding the concurrency, though, or maybe I just did not get right the animation where you described the flow of the sequence and selectors.
One comment on your view how designers “think AI”. Many of them believe that they want to be tinkering and micro managing, but in reality they actually want higher level control. More like, controlling the goal of group of AI in order to create certain tension or atmosphere. I think Damian mentions similar control on some of the Halo AI talks.
I think AI is generally there is a lot of mysticism and misunderstanding what it comes to AI. Especially action game AI, where the AI does not try to be equivalent opponent, but rather an actor in the opera of destruction.
In order to create awesome levels, you need the designers to understand what the AI is going to do (so that they can plan how to create the level! :)). As much I want as a AI programmer/designer to make the coolest AI, I’ve recently started to think more how can I enable the rest of the team to understand how to build awesome dynamic battle scenarios.
This sort brings be back to my initial comment. If the designers can micro manage too much, they will be overwhelmed and not really be building cool levels and encounters. But if there is no control at all, you will end up with AI that is always the same even if it technically is the most awesome thing ever, emergent and what not (I think FEAR suffers this a lot–and I’m big fan if Jeff’s work).
Another topic I’ve been visiting recently is that why the shooter/action game AI is always agent centric? My #1 behavior aliasing solving method has been to make the dominant rule/condition a bit more higher level. That is, either by biasing reactions towards the goal the agent tries to reach or even using the state of the group of agents as bias too. Gestalt theory FTW! :)
(sorry for the long slightly tangential reply)
I’m tempted to comment on that Crysis AI article, but I’m worried that I might spill too many beans. Quite good guessing there, though ;).

#5 Matthew Marshall on 12.16.07 at 11:30 pm

Isidro,

You can download many flash videos by looking for a .flv file in the html source.

This video can be directly download from this url:
http://files.aigamedev.com/videos/btngai-part1.flv

(You can use the VLC media player to play it.)

MWM

#6 gorogoro on 12.19.07 at 1:06 pm

Somehow this reminds me Prolog stuff :D

#7 alexjc on 12.21.07 at 10:52 am

gorogoro,

You’re absolutely right. Take Prolog, add latent execution and a few game AI friendly features, and you get a good basis for a behavior tree!

Man I could talk about that for hours. Those optimizations tricks are like Prolog cuts…

Alex

#8 alexjc on 01.03.08 at 8:01 pm

Well, it seems the video has trouble loading under internet explorer. If I use Javascript, it works out ok in IE 6/7. But when I do, then it gets messed up in feed readers...

In the future, I'll use a forum to provide high-quality videos that registered members can download freely :-)

#9 Anonymous on 01.04.08 at 6:39 am

Will unregistered users be able to download the high-resolution videos too?

(Admin: Test for blog forum. Answer is no! :-)

#10 gorogoro2 on 03.01.08 at 6:19 pm

Somehow this reminds me Lisp stuff :D

#11 Crash on 03.21.08 at 9:12 am

Hi Alex,
I am also having difficulty viewing the videos on the blog. Have you already uploaded them somewhere else for download? I am very keen to see this material.
Sam,

#12 dannyBlue on 03.21.08 at 6:11 pm

where can i find the video?

#13 Crash on 03.22.08 at 6:22 pm

The video is at: http://aigamedev.com/videos/behavior-trees-part1

I don't know if alex's announcement today about videos in the other forum was in refrence to this but it worked ok for me today. Very informative and I look forward to watching the others soon.

#14 kofman on 05.09.08 at 2:10 am

Incredibly informative. Myself, being totally inexperienced with HTN Planners and the like, I walked away with a great understanding of Behavior Trees after watching this video.

About to move onto the next two.

Leave a Comment

You can also reply to this thread in the forums.

Game AI Character