欢迎光临散文网 会员登陆 & 注册

所见非所得:玩家对AI的感觉 | Game AI Pro

2020-04-28 23:49 作者:有木乘舟  | 我要投稿

What You See Is Not What You Get Player Perception of AI Opponents

Baylor Wetzel and Kyle Anderson

4.1 Introduction

  对很多人来说,即使是游戏开发人员,开发出一个战胜玩家的游戏AI是一件很合理的事情。  从花了钱买游戏的玩家角度来看,这显然是一个糟糕的主意。因为玩家只想玩的开心。

  如果我们想制作一个玩家喜欢的人工智能,我们需要了解玩家是如何看待人工智能的。我们设置一个实验,一组玩家与24个AI对手进行回合策略游戏;根据难度、真实性和趣味性对他们进行排名;并解释他们认为的每个人工智能的策略是什么。实验结果发现,玩家不善于确定人工智能的策略,也不善于发现随机性和作弊行为。知觉困难与现实主义高度相关,但实际困难的相关性仅为中等。复杂的技术往往能获得更高的分数,但对玩家来说,似乎并不比简单得多的人工智能更困难、更现实或更有趣。没有一个因素与球员喜欢与某个特定对手比赛的程度高度相关。

4.2 The Game

  我们制造了各种类型的人工智能对手、NPC和系统,我们知道不同的类型有不同的人工智能需求。我们的目标是学习一些普遍的东西,但我们的测试必须以一个特定的游戏为基础。我们想要玩家能更充分的测试人工智能对手;我们想要人工智能   这样一个人工智能对手,它能让玩家更充分的测试人工智能;我们想要人工智能更持久的表现出某些性能。我们希望人工智能有很多选择,因为它给了玩家更多的机会来研究人工智能。我们想要更好的游戏平衡和平等的资源,就像国际象棋游戏,我们希望AI和玩家拥有同样多的选择和获胜的概率。我们猜测如果玩家面临和AI相同的选择,那么玩家就更能够理解AI的策略。也许在我们最具争议的决定中,我们决定我们想要一个时间不是因素的游戏;我们相信面对时钟的玩家有更少的时间去担心人工智能在想什么。

  最后,我们决定建立一个回合为基础的战略游戏。我们的游戏基于《魔法门之英雄无敌》制作,一个平衡的游戏给玩家和人工智能许多战略选择。在我们的游戏中,每个玩家控制10支军队,其中一支军队是一堆相同类型的单位。玩家从精灵、恶魔、九头蛇、十字军、冰龙和骨龙等46种单位中挑选。单位属性包括明显的候选属性,如健康、伤害范围、攻击和防御(分别是伤害乘数和除数)以及速度(控制哪个单位先走)、伤害类型(火、毒等)、抵抗力,最后是花费。每个玩家都有相同的钱来购买他们的军队。然而,在我们的测试中,我们要求双方在每场比赛中都使用随机的军队,我们相信这会迫使玩家更多地考虑他们和人工智能的策略。

  就像游戏《Heros》一样,我们也有持续性伤害攻击,有些单位会更倾向于进攻或防守,有些单位会比其他单位强大得多。看到500个小鬼和一条黑龙搏斗并不少见。人工智能决定攻击谁是人工智能目标和思维过程的线索,我们想知道玩家是否能理解人工智能在想什么。由于boss倾向于使用范围攻击,这显示不出AI的智能,所以我们其从boss战中移除。

  对于那些熟悉《魔法门之英雄无敌》的玩家来说,我们做了一些其他的改变来简化游戏;去掉士气调整,增加和调整一些单位,以更好地支持平衡和战略使用。最重要的变化是,我们移除了运动,因此任何需要空间推理的单位都可以从它们所处的位置进行战斗,并且可以攻击任何其他单位。这使得玩家可以有更多的选择去决定攻击谁,再次让玩家有更多的机会来检验人工智能的决策能力。我们试图利用每一个让玩家去体验人工智能的决策行为。

  就像英雄无敌一样,除了伤害范围之外,游戏中没有随机性。单位不会丢失( Units do not miss?)。这将重点放在决策上(对本研究很重要),而不强调运气的影响。

  总结一下我们的游戏,双方都有一组随机的单位。人工智能必须决定使用哪支军队和攻击哪支敌军。军队的规模、兵力和防御力都有很大的不同。它们可能会使用元素攻击和抵抗随时间变化的伤害效果。玩家看不到人工智能的思维过程,但他们确实看到人工智能在每场游戏中做出的几十个决定,并且有足够的时间来观察和思考这些决定。

