大多数MMO用于怪物或小怪的AI /算法的名称是什么?


11

大多数MMO会使用(愚蠢的)AI的标准名称吗?当您在某个半径范围内时,您会“ aggro”一个怪物/生物,而当该怪物/怪物追逐角色一定时间或距离时,你试图逃跑?

Answers:


11

我认为每个人都以“ aggro”这个名字参加比赛,但是这很可能是新兴行为(简单规则系统的副作用,例如Boids)。我认为很可能使用加权决策树来实现。为了举例说明为什么该系统会产生有趣的结果,请考虑以下几点:

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

然后将对附近的每个玩家和暴民子组(笛卡尔积)执行该决定。然后整个暴民将遵循如下决策树:

    Start
      |
Combined results
More flee  More fight                    All pass
|          |                             |
Flee       Attack own fight result;      Attack individuals
           otherwise, attack the player
           with most fight results.
  • 暴民看到一群接近的玩家;并开始朝他们进攻(威胁距离低,因为距离高)。当他们靠近时,威胁就变得太多了,他们就逃跑了(即,他们意识到自己被咬的东西超过了自己的咀嚼能力)。
  • 如果玩家等级较低,则假设某位玩家获得了非常高等级的物品,而暴民会继续攻击他们。突然,一个玩家输出疯狂的DPS和暴徒逃跑。
  • 如果一个玩家更具威胁性,那么大多数暴民都会将注意力集中在他身上(因此,您的经典农业机制也是如此)。
  • 一队球员组成了一个不该参加的小组。暴民侧重于个人玩家,给他们战斗的机会;如果他们不能打败暴民,那么一些人也许就能自食其力。

这里的要点是,使用两个非常简单的决策树构建了一个非常优雅但可预测的系统。

旁注:所需的某些结果意味着在特定的时间限制内不应进行重新评估(例如,应将Flee作为20秒的“ Scared” debuff应用);否则,您将得到非常奇怪的结果(例如无限的逃跑攻击反馈)。


4

我想,Guild Wars只是将其称为“ Aggro ”,或者至少是该算法的主变量被称为。

我还以博客文章“ Coma AI ” 的形式对其进行了巧妙的修改。我喜欢作者如何将AI复杂性与昏迷程度联系起来。因此,根据此定义,它可以称为“ Coma 4级”:

级别4(困惑和激动)是标准的AGGRO AI。您在《最终幻想》中遇到过任何生物吗?无论您是谁,它都会攻击您。甚至《辐射3》等具有高级AI的游戏也拥有它们。在荒原中徘徊,人与动物无缘无故攻击我。您无法说服他们。我想起了史诗般的“我想治愈狼”的逃避现实文章。

但这显然不是您想要的。

不幸的是,我从未听说过任何正式名称,但无论如何我都不是AI专家。我所知道的是,我最经常看到的是它的拼写为“ aggro”,这当然是“ aggressive”的缩写,它有两个g,而不是像您拼写的那样。


没错,我的渗透拼写错误:我经常在聊天频道中读错了拼写(有点像imba这个词),我开始使用该版本。您提到的AI最愚蠢的部分之一是您可以达到5000级并超过10级,然后他会发起攻击。
克里斯·S

许多游戏都将其称为“威胁”,以帮助您搜索标准算法(如果存在)。
克里斯·里德诺

1
“仇恨”也是一个模糊的标准术语。
coderanger

“您可以达到5000级并超过10级,他就会进攻”,这在《魔兽世界》中并非如此。威胁的半径减小,您和暴民之间的等级差距越大。
亚当·哈特

我记得@TandemAdam,您仍然可以在魔兽世界中骑过一个等级10的怪物(并且是最高等级),并且大多数都会进攻。如果担心的话,那就太好了
克里斯·S

2

除了Ricket提到的“ aggro”建模外,另一个常见的AI状态是“牵引”。如果一个NPC离它的产卵点太远,它将移回那里并迅速恢复原状。这是为了防止风筝过多。


1

它没有真实名称。这不是任何一种“可接受的”算法。作为一个简单的状态机,它既便宜又容易实现。如果敌人闲置并且玩家距离足够近,则将敌人切换为攻击型。MMO只是继续使用它,因为它很容易使用。


0

MMO中的AI非常无知。您正在与一个有潜力触及数百万不同技能的玩家的世界打交道。如果真的存在MMO中​​的AI,您会看到生物不断冲向治疗者,然后追赶穿衣服的人,等等。但是我们没有看到。我们看到一个系统,该系统根据生物的等级以及其所属的派系提供暴民的生命值和攻击等级(这使其攻击派系不同的人)。当健康<y时,它们会(有时)运行,如果满足条件x,它们可能会触发更多的小怪来提供帮助。系统可能会进行DX滚动查看攻击/法术是否命中,然后从那里继续。如果一个玩家在进行大量攻击(扬起威胁),则生物会转向该玩家。因此,该系统非常非常基础。随便的玩家都无法翻转“

从那里开始,我们确实遇到了一些吸引硬核人群的“高级”遭遇。但是即使是AI也不完全自动化-它们是脚本事件。一旦一个高级公会花了一周的时间并弄清楚如何杀死梦之王,他们便可以将遭遇细节传递给休闲玩家。

我记得在EverQuest中,您可以与NPC进行对话,并且可以通过说某些话来触发不同的动作!一些语言AI。


0

我见过的第一个版本是在古代roguelike游戏Moria中。每个怪物物种都有一个参数aaf,即影响面积。如果您不在怪物的aaf范围内,它根本不会移动。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.