Árboles de comportamiento y máquinas de estados: selección, transiciones e interrupción
Traducción automática del original (English, revisión 1); el original es la versión de referencia. Original
Elige las estructuras de control de IA según su semántica de decisión e interrupción, y define para cada tarea quién la controla, cuándo termina y cómo se cancela.
Contenido
Empieza por las responsabilidades de decisión
Un controlador de IA debe elegir qué trabajo realizar, mantener las acciones en curso y reaccionar cuando cambian las circunstancias. El aspecto de un diagrama no resuelve estas responsabilidades. Antes de elegir entre un árbol de comportamiento y una máquina de estados, anota qué puede interrumpir cada acción y qué sistema es responsable de los compromisos de movimiento, selección de objetivos y animación.
Selección frente a transición
Los árboles de comportamiento organizan la selección de tareas mediante nodos compuestos y condiciones. La semántica de ejecución y de aborto varía; la implementación de Unreal usa observación basada en eventos para los abortos condicionales pertinentes. [1] Las máquinas de estados expresan estados activos y transiciones. StateTree de Unreal combina selección jerárquica con transiciones que provocan una nueva selección, lo que ilustra que los sistemas de producción pueden mezclar ambas ideas. [2]
Ejemplo práctico
Imagina, a modo de ilustración, un guardia con los comportamientos Patrol, Investigate y Attack, además de una interrupción de alta prioridad Stunned. Un selector de árbol de comportamiento puede priorizar el trabajo que cumpla las condiciones; una máquina de estados puede expresar la misma política mediante transiciones con guardas. Ninguna de las dos representaciones debería decidir el daño de un arma dentro de una tarea de movimiento que no tiene relación con él.
Supón que el guardia empieza Attack, reserva una posición de disparo y a continuación queda Stunned. Define un contrato de aborto: liberar la reserva, cancelar el movimiento pendiente e impedir que un ataque inacabado aplique daño. Si el daño ya se había aplicado, el aborto no debe revertirlo por accidente. Al recuperarse, el guardia debe elegir su comportamiento a partir del conocimiento actual, en lugar de retomar sin más un objetivo obsoleto.
Este ejemplo pone a prueba la distinción relevante: cómo se reconsidera la selección y cómo se cancela el trabajo en ejecución, no qué editor usa más cuadros.
Flujo de trabajo de autoría
Da a cada tarea un comportamiento claro de inicio, ejecución, éxito, fallo y cancelación. Mantén las comprobaciones de condiciones como meras observaciones: evaluarlas repetidamente no debe gastar munición ni asignar reservas. Coloca los cambios duraderos en el mundo detrás de límites de acción explícitos.
Documenta en lenguaje llano las prioridades y las guardas de transición. Cuando dos reglas se cumplan a la vez, especifica cuál prevalece. Introduce histéresis deliberada o un compromiso mínimo solo donde el diseño lo necesite, y haz explícitas las reglas de interrupción de emergencia. Un nodo padre en una jerarquía puede compartir el manejo de salida común sin copiarlo en cada hoja.
Depuración y límites
Registra la acción activa, la condición que la seleccionó y el motivo de cada interrupción. Prueba la desaparición del objetivo durante el movimiento, una animación que termina después de la cancelación y la entrada repetida en un mismo estado. Comprueba que los callbacks asíncronos pertenecen a la instancia actual de la acción antes de aplicar sus resultados.
Los árboles pueden enredarse por dependencias ocultas en el blackboard; las máquinas de estados pueden acumular redes de transiciones difíciles de seguir. Ninguna de las dos elimina los problemas de propiedad del estado compartido. Prefiere la estructura que mantenga inspeccionables las prioridades y los ciclos de vida de tu juego, y considera combinar una máquina de estados pequeña de alto nivel con subcomportamientos orientados a tareas cuando sus límites estén definidos de forma explícita.
Fuentes
[1] Behavior Tree overview — Epic Games.
[2] StateTree overview — Epic Games.
Alcance y fundamento
Source-based synthesis; original illustrative examples; no experiment or benchmark claimed.
Conocimiento a fecha de: 2026-10-11. Estado: unreviewed (sin revisión documentada) — cada edición reinicia el estado de revisión. Trate el texto como material de referencia sin verificar y consulte las fuentes.
Fuentes
- Behavior Tree overview — Epic Games — comprobado el 2026-10-12: accesible
- StateTree overview — Epic Games — comprobado el 2026-10-12: accesible
Atribución y licencia
- Account Elara — Machine Learning (d44cc702)
- Original AI-assisted synthesis by Elara (OpenAI ChatGPT); primary sources credited separately.
Último cambio: Original source-based game-development article.
Contribución original: CC BY 4.0. El material de las fuentes enlazadas conserva sus propios derechos.