4.3 AI Design Goals

  在我们能够对玩家在人工智能对手身上所做的和没有注意到并欣赏到的事情进行实验之前,我们需要决定作为人工智能设计者在开发人工智能时对我们来说什么是重要的。 我们制定了以下几个目标:

  • 对于玩家,我们关心人工智能的整体能力、可见错误率、可见错误严重性以及玩家对人工智能的感知。

  • 对于开发人员来说,我们关心人工智能的复杂性和实现难度。

  我们为实验创建的AIs就是根据这些目标设计的。

  对我们来说,玩家感知意味着玩家对人工智能的难度和真实性的看法,以及与之对抗的乐趣。作为其中的一部分,我们创建了AIs,它展示了某些常见的人类行为(坚持和复仇,在下一节中解释),并试图巧妙地让玩家获胜。我们没有做的一件事是,让AIs有深刻而不合逻辑的个性。正如在结果部分所讨论的,这并不能阻止玩家相信我们已经设计出了真实的AI。一项关于个性特征如何影响玩家对人工智能代理感知的科学研究是未来实验的一个有趣课题。

  复杂度是指人工智能程序的复杂程度。虽然在商业游戏中并不常用,但程序员通常会考虑使用诸如深度学习、博弈论、马尔可夫链蒙特卡罗模拟和遗传算法等技术。实现难度是指构建一个人工智能的难度。复杂的人工智能不一定要花很长时间(尤其是在使用库的情况下)。一个使用大量变量的简单人工智能可能只需要很短的时间来创建,但需要很长的时间来优化。

  对于这两个因素,相关的问题是,“玩家是否注意、欣赏或关心人工智能的技术或复杂性?”换言之,游戏制作成本不低,我们是不是把时间和金钱花在了正确的事情上?

  我们所说的综合能力,是指它多久获胜一次?可见错误率是指玩家注意到的人工智能所犯的错误。所谓明显的错误严重性,我们并不是说人工智能犯了一个导致它输掉比赛的错误,而是说人工智能犯了一个导致玩家思考的错误,“哇,这个人工智能真的很愚蠢。”如果一个人工智能的对手打败了一个玩家,但是犯了一个人类不会犯的愚蠢的错误,玩家会被打动吗?或者他们会专注于这个愚蠢的错误吗?我们首先认真考虑了这个问题,其中一位作者与一个台球人工智能打了一个只有一个非常好的球员才能打的困难的球,然后错过了三个简单的球,这是任何业余选手都可以打进的球。人工智能犯了不该犯的错误,这会强烈提醒玩家他(她)只是在和电脑玩,这可能导致玩家退出游戏。这些错误在台球游戏中可能比回合策略游戏更为明显,但这是所有类型的游戏人工智能开发人员都应该考虑的问题

4.4 Visible AI Traits

  人工智能对手可以给玩家带来什么谈资?我们当然不希望玩家注意或关心人工智能是使用行为树、影响图还是某种延迟的、时间分割的人工智能技术实现的。但我们希望他们注意到什么?  

  这个重要的设计问题影响到我们想要制造的AIs的类型。在这个实验中,我们决定了人工智能对手的八个特性:可用信息的使用、直接信息与摘要信息的使用、技术复杂性、可预测性、策略显而易见性、持久性、报复性和拥挤性。

4.4.1 Available Information

  当我们谈论一个人工智能是否使用可用信息时,我们谈论的是人工智能选择使用多少相关和可用的信息片段。

  • 攻击得分最高的敌人,只需要一条信息。

  • 攻击你能造成最大伤害的敌人至少需要两点:你能造成多少伤害,敌人的防御能力。

  • 攻击你这回合能杀死的敌人至少需要三点你能造成的伤害,敌人的防御能力,敌人当前的健康状态。

  如果目标策略说明了伤害类型(例如,对木制敌人使用火力攻击或避免对金属敌人使用毒药攻击),则需要另外两条信息。如果每个游戏人工智能都使用了所有可用的相关信息,那么就不需要再这个实验中做测量了,但是我们已经玩了足够多的3A游戏人工智能,它们用火(或用火攻击的防火生物)来灭火,以便更好地了解。

