¿Cuál es el nombre del algoritmo / IA utilizado por la mayoría de los MMO para monstruos o mobs?

11

¿Existe un nombre estándar para la IA (bastante tonta) que la mayoría de los MMO usan cuando 'aggro' un monstruo / mafia cuando estás dentro de un cierto radio de él, y el monstruo persigue a tu personaje durante un tiempo o distancia establecidos cuando intentas huir?

Chris S
fuente

Respuestas:

11

Creo que todos están en la pelota con el nombre "aggro", sin embargo, es probable que sea un comportamiento emergente (efectos secundarios de sistemas de reglas simples, por ejemplo, Boids ). Creo que lo más probable es que se logre utilizando un árbol de decisión ponderado. Para darle un ejemplo de por qué este sistema tendría resultados interesantes, considere esto:

    Start
      |
Player threat (based on player level, distance, DPS, etc.)
Very High  High   Low
|          |      |
Flee       Fight  Pass

Esta decisión se ejecutará para cada jugador y subgrupo de la mafia (producto cartesiano) en las cercanías. Toda la mafia seguiría un árbol de decisión como:

    Start
      |
Combined results
More flee  More fight                    All pass
|          |                             |
Flee       Attack own fight result;      Attack individuals
           otherwise, attack the player
           with most fight results.
  • La mafia ve un grupo de jugadores que se acerca; y comienza a moverse hacia ellos para atacar (la amenaza es baja porque la distancia es alta). Cuando se acercan, la amenaza se vuelve demasiado y corren (es decir, se dan cuenta de que han mordido más de lo que pueden masticar).
  • Si el nivel de los jugadores es bajo, digamos que un jugador recibió un elemento de nivel muy alto y la mafia procede a atacarlos. De repente, un jugador genera DPS loco y la mafia huye.
  • Si un jugador es más amenazante, la mayoría de la mafia se centrará en él (por lo tanto, su mecánica aggro clásica).
  • Un equipo de jugadores se enfrenta a un grupo que no deberían ser. La mafia se enfoca en jugadores individuales para darles una oportunidad de pelear; y si no pueden derrotar a la mafia, algunos podrían correr por sí mismos.

El punto aquí es que se creó un sistema muy elegante, pero predecible, utilizando dos árboles de decisión muy simples.

nota al margen : algunos de los resultados requeridos significan que la reevaluación no debe ocurrir durante un límite de tiempo específico (por ejemplo, Flee debe aplicarse como una desventaja 'Asustada' de 20 años); de lo contrario obtendría resultados muy extraños (por ejemplo, retroalimentación de ataque de huida infinita).

Jonathan Dickinson
fuente
4

Guild Wars simplemente lo llama " Aggro ", o al menos así se llama la variable principal del algoritmo, supongo.

También encontré una versión clara, en forma de una publicación de blog: " Coma AI ". Me gusta cómo el autor relaciona la complejidad de la IA con los niveles de coma. Entonces, según esta definición, podría llamarse "Coma nivel 4":

El nivel 4 (Confundido y agitado) es el estándar AGGRO AI. ¿Te encuentras con alguna criatura en Final Fantasy? Te atacará sin importar quién seas. Incluso los juegos con IA avanzada como Fallout 3 los tienen. Paseando por las Tierras baldías, personas y animales me atacarán sin razón aparente. No hay forma de que puedas disuadirlos. Recuerdo el épico artículo escapista "Quiero curar a los lobos".

Pero eso obviamente no es exactamente lo que estás buscando.

Lamentablemente, nunca he oído hablar de ningún nombre oficial para él, pero no soy un experto en inteligencia artificial de ninguna manera. Todo lo que sé es que lo más común es que se deletrea "aggro", que por supuesto es la abreviatura de "agresivo", que tiene dos g, no uno como usted lo deletrea.

Ricket
fuente
Tienes razón, tengo el error ortográfico por ósmosis: leerlo mal escrito en los canales de chat con tanta frecuencia (un poco como la palabra imba) he comenzado a usar esa versión. Una de las partes más estúpidas de la IA como mencionaste es que puedes ser un nivel 5000 y superar el nivel 10 y él atacará.
Chris S
Muchos juegos lo mencionan como "Amenaza", por lo que puede ayudarlo a buscar el algoritmo estándar (si es que existe).
Chris Ridenour
1
"Odio" también es un término vagamente estándar.
coderanger
"Puedes ser un nivel 5000 y superar el nivel 10 y él atacará", esto no es cierto en WoW. El radio de la amenaza disminuye cuanto mayor sea la brecha de nivel entre usted y la mafia.
Adam Harte
@TandemAdam, por lo que puedo recordar, aún puedes cabalgar sobre un monstruo de nivel 10 en WoW (y ser el nivel más alto) y la mayoría atacará. Sería bueno si corriera con miedo
Chris S
2

Además del modelado "aggro" mencionado por Ricket, otro estado común de IA es "correa". Si un PNJ se aleja demasiado de su punto de generación, se mueve hacia atrás y se recupera rápidamente. Esto es para evitar un kiting excesivo .

coderanger
fuente
1

No tiene nombre real. No es ningún tipo de algoritmo 'aceptado'. Es simplemente barato y fácil de implementar como una máquina de estado trivial. Si el enemigo está inactivo y el jugador está lo suficientemente cerca, cambie el enemigo a agresivo. Los MMO simplemente continúan usándolo porque es fácil trabajar con ellos.

Kylotan
fuente
0

La IA en los MMO es bastante ignorante. Estás lidiando con un mundo donde tienes el potencial de llegar a millones de jugadores con diferentes habilidades. Si la IA en los MMO estuviese realmente presente, verías que las criaturas atacan constantemente a tus curanderos, luego persiguen a los usuarios de telas, etc. Pero no vemos eso. Vemos un sistema que otorga a una mafia x salud y una clasificación de ataque según su nivel, y una facción a la que pertenece (lo que hace que ataque a personas cuya facción difiere). Se ejecutan (a veces) cuando la salud es <y, y pueden activar más mobs para ayudar si se cumple la condición x El sistema puede hacer una tirada de DX para ver si el ataque / hechizo golpea o no, y va desde allí. Si un jugador está atacando mucho (aumentando la amenaza), las criaturas recurren a ese jugador. Entonces este sistema es muy, muy básico. No hay forma de que un jugador casual cambie un '

A partir de ahí, nos metemos en algunos encuentros 'avanzados' que atraen a la multitud de hard-core. Pero incluso estos no están completamente automatizados por AI, son eventos con guión. Una vez que un gremio de alto nivel lleva una semana y descubre cómo matar al Rey de los Sueños, puede pasar los detalles del encuentro a jugadores casuales.

Recuerdo en EverQuest que podías comenzar una conversación con los NPC y que podías desencadenar diferentes acciones al decir ciertas cosas. Alguna IA lingüística.

David McGraw
fuente
0

La primera versión de esto que vi fue en el antiguo juego roguelike Moria. Cada especie de monstruo tiene un parámetro aaf, que significa área de afecto. Si estás fuera del aaf del monstruo, no se mueve en absoluto.

gris
fuente