Quel est le nom de l'IA / algorithme utilisé par la plupart des MMO pour les monstres ou les mobs?

11

Existe-t-il un nom standard pour l'IA (assez stupide) que la plupart des MMO utilisent lorsque vous `` aggroz '' un monstre / mob lorsque vous êtes dans un certain rayon, et le monstre poursuit votre personnage pendant une durée ou une distance définies lorsque vous essayez de vous enfuir?

Chris S
la source

Réponses:

11

Je pense que tout le monde est sur la balle avec le nom "aggro", mais c'est probablement un comportement émergent (effets secondaires de systèmes de règles simples, par exemple Boids ). Je pense que cela serait très probablement réalisé en utilisant un arbre de décision pondéré. Pour vous donner un exemple des raisons pour lesquelles ce système aurait des résultats intéressants, considérez ceci:

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

Cette décision serait ensuite exécutée pour chaque joueur et sous-groupe de mob (produit cartésien) à proximité. La foule entière suivrait alors un arbre de décision comme:

    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 foule voit un groupe de joueurs s'approcher; et commence à se diriger vers eux pour attaquer (la menace est faible car la distance est élevée). Quand ils se rapprochent, la menace devient trop forte et ils courent (c'est-à-dire qu'ils réalisent qu'ils ont mordu plus qu'ils ne peuvent mâcher).
  • Si le niveau des joueurs est bas, disons qu'un joueur a reçu un objet de très haut niveau et que la foule procède à l'attaque. Soudain, un joueur sort un DPS fou et la foule s'enfuit.
  • Si un joueur est plus menaçant, la plupart de la foule se concentrera sur lui (donc vos mécaniques d'aggro classiques).
  • Une équipe de joueurs affronte un groupe qu'ils ne devraient pas être. La foule se concentre sur les joueurs individuels pour leur donner une chance de se battre; et s'ils ne peuvent pas vaincre la foule, quelques-uns pourraient être capables de se diriger eux-mêmes.

Le point ici est qu'un système très élégant, mais prévisible, a été construit en utilisant deux arbres de décision très simples.

note latérale : Certains des résultats requis signifient que la réévaluation ne devrait pas avoir lieu pendant une durée spécifique (par exemple, Flee devrait être appliqué comme un affaiblissement «Scared» des années 20); sinon, vous obtiendriez des résultats très étranges (par exemple, un retour infini d'attaque de fuite).

Jonathan Dickinson
la source
4

Guild Wars l'appelle simplement " Aggro ", ou du moins c'est ce que la variable principale de l'algorithme est appelée, je suppose.

J'ai également trouvé une approche soignée, sous la forme d'un article de blog: " Coma AI ". J'aime la façon dont l'auteur relie la complexité de l'IA aux niveaux de coma. Donc par cette définition, on pourrait l'appeler "Coma niveau 4":

Le niveau 4 (confus et agité) est le standard AGGRO AI. Vous rencontrez une créature dans Final Fantasy? Il vous attaquera, peu importe qui vous êtes. Même les jeux avec une IA avancée comme Fallout 3 en ont. Errant à travers les Terres Désolées, les Gens et les Animaux m'attaqueront sans raison apparente. Il n'y a aucun moyen que vous puissiez en parler. Je me souviens de l'épopée «Je veux guérir les loups».

Mais ce n'est évidemment pas tout à fait ce que vous recherchez.

Malheureusement, je n'ai jamais entendu parler d'un nom officiel, mais je ne suis en aucun cas un expert en IA. Tout ce que je sais, c'est que je le vois le plus souvent orthographié "aggro", qui est bien sûr court pour "agressif", qui a deux g, pas un comme vous l'avez orthographié.

Ricket
la source
Vous avez raison, j'ai mal orthographié par osmose: en le lisant souvent sur les canaux de discussion (un peu comme le mot imba), j'ai commencé à utiliser cette version. L'une des parties les plus stupides de l'IA, comme vous l'avez mentionné, est que vous pouvez être un niveau 5000 et franchir le niveau 10 et qu'il attaquera.
Chris S
De nombreux jeux le référencent comme "Menace", ce qui peut vous aider à rechercher l'algorithme standard (s'il en existe un).
Chris Ridenour
1
«Haine» est également un terme vaguement standard.
coderanger
"vous pouvez être un niveau 5000 et dépasser le niveau 10 et il attaquera", ce n'est pas vrai dans WoW. Le rayon de la menace diminue plus l'écart de niveau entre vous et la foule est grand.
Adam Harte du
@TandemAdam d'après ce dont je me souviens, vous pouvez toujours chevaucher un monstre de niveau 10 dans WoW (et être le plus haut niveau) et la plupart attaqueront. Ce serait bien si cela courait dans la peur
Chris S
2

En plus de la modélisation "aggro" mentionnée par Ricket, un autre état courant de l'IA est "la laisse". Si un PNJ s'éloigne trop de son point d'apparition, il y retourne et guérit rapidement au maximum. Ceci afin d'éviter un cerf-volant excessif .

coderanger
la source
1

Il n'a pas de vrai nom. Ce n'est pas une sorte d'algorithme «accepté». C'est juste bon marché et facile à implémenter comme une machine d'état triviale. Si l'ennemi est inactif et que le joueur est assez proche, changez l'ennemi en agressif. Les MMO continuent de l'utiliser car il est facile de travailler avec.

Kylotan
la source
0

L'IA dans les MMO est assez ignorante. Vous avez affaire à un monde où vous avez le potentiel d'atteindre des millions de joueurs aux compétences variées. Si l'IA dans les MMO était vraiment présente, vous verriez des créatures se précipiter constamment pour attaquer vos guérisseurs, puis pourchasser les porteurs de tissu, etc. Mais nous ne voyons pas cela. Nous voyons un système qui donne à un mob x des points de vie et un taux d'attaque en fonction de son niveau, et une faction sous laquelle il tombe (ce qui fait qu'il attaque les gens dont la faction diffère). Ils s'exécutent (parfois) lorsque la santé <y, et peuvent déclencher plus de mobs pour aider si la condition x est remplie. Le système peut faire un jet DX pour voir si l'attaque / le sort frappe ou non, et part de là. Si un joueur attaque beaucoup (augmentant la menace), les créatures se tournent vers ce joueur. Donc, ce système est très, très basique. Il n'y a aucun moyen pour un joueur occasionnel de retourner un '

De là, nous entrons dans des rencontres «avancées» qui plaisent à la foule acharnée. Mais même ceux-ci ne sont pas entièrement automatisés par l'IA - ce sont des événements scriptés. Une fois qu'une guilde de haut niveau prend une semaine et découvre comment tuer le roi des rêves, elle peut transmettre les détails de la rencontre aux joueurs occasionnels.

Je me souviens dans EverQuest que vous pouviez commencer une conversation avec des PNJ et déclencher différentes actions en disant certaines choses! Un peu d'IA linguistique.

David McGraw
la source
0

La première version de cela que j'ai jamais vue était dans l'ancien jeu roguelike Moria. Chaque espèce de monstre a un paramètre aaf, ce qui signifie zone d'effet. Si vous êtes en dehors de l'aaf du monstre, il ne bouge pas du tout.

gris
la source