IA orientada a la acción: el algoritmo de evasión lleva mucho tiempo

9

Evasión, el proceso de evasión, es lo opuesto a perseguir. En lugar de tratar de disminuir la distancia al objetivo, intentamos maximizarlo.

Lleva mucho tiempo evadir múltiples objetos simultáneamente. Yo uso BFS aquí. Para hacerlo más rápido, ¿qué algoritmos debo usar?

Md Mahbubur Rahman
fuente
2
Creo que te refieres a "evasión"
BigStuuu
@BigStuuu, Sí, "evasión"
Md Mahbubur Rahman

Respuestas:

12

Le sugiero que use comportamientos de dirección para simular este tipo de comportamiento. Consulte esta página para ver un ejemplo de comportamiento evasivo implementado de esta manera.

La idea básica es que solo considere propiedades simples como los vectores de posición y velocidad de su presa y depredadores para calcular el cambio deseado en estas propiedades en tiempo lineal. Esto da como resultado un comportamiento receptivo pero realista.

Sin embargo, esto tiene el costo de no tener en cuenta otros factores, como más objetivos de alto nivel (la posición de los potenciadores, por ejemplo) o la posición de obstáculos estáticos, como lo haría en la búsqueda de caminos. Se pueden tener en cuenta combinando el enfoque de Comportamientos de dirección con, por ejemplo, campos potenciales (consulte Uso de campos potenciales en un escenario de juego de estrategia en tiempo real (Tutorial) ) o búsqueda de ruta (por ejemplo , Método de mapa de corredor ). En el caso de este último, desea disminuir la frecuencia de actualización (y confiar en los Comportamientos de dirección para compensar los errores que puedan ocurrir debido a esto) o hacer una nueva planificación parcial, posiblemente combinada con un enfoque más jerárquico (por ejemplo , Pathfinding jerárquico casi óptimo (HPA *) .

Si desea una respuesta más específica, mejore su pregunta con más detalles sobre su problema. Por ejemplo, considere describir de qué se trata su juego y la cantidad de NPC de los que estamos hablando.

Eric
fuente
También puede manejar la progresión de objetivos competitivos con lógica difusa. Entonces, si la presa está huyendo del depredador, también puede moverse hacia una cueva (o poder o lo que sea). Esto puede producir situaciones interesantes en las que el depredador se interpone entre la cueva y la presa y la presa duda en huir de un lado a otro y A medida que el depredador va tras una presa diferente, se mueve en una litera amplia alrededor del depredador para llegar a la cueva. Todo con un costo adicional limitado. (Sub cueva para algo móvil, como un médico en un campo de batalla, para ver por qué los campos potenciales no son una buena solución aquí.)
DampeS8N