← 返回首页
2014 · GDC · Naughty Dog

《最后生还者》艾莉:让玩家愿意依赖伙伴

🤝 伙伴AI👁️ 潜行战斗⚔️ 战斗反馈

依据 Max Dyckhoff 的《Game AI Pro 2》第 35 章同题专章整理《最后生还者》初代伙伴系统;2014 为 GDC 演讲年份,书章是补充技术来源。

核心观点

「伙伴 AI 先守住玩家的信任,再用看得见的帮助建立感情。」

原标题Ellie: Buddy AI in The Last of Us
作者简介 Max Dyckhoff · Naughty Dog 工程师,负责《最后生还者》的伙伴 AI。

先让她可靠地待在身边,再让她有用

  • 一次媒体演示暴露老问题:发售前几个月的一次媒体演示,暴露出伙伴的老问题——站位尴尬、错误开火、挡路。

  • 脚本化规避的代价:把泰丝和艾莉脚本化地留在后面虽能避开故障,却也把她们移出了玩家注意力。

  • 结论:团队随后重做伙伴系统。(35.2)

  • 工作顺序:先解决跟随,再加入战斗帮助,最后补人物表现。

  • 顺序的因果关系:玩家先要相信伙伴不会添乱,才会欣赏她提供的帮助;有用之后,台词和动作才能进一步形成情感。

跟随选点:同一个房间,比直线距离更重要

  • 候选点生成:系统在领队周围的环形区域内生成候选点,经过三组导航射线检查。
  • 评分条件:再按与玩家距离、是否维持同侧、敌方可见性、是否挡住玩家前方、与其他伙伴距离等条件评分。(35.3.1)
检查排除的问题
从领队向环形区域发射导航射线看似近、实际没有直接可行路线的点
从候选点继续向前检查艾莉走过去却面朝墙壁
从玩家检查候选点的前方位置两人隔着门框、围栏等障碍,看似靠近却不在同一空间
  • 第三项来自实测:一个数学上合理的点,可能让艾莉站到隔壁。
  • 好跟随的标准:不仅是缩短距离,还要让两人像在共同探索。

每帧算最优点,不等于每帧都要换位置

  • 限制无意义的小移动:团队限制无意义的小距离移动,除非当前位置被敌人暴露;也尽量避免为了换侧而从领队面前跑过。

  • 足够近即可:走到“足够近”就可以停下,不必机械地贴合最优坐标。(35.3.2)

  • 速度切换问题:步行、跑步和冲刺原本各有固定速度,伙伴追近后会在走与跑之间反复切换。

  • 速度缩放的解法:系统允许动画速度缩放最多约 25%,让她在接近切换阈值时先减速,延长当前运动状态,减少忽快忽慢。

  • 原则上不用瞬移:普通跟随原则上不用瞬移;除了画面连续性,脚步声突然换位置也会暴露问题。

  • 明确的例外:抓取救援时玩家失去镜头控制,团队可以确保传送不被看见。(35.3.4、35.5.2)

共享掩体:用身体关系代替反复让路

  • 掩体点的不对称:敌人可使用稀疏的预制掩体点,但玩家能贴近很多任意表面;伙伴如果只用敌人的点集,就难以一直待在身边。

  • 系统的解法:结合预处理的掩体边缘与运行时碰撞射线,合并法线相近的命中点,并缓存得到的边缘。(35.4.1)

  • 视线考量:选点还考虑敌人当前和预计未来的视线。

  • 成本边界:由于运行时生成成本高,这套更精细的方案只给伙伴使用,不能据此推断所有 NPC 都使用同一算法。

  • 早期问题:早期艾莉看到玩家靠近就离开掩体,动作显得没有主见。

  • 共享掩体动画:乔尔在她身旁扶墙、用身体护住她,同时仍可正常开枪和移动。

  • 问题变机会:由“抢同一个点”产生的问题,最终成为表达保护关系的机会。(35.4.2)

支援要给玩家机会,也要有次数上的分量

砖块创造空当,结果交给玩家

  • 投掷逻辑:结合敌人的感知与移动,判断敌人是否即将看到玩家,避免过早暴露潜行位置。
  • 结果交给玩家:砖块击晕后,玩家可以逃走、近战或抓取,而不是只能观看伙伴完成击杀。
  • 长间隔的意图:长间隔让一次救场更值得记住。(35.5.1)

能自己挣脱,才不会变成护送任务

  • 早期规则的失败:“每次被抓都必须救援”的早期规则很快令人厌烦。
  • 自行脱身:艾莉后来能自行脱身,随后一段时间不再被选作目标;专章给出的保护间隔为 15—30 秒。
  • 仍需要救援的条件:少数需要玩家救援的情况,必须确保她可见、可接近,而且玩家自己没有同时被抓。(35.5.2)

送补给接入已有掉落系统

  • 沿用已有补给计算:艾莉送弹药和医疗包时沿用游戏已有的补给计算,让帮助与整体资源平衡一致;制造材料仍需玩家搜集。
  • 早期测试的教训:她每分钟送一次弹药,既暴露关卡卡点,也让赠送失去分量,因此同样需要长间隔。(35.5.3)

开枪许可:默认克制,识别玩家何时结束潜行

  • 默认克制:艾莉默认不射击。

  • 发放许可的时机:玩家开枪、进行嘈杂近战,或即将遭受迫近威胁时,系统才发放开火许可。

  • 收回许可的判断:判断玩家重新潜行时,比较玩家真实位置与敌人所知位置;两者明显分离后,收回许可。(35.6.1)

  • 不能只把枪变弱:若玩家三枪能击倒敌人,伙伴打许多枪却无效,会显得坏掉。

  • 可信表现 + 限制有效伤害:团队保留可信的射击表现,但当玩家看不到命中时限制有效伤害;遇险或很久没见她出手时,再安排可见的帮助。

  • 待机动作支撑性格:射击间隙用紧张、迟疑的待机动作支撑角色性格。(35.6.2)

潜行作弊是一项有代价的取舍

  • 现实的限制:开发中伙伴潜行已能在大多数情况下正常工作,仍无法消除偶发暴露。
  • 最终取舍:玩家潜行时,敌人不会因伙伴而警觉。
  • 代价与理由:代价是偶尔出现艾莉明明经过敌人眼前却没被发现的场面;选择它是为了避免 AI 的一次失误摧毁玩家计划,并不意味着团队放弃了潜行选点。(35.6.3)

提示必须能被玩家当场验证

  • 提示的可验证性:报出危险时,敌人必须还在玩家能确认的位置。
  • 早期系统的反例:早期系统会报告刚露头又藏起来的敌人,艾莉“知道得更多”反而让玩家觉得她不可靠。
  • 后来的调节:提示与玩家视野、敌人持续可见性一起调节。(35.7.2)

✦ 一句话总结:伙伴的可信度来自一连串细小承诺——站位能解释、开火符合意图、提示能验证、救援有用而不过量。人物关系并非全靠剧情建立,也藏在每一次系统没有让玩家失望的时刻。

本文由 GPT-6 Astra 于 2026/09/20 生成,由 DeepSeek V4.1 Flash 后续修改