¿Cómo puedo hacer que la inteligencia artificial compleja sea manejable?

En el pasado, he usado sistemas simples como máquinas de estados finitos (FSM) y FSM jerárquicas para controlar el comportamiento de la IA. Este patrón se desmorona rápidamente o cualquier sistema complejo.

Escuché sobre treees de comportamiento . Parecen ser el siguiente paso obvio, pero no he visto una implementación en funcionamiento o realmente la he probado todavía.

¿Qué otros patrones pueden hacer que los comportamientos complejos de AI sean manejables?

Los treees de comportamiento son una excelente forma de administrar la inteligencia artificial, y Ai Game Dev es el mejor lugar para aprender sobre ellos. Hay toneladas de implementaciones de ejemplo en lugares como Codeplex, o incluso la propia implementación de los motores Sandbox de AIGD (que admitidamente es bastante compleja y puede ser difícil de seguir).

El año pasado en el juego AI Confrence hubo mucha emoción acerca de los planificadores , pero este año una gran parte de eso se había caído. El mejor consejo parecía ser simplemente comenzar simple. Todo el 20% del trabajo para get el 80% de esa cosa parece ser totalmente cierto en la mayoría de los casos

Uno de ellos creo que creo que es importante es separar por qué un agente quiere get algo de cómo lo hace. Los planificadores de acción orientados a objectives lo hacen bien, pero también existen otras soluciones. Esto le da una gran flexibilidad para build agentes, ya que puede elegir de un grupo de objectives y un set de acciones.

Los treees de comportamiento están diseñados para superar toda la solución, tanto para la toma de decisiones como para las acciones, y, como tales, pueden ser difíciles de mantener.

Una técnica con la que debe estar familiarizado en cualquier caso es el enfoque de la list de acciones. En el nivel más simple, es solo una list de objects de acción, que cada object de acción tiene su método update () llamado cada cuadro. Sin embargo, puedes expandirlo rápidamente para permitir acciones de locking, múltiples líneas de acción, grupos de niños, etc. Casi cualquier cosa que puedas build con un FSM de alto nivel puede implementarse de una manera más modular, flexible y depurable con una acción. list usando acciones de comportamiento.

Además de ser una técnica útil para administrar toda la animation, la búsqueda de routes y otras "cosas" misteriosas que pueden hacer tus personajes, hace que sea trivial implementar un sistema de toma de decisiones basado en prioridades mediante la creación de acciones de comportamiento.

Algunas notas sobre cómo usarlas se pueden encontrar en este mazo de diapositivas: http://sonargame.com/2011/11/01/new-game-slides/

Seguro que también ha habido artículos sobre esto en la serie de Sabiduría de progtwigción de IA.