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
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 .
fuente
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.
fuente
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.
fuente
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.
fuente