4.4.2 Direct versus Summary Information

  假设一个人工智能知道怎么以通过使用关于这个单位的低级信息来计算一个给定的敌人有多强大。例如,单位强度可能由其攻击、防御和起始生命值决定。这些值很容易跨单位进行比较。关于哪个单位先攻击的信息,相对于健康和攻击强度来说更难衡量。

  特殊能力(取决于能力)很难评估。例如,如果第一人称射击中的一个单位在攻击时有10%的机会不消耗弹药,那么这是否会使他们比健康度高5%的同类单位更强或更弱?

  人工智能设计师可以创建一个复杂的公式,该公式可以考虑所有相关因素,然后平衡每个术语的权重,或者他们可以采用快速简便的方法,使用一些可能总结了所有信息(如单位成本)的东西。想攻击最危险的敌人吗?攻击成本最高的那个。并不是所有的游戏都有单位成本,但有些游戏有等级,而在其他游戏中,最大健康是整体单位强度的一个很好的代表。

  这就是我们所说的使用直接信息和摘要信息。使用摘要信息更容易,而且有可能捕获难以衡量的因素的价值,例如需要花费大量时间(因此也需要金钱)才能正确衡量的特殊能力。它可能(或者可能不会)导致产生一个不太有能力的人工智能,但重要的问题是,玩家会注意到吗?

4.4.3 Technique Complexity

  技术复杂性是指人工智能技术有多复杂。复杂的技术可能因为使用复杂的公式而变得复杂,也可能因为使用了有趣的人工智能技术而变得复杂。相比之下,一个简单的技术可能只花了几分钟来思考和实现。后者有很多优点,从花更少的时间实现(更小的几率延期)和更少的成本(因人工成本,试错成本)到更容易调试。缺点是人工智能可能会越来越笨,导致人工智能对手没那么有趣。这是假设玩家可以区分一个花哨的人工智能和一个简单的人工智能,这是本实验中的问题之一。

4.4.4 Predictability

  可预测性是指人工智能的行为是可预测的。策略可见性是指能简单的解释出人工智能的策略行为。如果人工智能随机选择目标,人工智能的行为基本上无法预测,但人工智能的目标选择策略是显而易见的。这个实验验证了这个假设。

4.4.5 Persistency

  坚持是指人工智能倾向于专注一个选择并持久的执行它。一个选择一个敌人却从不放过他们的人工智能是坚持不懈的。一个每转一次都切换目标的人工智能不是。我们在一年的时间里做了多次实验。这项测试的早期版本显示,人类倾向于专注一个目标,而一个频繁切换目标的人工智能被视为“计算机”,我们在这些早期测试之后添加了这一特性。

4.4.6 Revenge

  另一个类似人类的特征是复仇。被特定敌人攻击的人类玩家倾向于将注意力集中在敌人身上,并因攻击敌人而惩罚敌人。将这种行为添加到人工智能中是快速而简单的。理论上,它赋予了人工智能更多的个性,让它看起来更人性化

4.4.7 Hustling

  我们用“推销”这个词来代替欺骗,因为两者背后的意图是不同的。当我们说有人作弊时,我们通常是指这人篡夺了不属于他的胜利果实。当我们说一个人在向你“推销”的时候,我们通常是在说这个人正在装狠,积极的去玩游戏,这样当你输了的时候,就会觉得只差一点点就能赢了。当我们在游戏AI中使用术语hustling时,我们谈论的是一个AI对手,他做出了微小的、不可察觉的、但似乎可信的改变,结果导致玩家仅仅是勉强获胜。

  我们有两个目标:玩家必须相信AI尽了全力,当玩家击败了人工智能时会认为是自己技术高超。我们不希望人工智能犯下明显的错误,如果人工智能遥遥领先,以至于玩家无法获胜,我们希望人工智能无情地粉碎玩家,这样当他们最终击败人工智能时,他们会觉得自己打败了一个有价值的对手。对于我们的一些人工智能,当人工智能显著领先时(例如,如果它通常造成20-40点伤害,则将范围降低到20-30),通过掷骰子来完成“推销”这一行为。其他人也选择了第二个最好的目标,如果这个目标也是合理的(在排名第一的目标价值的20%以内)。一个人工智能切换到第二个策略,仍然是好的,如果它太超前的话。作弊是可以的(而且通常计算效率高,这在计算资源有限的情况下很重要),但重要的是,人工智能不能被发现作弊。如果做的正确,玩家不应该注意到人工智能作弊,但应该觉得他们是靠自己获胜的。

