I realize I'm a little late to the show, but I've spent the better part of the day googling and youtubing resources to learn about behavior trees, and let me say, this is an amazing video! Succinct, and real quality. Too many resources are too technical/difficult, or alternatively too simplistic. This hits the sweet spot. Thanks for the time you put into this.
I think the tree for the zombie is somewhat flawed because of the first question: "Zombie?" I would imagine a human and zombie should get two different decision trees, and perhaps the human, once infected, should have its old decision tree be replaced by the new one. Otherwise, you'll get a lot of messy/complicated logic if every entity has to check if it is who it claims to be. In other words, with proper OOP, it's implicit that a zombie knows that it's... a zombie.
In a real world setting absolutely. The example was chosen more for simplicity and possibly a bit of humor, than to represent a true use case example. You are absolutely correct, in practice, particularly for real-time applications, we will need to reduce any processing we can and in this example, having 2 trees would likely remove a check per frame per agent.
This is all assuming the state of being a human or zombie does not often change. If we are simulating some world where agents could switch back and forth, this binary check may prove cheaper than any allocations associated with creating or swapping zombie and human objects around.
There are a few but I think the main idea here is the nature of when actual behaviors/tasks are performed by our agents. In a DecisionTree, all of the internal nodes are just testing some state to make a decision of which direction in the tree to process next, with the leaf nodes being some singular behavior/task that has been decided to be the best option to perform at this time. In a BehaviorTree, our nodes are ultimately more flexible allowing for both nodes that make decisions and perform tasks to be used together to create a more complex behavior result. Through techniques that would process a decision tree multiple times, or just really well setup trees we can likely get the same results from either system, but Behavior Trees would be far more commonly used in gaming AI systems in my experience.
Your benefits and drawbacks shows that you have no understanding of behavior trees. You're doing the benefits and drawbacks of a GUI interface, not the actual implementation of a behavior tree which is extremely complex compared to state machines, but it provides much more functionality than a plan or state ever could.
5 times in 20 minutes! I should sell access as a sleeping aid! I will have to try to living it up, although I am hesitant to make the video any longer. I could probably try to break it up into multiple videos and show some example code and results from this demo I put together czcams.com/video/vHIvSJ0tlqI/video.html. Unfortunately, updating this video will have to wait until I have time to create videos for topics on linear regression, logistic regression and neural networks.
I realize I'm a little late to the show, but I've spent the better part of the day googling and youtubing resources to learn about behavior trees, and let me say, this is an amazing video! Succinct, and real quality. Too many resources are too technical/difficult, or alternatively too simplistic. This hits the sweet spot. Thanks for the time you put into this.
Very good explanation. At last I found one easy to understand.
Thanks for explanation. This is best material about behavior trees!
Thank you for sharing this! Was having so much difficulty wrapping my head around sequencers/selectors and why you would want to use them!
I think the tree for the zombie is somewhat flawed because of the first question: "Zombie?" I would imagine a human and zombie should get two different decision trees, and perhaps the human, once infected, should have its old decision tree be replaced by the new one. Otherwise, you'll get a lot of messy/complicated logic if every entity has to check if it is who it claims to be. In other words, with proper OOP, it's implicit that a zombie knows that it's... a zombie.
In a real world setting absolutely. The example was chosen more for simplicity and possibly a bit of humor, than to represent a true use case example. You are absolutely correct, in practice, particularly for real-time applications, we will need to reduce any processing we can and in this example, having 2 trees would likely remove a check per frame per agent.
This is all assuming the state of being a human or zombie does not often change. If we are simulating some world where agents could switch back and forth, this binary check may prove cheaper than any allocations associated with creating or swapping zombie and human objects around.
Very useful video, simple and good explanation. Thanks.
Excellent presentation. Thank you.
I was looking for this! Thanks!
I like this guys voice
Thanks for this video!
Very good video but the volume is too small
whats the difference between decision tree and behavior tree
There are a few but I think the main idea here is the nature of when actual behaviors/tasks are performed by our agents. In a DecisionTree, all of the internal nodes are just testing some state to make a decision of which direction in the tree to process next, with the leaf nodes being some singular behavior/task that has been decided to be the best option to perform at this time. In a BehaviorTree, our nodes are ultimately more flexible allowing for both nodes that make decisions and perform tasks to be used together to create a more complex behavior result. Through techniques that would process a decision tree multiple times, or just really well setup trees we can likely get the same results from either system, but Behavior Trees would be far more commonly used in gaming AI systems in my experience.
So quiet.. Pls don't die...!
Your benefits and drawbacks shows that you have no understanding of behavior trees. You're doing the benefits and drawbacks of a GUI interface, not the actual implementation of a behavior tree which is extremely complex compared to state machines, but it provides much more functionality than a plan or state ever could.
Good information but you put me to sleep 5 times in 20 minutes!! No offense, I still did 👍.. Put some code for a change.
5 times in 20 minutes! I should sell access as a sleeping aid!
I will have to try to living it up, although I am hesitant to make the video any longer. I could probably try to break it up into multiple videos and show some example code and results from this demo I put together czcams.com/video/vHIvSJ0tlqI/video.html. Unfortunately, updating this video will have to wait until I have time to create videos for topics on linear regression, logistic regression and neural networks.