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
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 .
la source
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.
la source
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.
la source
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.
la source