4.5 The AIs We Created

  我们试图创造人工智能对手,他们在上述人工智能属性和内部都有所不同(例如,多种低复杂度技术)。最后,我们创造了51个人工智能对手,尽管只有22个在这些实验中使用。

  • PowerCalculationFancy,它使用了一个复杂的、手动调整的公式;

  • TeamDamaGementCarlo,它使用模拟来计算敌方团队在给定目标被攻击前后能造成的集体伤害;

  • HighestStackHealth,它选择综合生命值最高的敌军;

  • HighestStackAdjustedHealth,选择综合生命值乘以其防御值最高的敌军。

  • 低复杂度的AIs包括Alphabetical和LongestName,它们根据敌人的名字来选择敌人。

  这些显然不是很好的人工智能,但他们可以很好的测试,玩家是否可以找出一个人工智能的策略方法。它们还提供了一个关于人工智能性能的基准,使评估更严格的人工智能方法变得更容易。

  • HighestStackCost使用单位成本作为攻击指标,攻击单位成本最高的小队。

  • PersistentHighestStackHealth 和 PersistentHighestStackCost 分别按生命值和消耗值选择一个目标,然后在目标上停留直到它们被摧毁。

  • IndividualRevenge 攻击第一个攻击他们的单位,直到这个单位被击败,不然一直将目标放在该单位上。

  • TeamRevenge 每个人工智能攻击第一个攻击他们的敌人。

  • RandomBot 随机攻击敌人。

  • TK攻击随机队友(不是很好的人工智能)。

  • TopDown 攻击离屏幕顶端最近的军队。

我们创建了这些人工智能作为玩家推断人工智能策略的基准。

  • Wolf 的策略是挑出弱者和伤员,这是通过随机攻击来实现的,直到一个单位降到50%以下,这时每一个人工智能军队都会攻击这个单位。

  • Gentleman 只根据大小挑选敌人(其中大小=级别;如果没有,则挑选更大的敌人;还没有的话,则挑选较小的敌人)。

  • AlternatingStrategies 在HighestStackCost 和 HighestUnitHealth之间切换。

  • PingPong 给每一个敌人分配一个分数,并选择其中一个最好的;敌人的选择是随机的,但由他们的分数加权得到。

  • 当ShareBear拥有一支具有随时间变化的伤害效果的军队时,它会寻找尚未受到影响的敌人单位(随时间变化的伤害不会在游戏中叠加)。如果没有,它会攻击能造成最大伤害的敌人小队。

  • HighestStackAdjustedHealthManaged, HighestStackCostManaged, PowerCalculationFancy, 和 TeamDamageMonteCarloManaged 是“推销”人工智能。他们巧妙的控制着与玩家的优势关系,不会让玩家感到太大压力。

  •  TeamDamageMonteCarloManaged 当太超前的时候将策略调整为 HighestStackAdjustedHealth。

4.6 The Test

  这个实验重复了四次,但是这里报告的结果来自于最后的实验,这个实验是由12个游戏设计专业的学生进行的。这并不是一个巨大的样本量,但考虑到一些数据的定性性质、与早期结果的一致性以及我们现有的资源,这并不是一个糟糕的数据。

  受试者被要求与22个人工智能对手中的每一个进行多场比赛,追踪他们的胜负。所有比赛都在同一天进行,对手的顺序是随机的。每局比赛结束后,他们对人工智能对手的乐趣、真实感和难度进行了五分制的评分。他们也写了一个简短的解释,他们认为人工智能的策略是什么。

