“直到我的膝盖中了一箭”几乎是游戏界无人不晓的台词,而这样的台词,从游戏叙事设计的角度来看,其实相当值得玩味。
这类台词可以被称作 Bark(下文会有详细解释),最近我从不同的渠道看到了关于游戏中 Bark 的讨论,在这里把汲取到的思想总结归纳,希望既能为游戏设计和策划人员提供思路,也能让玩家读来觉得有趣,并在今后的游戏里对多种多样的 Bark 更加敏感。
我没能在中文网站找到游戏中所指的 Bark 的翻译,从英文网站 Giant Bomb 找到一句定义: Short one-line audio clips spoken by the NPCs that populate the game world. Can be random or in reaction to the player or events.
可直译为: NPC 在游戏世界中播出的简短音频,它的内容可以随机,也可以由玩家行为或发生的事件来决定。
配合例子便不难理解:Bark 可以是 NPC 见到玩家打的招呼,例如几乎每个有商人 NPC 的游戏,商人都会在开始买卖前打个招呼;可以是主角被玩家操控时说的话,例如广为人知的“Fire in the hole”、“Reloading”、“Construction Complete”,或者《英雄联盟》中英雄的台词;也可以是敌人之间互相的交流,如《蝙蝠侠》系列,《潜龙谍影》系列,《最后生还者》系列中敌人之间的通风报信。
通俗地讲, Bark 就是任何简短的、你能在游戏世界里听到的语音(把定义放宽一点,我认为也不一定得是语音,像是敌人头上出现的含有文字的气泡也算,这点文末我还会再提)。
在聊技巧之前,先贴一下几个有直接帮助的信息源和链接:
Valve 当年的员工(现就职于 Insomniac Games)在 GDC 的 演讲 ,解释了《求生之路2》中 NPC 的 Bark 的构造和调取方式。 这些业内人士提供的思路可以被归纳总结,开发一个良好的 Bark 系统,可以从以下几个维度去考虑。
Bark 有足够多的备选项,即使两句话是同一个意思或用途。这能减低玩家在短时间内听到同一句话的概率。“直到我的膝盖中了一箭”本身是一句听起来很有故事的话,但是当太多 NPC 一股脑儿向玩家抛出这句话时,这个世界的可信度瞬间降到冰点。
另外,尤其是对于“直到我的膝盖中了一箭”这样 内容非常具体 的 Bark,要格外小心——像“今天天气真不错啊”这样的语音,安排在多个 NPC 身上并不违和。但是像“我曾拿铅笔干掉过五个敌人”这样的语音,至多安排在一个 NPC 身上就可以了,除非……这款游戏的世界观里每个路人 NPC 都是 John Wick。
这条应该是实现起来最费心思、但同时也是最有拓展空间的——为各种 Bark 设计合理而又多样化的触发条件。
自身血量?离敌方的距离?和敌方是否处在同一空间?剩余友军的数量?战胜敌方时自己耗血了吗( 被打到残血才获胜时,真的需要耍帅说一句“小菜一碟”吗?反过来,如果我们的主角无伤过Boss后,会自发地说一句“弱!”,该有多帅啊 )?此时的天气?伙伴对你的友好度?等等等等,列举不完。个中状态千变万化,可以产生海量的排列组合。
而一条具体的触发规则,涉及到的变量越多,触发条件就越苛刻。 愿意的话,你可以用这种方式设计出大概 100 个玩家里只有 1 个能听到的语音。只要发散思维足够强,亦可以用一些奇特的条件,诞生出非常有创意的 Bark 来。
《黑帝斯》在这一点上做得尤为出色,回想一下你从神明那儿获得祝福时 Ta 们说的话,或是 Boss 对你武器的评价,乃至死亡后回到宫殿里与睡神修普诺斯的对话,每一条都十分“应景”。
为触发条件分类,以更合理地存储和追踪它们。大致上可以分为:
“记忆”很容易和所谓的“状态”搞混。举个细微而又枯燥的例子,假设艾莉和玩家操控的乔尔一同躲在掩体之后侦察敌情。艾莉注意到右侧高台有敌方弓箭手,并且说:“Archer, on the right” 来提醒乔尔。这个场景下的人物状态有什么?乔尔和艾莉均处于潜伏状态,敌人处于巡逻状态,每个敌人又有自身的血量、弹药数等等,这些都是状态。那么记忆呢?艾莉看到了右侧高台上的弓手,这个事实转变成了她的记忆。在她警告乔尔之前,这个记忆乔尔并没有——这也正是她这句话的触发条件,不然也没必要警告了。
类似地,《孤岛惊魂3》中玩家扔石块吸引敌人,如果这名敌人之前已经被石块吸引过一次,那么他会疑惑地说一句 “Keeps doing that” 再走过去,这也是因为这名 NPC “记得”自己刚才曾听到了石块落地声。当然,人物也可以有长期的记忆,Galgame 中人物之间的好感度便是互相独立开的长期记忆。
每个大类里的变量又可以进一步分类,例如按照关卡来为整个世界的状态分类。
这与开头提到的足够大的备选池要解决的问题类似,但切入点不同。
例如,当NPC有 5 句话可以说时,随机打乱成 A、B、C、D、E,记为一组。一组播完了,下一组怎么安排?重新随机打乱,但是需要额外保证 这一组不以 E 为开头 ,不然玩家就能在短时间内连续听到两次 E 的内容。或者,可以为每一句话设置冷却时间。
另外, 多条 Bark 均满足了触发要求时,最好选用条件更苛刻的那个。
符合条件的多个 Bark 不必互为等可能事件,可以加一些权重来稍稍使某些台词更容易被触发。
根据需求,也可以设计触发一次后就再也无法触发的“特殊” Bark(把“膝盖中箭”归类到这里或许是一个不错的主意),甚至是一开始不能被触发,需要先触发足够多的其他 Bark 才能被“激活”、正式进入备选池的 Bark。
Bark 需要有优先级,这点和权重又略有不同(权重是针对同一优先级来讨论的 )。假设我们为敌人死亡瞬间发出的声音准备了一些语音,它们的优先级可以为 1,敌人巡逻时互相交流的语音优先级为 2,敌人自言自语的语音优先级为 3。这样,我们就可以很方便地制定规则:优先级低(数字大)的台词永远不应该打断优先级高的,而优先级高的必须打断优先级低的。
也就是说,敌人正在互相用无线电交流时,即使系统出于某种原因想要播放其中一个敌人自言自语的语音片段,也不应该触发。相反,正在通话的敌人突然被暗杀,那么播到一半的通话语音应该立即被掐断。《求生之路2》中,几位主角有时会边赶路边闲聊,原本 Ellis 应该接 Coach 关于游乐园记忆的一句话,但假如这时窜出一只 Hunter,Ellis 应该立即警告大家,或是闭嘴,让其余的队友作出合适的 Bark。
A: “我当时拿枪瞄着她。”
B: “然后呢?”
A: “她躲开了。”
B: “我去,这么聪明?”
暂不考虑上下文,看以上这段对话,是不是觉得 B 的评价很浮夸?一个有智力的现代人,被枪指着的时候,躲开是再正常不过的操作吧。
那想想现代电子游戏呢?如果我说,这是对《生化奇兵:无限》里伊丽莎白的评价呢?是不是想起,首见时你也曾被她的这个举动惊艳过?这便 Bark 的一种更加隐性的存在形式。
真实世界里人类对环境的反应与游戏世界里 NPC 对环境的反应之间的差距,可能已经大到一定程度,以至于我们对游戏里出现的同质化的、呆板的 NPC 不再质疑(或者说因为对算力和成本限制有所了解,而一直对这类“偷懒”持有非常宽容和理解的态度),反而会对其实在真实世界稀松平常的、类似“躲开”的这类行为发出惊叹。
可见,Bark 远远不止是语音,游戏中的 NPC 对世界的任何一种反馈,都有 Bark 发挥作用的空间。
退一步讲,哪怕不是 AI,也可以善加利用这些思路。相信我们都已经熟悉了各种游戏在载入界面提供给玩家的小贴士,它们能让玩家在等待载入的同时,学到一些或游戏背景知识,或实战操作技巧。回想上文提到的“多样的触发条件”,是否也能运用在这里?如果玩家处在第二张大地图,就不要再随机显示第一张大地图的背景知识了;如果玩家此时装备的是剑,就减少枪的操作技巧的出现概率……“载入界面小贴士”和 AI 完全不沾边,然而利用 Bark 的设计技巧,它也能被做得更加贴心。
另外,别看我使用的例子大都是 3A 作品,以上这些点子也完全可以运用到没有任何语音的独立游戏中去,尤其是以文字为主的叙事类游戏。Bark 可以是无声的,既然连载入界面的文字都有可行的智能化方案,游戏的叙事文本更有大量的优化空间才对。 若处理得当,不仅 NPC 显得更加鲜活、智能、有灵魂,整个世界也变得可信。
不过,的确有很大的概率,玩家粗浅地游玩,并不能完全体会到这样复杂的 Bark 系统,甚至有许多的台词不会在一周目里出现,这都是无法避免的问题。但有一点是肯定的——一个糟糕的 Bark 系统会让人非常出戏,“膝盖中箭”就是最好的例子。
最后,如果你看完本文觉得有趣,强烈推荐细读/观看我给出的那四个链接,那里有更加深入的讨论与解析。
P.s. 我对游戏设计的研究会持续进行,但肯定不是每一次都能有足够多的内容让我发表长文。你可以在indienova找到 我 ,在那里我可以发一些更零散的、不成文的感悟。
评论区
共 27 条评论热门最新