Respostas:
Acho que todo mundo está na bola com o nome "aggro", no entanto é provavelmente um comportamento emergente (efeitos colaterais de sistemas simples de regras, por exemplo, Boids ). Eu acho que provavelmente seria alcançado usando uma árvore de decisão ponderada. Para dar um exemplo de por que esse sistema teria resultados interessantes, considere isso:
Start
|
Player threat (based on player level, distance, DPS, etc.)
Very High High Low
| | |
Flee Fight Pass
Essa decisão seria executada para cada jogador e subgrupo mob (produto cartesiano) nas proximidades. A multidão inteira seguiria uma árvore de decisão 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.
O ponto aqui é que um sistema muito elegante, mas previsível, foi construído usando duas árvores de decisão muito simples.
nota lateral : Alguns dos resultados exigidos significam que a reavaliação não deve ocorrer por um prazo específico (por exemplo, Flee deve ser aplicado como um debuff 'Scared' dos anos 20); caso contrário, você obteria resultados muito estranhos (por exemplo, feedback infinito de ataques de fuga).
Guild Wars apenas chama de " Aggro ", ou pelo menos é assim que a principal variável do algoritmo é chamada, suponho.
Eu também encontrei uma abordagem interessante, na forma de um post no blog: " Coma AI ". Eu gosto de como o autor relaciona a complexidade da IA aos níveis de coma. Então, por essa definição, poderia ser chamado de "nível 4 de coma":
O nível 4 (confuso e agitado) é o padrão AGGRO AI. Você encontrou alguma criatura em Final Fantasy? Irá atacá-lo, não importa quem você é. Até jogos com IA avançada como Fallout 3 os possuem. Vagando pelas Terras Desertas, Pessoas e Animais vão me atacar sem motivo aparente. Não há como você convencê-los disso. Lembro-me do artigo épico “Quero curar os lobos”. Escapista.
Mas isso obviamente não é exatamente o que você está procurando.
Infelizmente, nunca ouvi falar em nenhum nome oficial para ele, mas não sou especialista em IA de forma alguma. Tudo o que sei é que geralmente o vejo soletrado "aggro", que é obviamente a abreviação de "agressivo", que tem dois g's, e não um como você soletrou.
Além da modelagem "aggro" mencionada por Ricket, outro estado comum da IA é o "leashing". Se um NPC ficar muito longe de seu ponto de reprodução, ele volta para lá e rapidamente se recupera. Isso é para evitar kite excessivo .
Não tem nome verdadeiro. Não é nenhum tipo de algoritmo 'aceito'. É apenas barato e fácil de implementar como uma máquina de estado trivial. Se o inimigo estiver ocioso e o jogador estiver próximo o suficiente, troque o inimigo para agressivo. Os MMOs continuam a usá-lo porque é fácil trabalhar com eles.
A IA nos MMOs é bastante ignorante. Você está lidando com um mundo em que você tem potencial para alcançar milhões de jogadores com habilidades variadas. Se a IA nos MMOs estivesse realmente presente, você veria criaturas constantemente atacando seus curandeiros, depois perseguindo os usuários de tecidos, etc. Mas não vemos isso. Vemos um sistema que fornece uma saúde mob x e uma classificação de ataque, dependendo do seu nível, e uma facção em que ele se enquadra (o que o faz atacar pessoas cuja facção é diferente). Eles são executados (às vezes) quando a saúde <y, e podem acionar mais multidões para ajudar se a condição x for atendida. O sistema pode fazer um teste de DX para ver se o ataque / feitiço bate ou não, e vai a partir daí. Se um jogador está atacando muito (aumentando a ameaça), as criaturas se voltam para ele. Portanto, este sistema é muito, muito básico. Não há como um jogador casual jogar um '
A partir daí, entramos em alguns encontros "avançados" que atraem a multidão do núcleo duro. Mas mesmo estes não são totalmente automatizados pela IA - são eventos com script. Quando uma guilda de alto nível leva uma semana e descobre como matar o King of Dreams, eles podem passar os detalhes do encontro para jogadores casuais.
Lembro-me no EverQuest que você poderia iniciar uma conversa com os NPCs e desencadear ações diferentes dizendo certas coisas! Alguma IA linguística.