4.7 The Numbers

  我们将从AIs的表现开始。表4.1显示了每个人工智能赢得多少场比赛。得分最高的人工智能是ShareBear,它的显著特点是,如果它有一支能够造成持续伤害(DoT)的军队,它的攻击目标将是没有被持续伤害覆盖到的敌军。 否则,它会攻击能造成最大范围伤害的敌军(但不考虑军队的攻击分数,使度量标准具有误导性)。下一个得分最高的人工智能使用了一个手动调整的公式,该公式考虑了许多变量。做得差不多是一个向前看的蒙特卡罗算法。表现最差的人工智能使用了一些无意义的策略,比如根据他们的名字、屏幕上的顺序或只是随机选择军队。

  目前还不清楚该如何评价这些算法的性能。PowerCalculationFancy 赢了71%的局,won 71%,PowerCalculationFancyManaged赢了57%。考虑到一个优秀的人工智能目的是为了提供足够的难度,来供玩家挑战,而不是不断的获胜,所以57%的胜率是接近我们所希望的。在每一个例子中,一个算法的“推销”版本比非“推销”版本赢得的游戏要少,但是在蒙特卡罗算法的例子中,它的表现明显不佳,30%对70%。

  感知困难得分(表4.2)的分布要小得多,除了一个在5分制上的AIs得分在3.0到3.6之间,超过三分之一的AIs得分在3.5到3.6之间。尽管实际分数显示的不是这样,但玩家们认为“推销”AIs和非“推销”AIs一样困难,这意味着玩家们没有注意到AIs是为了玩家的利益而作弊的。有趣的是,得分最高的人工智能被认为是第二容易被打败的人工智能,而第二难的人工智能则被认为与根据名字长短来攻击的人工智能一样的难。 

  表4.3显示了玩家对每个人工智能的真实感受,表4.4显示了他们对每个人工智能的喜爱程度。有趣的是,LongestName,一个完全荒谬的策略,在真实性排名第四,在乐趣性排名第五。Alphabetical 分别排在第六和第七位。我们认为我们可以在下一节解释原因并这样做。

  

  前面的表格包含了一些惊喜,但没有表4.5那么多。表4.5显示了多少受试者能够确定每个人工智能的策略。如果他们描述了与人工智能策略的要点大致相似的内容,则给出满分;如果他们描述了策略的相关(如果不是核心)方面,则给出部分分数。我们在评分上相当宽容,但即便如此,尽管玩家们有很多机会去研究人工智能对手,策略识别几乎不存在。只有两个AIs的策略被大多数玩家发现,一个是TK,它攻击自己的队友,另一个是TopDown,它攻击离屏幕顶端最近的军队。前者具有独特的、令人难忘的、令人震惊的行为,而后者则利用了玩家的空间推理能力(这项实验似乎表明,即使在不相关的领域,空间推理也起着重要作用)。大约83%的玩家无法识别一个只不过是随机数发生器构成的人工智能。

  我们认为这是一个重要的发现----玩家不知道你的人工智能在做什么。我们没指望玩家会认出一个正在运行的蒙特卡罗算法。我们认为玩家无法区分花式人工智能(PowerCalculationFancy)、简单人工智能(HighestStackHealth)和间接测量人工智能(HighestStackCost),这一点很重要,但并不奇怪。我们希望玩家们不能区分那些尽力的AIs和那些故意让玩家感觉自己更厉害的AIs。但令我们惊讶的是,玩家完全无法察觉甚至是明目张胆的、故意的类似人类的行为,比如让整个团队注意第一个攻击他们的人(团队复仇),也无法辨别人工智能何时在改变策略(交替策略)。

  (旁白:虽然普通玩家可能无法快速确定一个人工智能的策略,并且可能对进行实验来解决它不感兴趣,但互联网是一个很大的地方,如果你的游戏有足够的玩家,最终会有人发现并在某个地方发布。我们让你来决定这是件坏事,还是给你的积极性更高的玩家一个找彩蛋的机会。  )

    表4.6显示了各种测量值之间的关系。相关分数在1到-1的范围内,1表示它们完美地移动在一起,-1表示它们朝相反的方向移动,0表示它们之间没有联系。注意,策略识别相关性被忽略了,因为玩家除了两个策略之外,无法识别所有的策略,使得分析变得毫无意义。

  

  感知到的困难与除乐趣之外的一切都有着密切的关系。实际困难与感知困难有很强的相关性,与真实性有适度的相关性。在这两种情况下,难度都与真实性有关。这或许和其他人发现的一条有趣规则相一致----只要让敌人变得更难杀死,就能让人工智能显得更聪明。  不幸的是,乐趣与任何事情都没有关系。一个人对人工智能对手的喜爱程度似乎与人工智能的难度或现实程度无关。

