To finish off our brief discussion on Behavior Trees, I want to leave you guys off with a couple of videos that demonstrate the usage of this data structure in video games! Here are some examples of games/software that utilize Behavior Trees for the AI interaction.
Project Zomboid - Chris Simpson, the blogger I referenced for our discussion on Behavior Trees, actually worked on the game Project Zomboid. It is a zombie survival, role-playing game for PC, Mac and Linux that utilizes Behavior Trees for the zombie and survivor AI. Chris Simpson also stated that Project Zomboid was made with the Java programming language. You can build your own safehouse and scavenge the apocalyptic wasteland for supplies like food and weapons. You can even team up with your friends to try and survive together! The game contains a lot of realistic survival elements. It also has modding support. If you like zombie survival video games, and you’re curious to see how the behavior trees work in the actual game, you can buy the game on Steam for $15. Or you could simply watch a video on the game, like the one I posted below!
The Sims - The Sims games are real-life simulation games that focus on the everyday life of people, where the player controls artificial human beings to perform tasks such as cooking, bathing, going to work, exercising, you name it! The Sims games have some of the best examples of AI with behavior trees due to the fact that the sims can interact with tons of everyday items. For example, in one of the videos below, you can see a sim cooking a meal on the kitchen counter. This describes how that sim utilizes a sequence node to walk to the fridge, grab some materials to make the food item, walk to the counter, chop up the food, cook it, serve it at the table, and finally begin eating the food! Also, in the Sims, the player can interrupt the current sim’s actions if he/she wants to. In terms of our last example, this means the player can send a ‘failure’ status message up to that food sequence node that is currently executing, which ultimately causes the sim to stop what he/she is doing and put the food somewhere. When the player isn’t controlling the behaviors of a certain sim (i.e. when the player is playing as a different sim or is away from the controller), the sims automatically control their own behaviors depending on their daily needs, such as their thirst, their hunger, their bladder, their tiredness, their hygiene, and so on. These sims utilize behavior trees to maintain their wellbeing autonomously! Check out the sims if you haven’t before.
Unreal Engine 4 - Unreal Engine has a built-in node editor for Artificial Intelligence that utilizes behavior trees. The user of the engine can actually define some very complicated and rigorous AI that is suited to his/her own needs. This feature is what game developers use to construct video game AI without worrying about having to create the behavior tree structure completely from scratch! This is very powerful! Check out the videos below to see how they work in Unreal Engine.