Download

Why use behavior tree and not event graphs?

Hi.

I am looking into creating my ai using behavior trees but while reading the documentation on it i am starting to wonder what the possible benefits are.
My AI is very simple. It moves from point a to point b, if it sees the enemy it shoots them.

Setting this up in an event graph is simple, clean and quick. Not to mention almost no effort what so ever.
Now to achieve the same thing with a behavior tree i need to create a blackboard, a service, a task and a decorator and then once all that is done i need to do setup the actual behavior tree.
Considering i do not know behavior trees and just started looking into them i cannot help but wonder…

Is it worth using it?
It really does seem like a very drawn out process to create something simple. But this can be attributed to not being comfortable with them yet… still its a **** load of stuff to manage that is all over the place.

In an event graph everything is right there, all neat and together in one graph. But going with behavior trees you now have to manage various separate entities.

This answered my questions

Highly recommended you read this before you try and follow the tutorial https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/11/index.html
Because nothing irks me more than a tutorial saying doing this without an explanation.

Which is why reading the explanation before the tutorial helps a lot to avoid those OCD tendencies

No body force you use behavior tree to make AI, you can use normal blueprints if you feel comfitible with it

Yip. Well aware of it. But there has to be benefits to it, and if there are benefits its worth delving deeper into them especially if will benefit a project that requires more elaborate AI.

Readability and performance seems to be the 2 key components for the upside of using behavior trees.

ok so right now im really struggling to wrap my head around exactly what they are doing in the tutorial https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/QuickStart/index.html
Some of the things mostly confuse me because
A) Even after following everything to the letter i get accessed none errors
B) some of the logic just seems extremely inefficient, especially concerning tracking the player. I would much rather handle it my current way of making use of the pawn sensing component
C) Its unclear how to pass information to the which element (for example i want to set a bool value based on my pawn sensing but i do not comprehend yet to which or what element i would send this to)

I was hoping there would be something in the example content but the only thing i found was a navemesh example which makes use of a level blueprint and effectively goes about AI the way i did. Using event graphs.

I searched youtube and other resources but have been unable to get concrete information that explains things in a way i can understand.
I in the past tried my luck at a vary famous AI tutorial on youtube but that doesn’t go into the details i am looking for.

Will keep pushing this as i feel it would be beneficial to make use of behavior trees.

Does anyone know of a good resource to learn behavior trees?

I am starting to think that the tutorial supplied under documentation is faulty.
It states you need to call an actor. But the key is actually an object.

When you debug the thing is never called. I am assuming because well… you cannot call it because it does not exist because it was / is an object and not an actor.

Am i right?
https://docs.unrealengine.com/latest/images/Engine/AI/BehaviorTrees/QuickStart/12/fullGraph.png
Look at the section near the end target to follow.

Edit : It appears that my behavior tree did not save to correct target. One issue resolved. Got the basic tutorial to work.
Now to try and fully understand this behavior thing

Personally the Behavior trees seems more complicated than it needs to be, at least for me. I just did all my AI in the BP AI Controller. However, I’m used to programming all my AI right in the Controller. since UE3

There is this
https://docs.unrealengine.com/latest/INT/Engine/AI/BehaviorTrees/HowUE4BehaviorTreesDiffer/index.html#whynotuse
It’s the only resource I can find that details the difference between Services and Decorators.

There is the AI Project created by Peter L Newton
https://forums.unrealengine.com/showthread.php?25073-UPDATED-12-20-A-I-Templates-Bot-Car-amp-Flying-AI

He has a AI project that you can look through, even though it’s a little complicated.

@TheAgent
Tomorrow im going to try and create my own tasks and services and see if i can get something to work. Today i finished the tutorial on the link provided by @KinDaKreator
Will see if i can download Peters example and try to decipher how he handles AI. Unfortunately i am incapable of watching his videos.

Check out zoombapup’s tutorials as well: AI Tutorial - YouTube

Awesomeness. Gonna work through Zoombapup’s tutorials tomorrow. Thank you so much for posting it.