Hierarchical Task Network Planning
This plugin adds HTN planning functionality as an alternative to Behavior Trees.
Traditional AI techniques like state machines or behavior trees make decisions on the fly with little to no foresight. An AI based on Hierarchical Task Networks predicts consequences of its actions and plans ahead. Here’s a short video of an HTN-based character inventing the optimal plan to attack a target.
Compared to other planning techniques like Goal-Oriented Action Planning, HTN planning is more efficient and gives designers much more control over character behavior. Instead of just providing the AI with a set of actions, you create networks of tasks defining dependencies between them.
In order to predict consequences of actions, HTN planners represent hypothetical futures using worldstates. The plugin efficiently uses blackboard data for that. Because of this worldstates are very flexible and can be easily interacted with by nodes in C++ and Blueprints.
Those familiar with Behavior Trees in Unreal Engine 4 will recognize familiar elements like Tasks, Decorators, and Services, but with planning functionality on top of the usual execution-time behavior. It’s just as easy to create custom Tasks, Decorators, and Services for HTN as it is for Behavior Trees, both in C++ and Blueprints.
The plugin seamlessly integrates with the Environment Query System and the Visual Logger, allowing for tactical planning and visualizing the current plan of any character.
Features
- Node-based HTN graph editor
- Seamlessly using blackboard data as worldstate
- Ability to make custom Tasks, Decorators, and Services in both C++ and Blueprints
- Parallel planning
- Any-order planning
- Integration with the Visual Logger
- Integration with the Environment Query System
- Realtime debugging features
Tutorials