¿Cómo se implementa generalmente la IA para un juego de lucha?

Actualizar:
================================================== ===========
Un aspecto que me perdí en mi respuesta a continuación es el uso del “motor de física”. Muchas veces se usa un motor de física para moverse alrededor de objetos / personajes dentro del juego y la lógica de la IA debe integrarse estrechamente con el motor de física, por ejemplo, manejar colisiones, aplicar fuerzas, etc. Usando la misma metodología que he descrito a continuación, recientemente Lancé mi segundo juego que usa Bullet Physics Engine. Mira el juego en:

https://play.google.com/store/ap…


================================================== ===========
Recientemente he lanzado un juego de lucha 3D en Android. Puedes ver el juego en la siguiente URL de Play Store:

https://play.google.com/store/ap…

Había diseñado el juego en una hoja de Excel para este juego. Se creó un modelo de juego simple que describe los números y sus relaciones. Todos los personajes que he implementado en el juego se enumeraron y se asignaron valores a cada uno de ellos para Agilidad, Fuerza, Fatalidad, etc. El modelo de Excel respondió preguntas como cuánto puntaje de salud disminuir si un personaje golpea al enemigo o recibe un golpe del enemigo

La mayor parte de la IA implementada en el juego fue la implementación de programación de este modelo de Excel combinado con probabilidades. Por ejemplo, la probabilidad de que un personaje esquive un ataque es del 20% en modo fácil, 30% en modo medio y 40% en modo difícil.

Por lo general, la lógica de AI se escribe en un método de “procesamiento” que se llama de 20 a 80 veces por segundo (dependiendo del hardware subyacente). En este método se escribe la lógica que decide qué hará el personaje controlado por computadora. Entonces, si el personaje del usuario está golpeando actualmente, su lógica decidirá (en función de la probabilidad y otros factores) si el personaje de la IA esquivará o será golpeado. En su mayoría, la lógica de AI será una serie de declaraciones if-else que decidirán la acción del personaje de AI basada en la acción del usuario y la lógica del juego.