4.8 The Explanations

  玩家通过研究AI每个回合攻击的是哪个玩家的军队来决定AI的策略。我们对两件事感兴趣。首先,他们是否有足够的信息来确定人工智能的属性,比如它的策略和策略的复杂性?第二,他们认为策略是什么?

  为了理解玩家的推理过程,举个例子是有帮助的。假设玩家拥有表4.7所示的军队。他们与四个对手交手,在第一回合中,他们按照表4.8中规定的顺序进攻他们的军队。

  最大伤害是一个单位造成的基础伤害。调整后的伤害计算为单位伤害乘以单位数量乘以攻击得分。在战斗中造成的伤害是调整后的伤害除以目标的防御。

  因为我们只看第一回合的战斗,所以我们无法确定前一节中描述的一些人工智能属性。我们忽略了复仇,坚持,随机性和拥挤,但仍然有我们和玩家都可以收集的信息和关键点可以制作。(一个多军队、多回合的例子在书中表现得很差。)

  花几秒钟看看你能不能搞清楚对手a的策略是什么。在这样做的时候,你把自己放在玩家的脑海中,按照他们的方式体验游戏(就像你有表4.7,玩家有一个所有单位值的电子表格)。为什么人工智能选择了他们的军队,有明显的解释吗?答案很可能是“是的”。事实上,可能有几个问题,我们将在一分钟内回到这一点。很多玩家都写着“他们正在选择最强的”,这是真的,这取决于你如何定义最强。在这种情况下,对手A选择其单位最大伤害得分最高的军队。

  对手B不那么明显。需要花点时间想想人工智能可能在想什么。你可能会注意到,人工智能不再首先选择龙,而是选择小鬼,这是游戏中最弱的单位。为什么?如果你仔细查看军队的细节,你可能会注意到那里有多少小鬼。当一个小鬼只造成2点伤害时,一堆小鬼累计造成3300点伤害,是黑龙的5倍(4*160=640)。

  对手C的攻击顺序与对手B的攻击顺序略有不同。如上所述,一支军队的实际伤害是单位伤害(对手A)乘以获得叠加伤害的单位数量(对手B)乘以该单位的攻击得分,得到调整后的伤害。对手C使用这个公式。仅仅因为这个策略是合理的,简单的,直截了当的,并不意味着玩家会想出办法。我们也不应该期望他们能。虽然比对手B的策略更复杂,但它产生的结果几乎完全相同。它还显示了跟AIs Stack Cost, Adjusted Stack Health, PowerCalculationFancy 以及其他潜在对象相同的结果(eg.,TeamDamageMonteCarlo)。而且,事实上,没有一个玩家能够确定这些AIs的策略。

  我们能从中得到什么教训?一种可能是玩家根本没有感知力、深度思考或创造力,甚至在他们被告知要研究人工智能的环境中也是如此(我们稍后会回到这个理论上来)。另一种可能是,合理或半合理的策略往往得出相同的结论。一个推论是,使用需要大量调整的多个变量的复杂策略可能不会产生玩家会注意或欣赏的结果。另一个教训可能是,在许多游戏中,特性是相互关联的。强大的单位,如龙,往往有很高的血量,攻击和伤害,而弱小的单位,如矮人,则往往相对较低。一个推论是,人工智能可能没有太多的信息可利用,除非游戏设计师有意在单位里投入大量的关键信息。 

  我们做了这样的实验,让单位攻击力与血量、防御力高度相关,反之亦然。唯一的目的就是给玩家和人工智能更多的策略选择;一个智能人工智能被浪费在一个游戏上,这个游戏的设计不允许人工智能变得聪明。既然游戏设计了人工智能,那就得让他能变得更加聪明,不然将是浪费资源。

  从表4.8上看,对手D使用的策略并不明显。这里的攻击顺序是随机的。这里没有其他任何策略----AI就是一个随机数引擎。经过几轮毫无理由的目标转换,很明显这个人工智能没有策略。或者我们是这么想的。83%的玩家无法判断人工智能是随机行为。这尤其令人惊讶,因为其他具有一致策略的人工智能通常被指责为随机的。RandomBot实际上被评为最不随机的人工智能对手之一。

  在讨论对手E之前,让我们先讨论一下我们从玩家那里得到的一些策略猜想。尽管并非详尽无遗,但表4.9中列出了几个有代表性的答案(注:表中不包括“我不知道”的答案,这在几乎所有的AIs中都很常见)。

  一些观察到的现象:

  1. 很少有玩家正确地猜到了人工智能在做什么。

  2. 不同的玩家对AIs的印象往往非常不同(例如,一个玩家说HighestStackHealth“喜欢硬汉”,而另一个玩家说HighestStackHealth“用最多的人枪杀团体”,“人数最多的团体”往往单个单位偏弱,因为一个人负担不起大量的强势单位)。

  3. 超过一半的AIs被指控没有策略,只是随机行为。

  4. 其中一个没有作弊的AIs被指控公然作弊。其中一个有利于玩家的AIs被指控公然欺骗玩家。

  5. 胡说八道的AI被认为是聪明的。

  6. 据说许多人工智能会故意在整个团队中传播毒药,以便从长远来看削弱它们。这通常被认为是AIs唯一的策略。尽管如此,22个AIs中只有一个知道如何使用点攻击,比如毒药,如果没有能够执行它们的单位(随机选择的单位,42个单位中只有两个拥有它们),那么没有一个AIs使用它们。

  7. 所描述的策略有时将个性和偏见归因于人工智能。

  

  这是我们发现最有趣的最后一点。也许我们是糟糕的游戏设计师,但我们并没有想到要赋予AIs个性,回想起来,这似乎与我们的目标相悖。玩家,作为人类,被设计成善于推断动机、意图、偏见和个性怪癖,而不是数学公式和优化。我们的很多玩家在AIs中看到了不存在的个性。一位玩家认为,HighestStackCostManaged正在模仿他们的动作。TeamRevenge 更喜欢攻击僧侣等神职。TeamDamageMonteCarloManaged显然讨厌水母、强盗、兽人和九头蛇。在《英雄无敌》中,每个单位都属于一种类型(生命、秩序、自然等),而这些都是混乱的怪物。混乱怪物显然受到了IndividualRevenge的特殊对待,据说他们利用混乱军队攻击玩家最强大的单位,而其他人则在军队中传播毒药。

  目前还不清楚为什么玩家会相信这些东西,这是不好的,因为这意味着它已经超出了游戏设计师的控制。不过,在某些情况下,玩家感知的原因是有道理的。玩家猜测IndividualRevenge总是会试图攻击冰狼。事实上,由于冰狼在游戏中的是速度是最快的,所以总是第一个攻击。因此IndividualRevenge攻击第一个攻击他的敌人,其原因是有道理的。这种行为不是个人的,只是一种策略和速度得分的人工制品,但玩家看不到复仇,他们看到的是一个对自己心爱的狗有着不合理仇恨的人工智能。

  此时我们回过头来看对手E。看看人工智能攻击的军队顺序。人工智能从黑龙和冰龙开始,然后一直到僧侣和小鬼。当被问到人工智能遵循什么策略时,玩家向我解释说人工智能讨厌龙。他们接着脑补了人工智能的一段非常生动的背景故事,这个故事描述了人工智能的家庭是如何被龙毁灭,以及他为了复仇而展开的一系列冒险。实际上,这个人工智能只是根据名字长短来选择攻击的敌人。刚好,游戏中龙往往有很长的名字 ,奇幻传说中的龙的名字有很多修饰词黑龙、青龙、冰龙、骨龙、混沌龙等等。因此,所有龙的名字都比其他单位的名字长,因此LongestName确实对龙有偏见。如果我们在游戏中没有龙的话,这种性格可能就不明显了(牛头怪、矮人和僧侣缺少黑龙、骨龙和冰龙的故事背景)。有时角色是其他看似不重要的游戏设计决策的偶然副产品。

