In this article, I look into some of the shortages of event-driven programming and suggest behavior trees as an effective alternative, suitable for back/front-end application development. By T de Souza.
The article deals with:
- What is AI? (and what event frameworks have to do with it)
- Correctness vs efficiency
- What is a behavior tree?
- Behavior trees in code
Behavior trees are a new (~2010) control paradigm based on tasks. A task can be succeeding, failing or running. Behavior trees are like decision trees (an intuitive concept, I hope) with the time dimension factored in.
Behavior trees were first introduced in games (Halo). They are making headway in robotics and the point of this article, essentially, is encouraging developers to consider their potential in developing interactive, time aware applications (front/back-end).
A behavior tree hooks a top-down decision process onto an update loop. The running state allows postponing decisions until an ongoing task has completed. Good read!
[Read More]