Una de las técnicas que se ha venido utilizando en los últimos años para poder modelar Inteligencia artificial en videojuegos, es el árbol de comportamiento o Behavior Trees. Ha ido ganando cada vez adeptos a lo largo de los años, a medidad que cada vez mas desarrolladores encontraran en ella una herramienta superar a las maquinas de estados finitas, para poder mapear correctamente los comportamientos de los NPCs en el videojuego.
Como todo lo que es representado por un árbol (hay muchas técnicas en muchos campos de conocimiento que los utilizan) la visualización de lo que se pretende hacer es bastante fácil, y nos permite que no solamente los programadores lo puedan hacer, si no también los diseñadores, por lo que permite ganar en tiempo de desarrollo, al eliminar un cuello de botella importante creado por la alta carga de tareas que suelen tener siempre este colectivo en cualquier proyecto de desarrollo de videojuegos.
He recompilado algunos contenidos sobre el tema que listo a continuación, para ayudar a entender este concepto.
http://www.altdevblogaday.com/2011/02/24/introduction-to-behavior-trees/
http://aigamedev.com/open/articles/bt-overview/
http://aigamedev.com/open/articles/behavior-trees-part1/
http://aigamedev.com/open/articles/behavior-trees-part2/
http://aigamedev.com/insider/tutorial/second-generation-bt/
Algunas implementaciones para Unity3D
http://victisgame.wordpress.com/