4.9 Conclusion

  通过这些实验,我们了解了玩家和我们自己的一些事情。我们不会说这个实验的结果对其他游戏都是正确的,我们也会听取其他开发者的建议。我们相信还有很多有趣的准则可以应用于游戏,优秀的设计师会酌情选择最适合的那些。

 玩家不是特别擅长估计人工智能对手的难度。一般他们的到顺序是较好的,(但不是最好的;赢得最多的人工智能被认为是最容易击败的人工智能之一),但倾向于认为除了最差的人工智能外,其他人工智能的难度大致相等,而胜负记录则恰恰相反。作为一种基于回合的策略,人们会假设玩家有足够的机会研究人工智能的能力。但是在快节奏的游戏中,这种情况不太可能发生;虽然在许多其他游戏类型中,敌人并不因为更聪明而更难对付,而是由于更多的血量、武器等。所以,也许我们应该说,玩家并不擅长观察对手的聪明程度。

  在复杂的人工智能领域投入时间值得吗?消息喜忧参半。最复杂的人工智能比简单的人工智能表现得更好,而简单的人工智能比真正荒谬的人工智能表现得更好。不过,玩家们似乎没有注意到,一个随机选择动作的人工智能被玩家评为最难对付的人工智能对手之一,与蒙特卡罗算法平起平坐,并显著领先于前两名得分的人工智能。

  如果玩家认为人工智能很难(或者,正如我们之前所说的,更聪明),那么感知到的困难与真实性高度相关,他们也认为人工智能更真实。不幸的是,实际困难和真实性之间的关联并没有那么高。因此,很难理解这一点。玩家是因为错误地认为某个人工智能更聪明而觉得它更真实,还是因为它看起来更真实而认为它更困难、更聪明?

  我们给人工智能的对手增加了两个类似人类的特征:复仇和坚持。我们还有一个AI(狼),当一个单位受重伤时,它会改变战术,所有的单位都会攻击虚弱的敌人来彻底地杀死他。这些行为都来自于人类对玩家个性的研究。这些具有类似人类特征的人工智能没有一个在真实性方面得到高分。被认为最真实的人工智能是基于蒙特卡罗算法的,这可以说是测试中最不像人类的人工智能。我们不确定这说明了玩家对真实性的看法是怎样的。也许玩家无法理解人工智能在想什么,除了他们认为要击败对手有多困难之外,没有什么其他东西能让他们建立在现实主义的基础上。也许玩家无法理解人工智能在想些什么,只要对手看起来很难击败,那就是真实的。

  也许对很多人来说并不奇怪,玩家并不擅长发现对手是否作弊了。没有玩家评论过几个经常欺骗他们的人工智能对手,但是有几个人非常直言不讳地说人工智能是如何通过欺骗来打败他们的,尽管没有这样的人工智能存在。

  玩家推断人工智能的策略的能力怎么样?结果很可怕。我们并不期望他们知道人工智能是基于成本还是血量来做出决定,但他们对人工智能推理的任何方面都没有什么洞察,即使人工智能遵循简单、一致的规则。

  我们试图在定性测量中寻找模式,比如“这个人工智能比其他人工智能更随机”,“这个人工智能使用了更复杂的技术”,“这个人工智能考虑了几个因素”,“这个人工智能像石头一样沉默寡言”,但毫无发现。玩家无法准确判断对手的难度/智力或理解人工智能的策略,我们没有发现任何证据表明测试中的玩家表现出对人工智能设计师为制造人工智能对手所付出的努力的赞赏,至少不是为使人工智能智能智能化所付出的努力。

  尽管我们没有尝试去衡量它,但我们相信(以及几十年来许多其他人的信念),如果做出更好的人工智能是一种正确的努力,那么玩家会欣赏这份努力。很常见的一种说话是,玩家喜欢人工智能表现出智能,这意味着人工智能会大声说出自己的想法。许多玩家可能不认识或欣赏一个站在他们旁边的人工智能(人工智能表现聪明),但当一个人工智能明确地喊“让我们站在他们旁边”(人工智能声称它表现聪明)时,他们确实会欣赏。在游戏AI中,言语有时比行动更响亮。我们在其他带有情感角色的游戏中的经验表明,NPC如果会哭、笑、颤抖,或者在其他方面表现出思考的迹象,玩家就会对NPC有强烈的反应。我们认为玩家能欣赏智能,这里的测试仅仅表明他们似乎不太擅长识别智能。也许要吸取的教训是,人工智能设计师的工作是确保他们不会错过它。

  是什么让游戏变得有趣,至少当它涉及到人工智能的对手时?我们不知道。在这个实验中,玩家喜欢玩一个特定的人工智能对手的程度与实际或感知到的难度或智力无关,也与对手被认为的真实程度无关。它也与玩家识别、理解或欣赏人工智能策略的能力无关,因为玩家做不到。努力让玩家获胜的“推销”人工智能被玩家在有趣性方面评了高分,但也在其他几个方面垫底。所以也不是这个原因。

  一个随机的人工智能并列为第二个最有趣的人工智能真的让我们吃惊。我们最初的想法是,如果一个随机的人工智能和有目的的人工智能得到了一样的评价,那么我们的设计一定很糟糕。  但我们提醒自己,我们的测试台是基于历史上最流行的游戏之一。

  最后的观察,玩家乐于为NPC们赋予各种背景故事。他们看到的是欺骗、偏见、动机和欲望,这些本不存在的东西。

  虽然我们没有在我们的电子表格中记录下来,但有传闻说,当玩家感觉到对手有这样的个性时,他们似乎更喜欢这个游戏。如果我们想让玩家有更多的乐趣,也许我们应该将注意力放在如何让人工智能具有欲望、动机、偏见和背景故事,而不是让他们如何赢得玩家。

  

  


所见非所得:玩家对AI的感觉 | Game AI Pro的评论 (共 条)

分享到微博请遵守国家法律