Is there a standard name for the (fairly dumb) AI that most MMOs use where you 'aggro' a monster/mob when you are within a certain radius of it, and the monster chases your character for a set amount of time or distance when you attempt to run away?
|
feedback
|
|
I think everyone is on the ball with the name "aggro," however it's probably emergent behavior (side-effects from simple rule systems, e.g. Boids). I would think it would most probably be achieved using a weighted decision tree. To give you an example of why this system would have interesting results consider this:
This decision would then be executed for each player and mob sub-group (Cartesian product) in the vicinity. The entire mob would then follow a decision tree like:
The point here is that a very elegant, but predictable, system was built up using two very simple decision trees. side note: Some of the results required mean that re-evaluation should not occur for a specific time limit (e.g. Flee should be applied as a 20s 'Scared' debuff); otherwise you would get very strange outcomes (e.g. infinite flee-attack feedback). | |||
|
feedback
|
|
Guild Wars just calls it "Aggro", or at least that's what the algorithm's main variable is called, I suppose. I also found a neat take on it, in the form of a blog post: "Coma AI". I like how the author relates AI complexity to coma levels. So by this definition, it could be called "Coma level 4":
But that's obviously not quite what you're looking for. Unfortunately I've never heard of any official name for it, but I'm not an AI expert by any means. All I know is that I most commonly see it spelled "aggro", which is of course short for "aggressive", which has two g's, not one like you spelled it. | |||||||||||||
feedback
|
|
In addition to "aggro" modeling mentioned by Ricket, another common AI state is "leashing". If an NPC gets too far from its spawn point it moves back there and rapidly heals to full. This is to prevent excessive kiting. | |||
|
feedback
|
|
It has no real name. It's not any sort of 'accepted' algorithm. It's just cheap and easy to implement as a trivial state machine. If enemy is idle and player is close enough then switch enemy to aggressive. MMOs just continue to use it because it's easy to work with. | |||
|
feedback
|
|
AI in MMOs are pretty ignorant. You're dealing with a world where you have the potential to reach millions of players all of varying skill. If AI in MMOs were really present you would see creatures constantly rush attack your healers, then go after the cloth wearers, etc. But we don't see that. We see a system that gives a mob x health and an attack rating depending on it's level, and a faction that it falls under (which makes it attack people whose faction differs). They run (sometimes) when health < y, and might trigger more mobs to help if condition x is met. The system might do a DX roll to see if the attack/spell hits or not, and goes from there. If one player is attacking a lot (raising threat), creatures turn to that player. So this system is very, very basic. There's not a way for a casual player to flip a 'casual' switch. From there we do get into some 'advanced' encounters that appeal to the hard-core crowd. But even these are not fully automated by AI -- they're scripted events. Once a high level guild takes a week and figures out how to kill the King of Dreams, then they can pass the encounter details to casual players. I remember back in EverQuest that you could start a conversation with NPCs and you could trigger different actions by saying certain things! Some linguistic AI. | |||
|
feedback
|
|
The first version of this I ever saw was in the ancient roguelike game Moria. Each monster species has a parameter aaf, meaning area-of-affect. If you're outside the monster's aaf, it doesn't move at all. | |||
|
feedback
|