
Skyrim发行时以其广阔的开放世界和引人注目的动作角色扮演方法而广受好评。 当玩家在Tamriel花费数十甚至数百小时时,他们开始注意到某些NPC会重复相同的台词。 当有多个人物评论天气或当地威胁时,一条线伸出来:“我曾经像你一样是一个冒险家,然后我在膝盖上拉了一支箭。”
天际中的每个镇守有时都会说相同的话,说明他们的冒险生涯因箭伤膝盖而被缩短。 这样独特的背景和评论远远超出了类似的重复言论。
尽管这条线很快成为游戏的热门笑话,但它也破坏了玩家的沉浸感,并造成了足够的挫败感,因此创建了多个mod来更改对话框。 沉浸感是开放世界游戏中最令人垂涎的方面之一,它使玩家感到自己确实是他们所体验的广阔世界的一部分。 因此,当一条线突然露出窗帘后面的人并显示NPC的肤浅时,就会造成魔术和奇迹的损失。
有什么解决方案? 当然,在如此庞大的游戏中,开发团队没有时间为每个NPC编写独特的台词。
动态对话框。
动态对话框是根据变化的因素决定的对话框。 它在大多数游戏中使用,尽管程度很小。 例如,一个NPC用他们选择的名字或等级来呼叫玩家就是动态对话的一个例子。 那里的变化基于玩家的选择,但是也可以基于设计师的选择,甚至是随机选择。
如果开发人员要创建一个充满数百个角色的开放世界游戏,则很难为每个游戏写一行。 但是,他们可以为每种类型的个人分配不同的行集。 Skyrim利用了这种实现方式,这就是为什么只有警卫对将箭头伸到膝盖上发表评论的原因。
不过,可以进一步分解变化。 例如,假设有四个农民NPC。

可以很容易地为每个农民分配说两行,问候和沉思的线条的能力。 在传统的对话方法中,这意味着每个农民在撰写时都只会说这两行。 但是,可以添加一些变化,将问候语分成四个不同选项之一。

这给生产线带来了一些变化,但是并不能避免“向膝盖箭头”问题。
除了正常的变化之外,还可以根据特征因素(例如职业)添加变化。 因此,如果角色属于该类,则可能有特定于工作的问候语作为选项启用。

在Spirit AI的角色引擎中,我们通过将角色的特征和特征存储在我们的知识模型中,然后使用标签检查其值来做到这一点。

通过此实现,可以轻松设置各种字符特征,例如工作,宗教,背景甚至当前的情绪,并更改其使用的线条。 尽管每个背景的单独行对于作者来说可能都是乏味的,但仍会重复。 因此,可以将品系分解成部分,并根据某些特征使用这些部分的变异。
例如,如果一个人利用职业和宗教的性格特征,一个农民可能会想:“如果我努力种庄稼,我相信[[higherFigure]]将对我感到满意。”他们宗教信仰中的一个实体,或者如果他们没有宗教信仰,则只是他们的母亲。

一组对话框中这些片段的组合允许使用少量对话框编写来创建数百种可能的组合。 就像“较高身材”的变体一样,可以将行片段创作为可在许多角色中重用。

在天际守卫的例子中,一名守卫可能具有先前的职业和悲惨的事件,所有这些都是在游戏发布之前从列表中随机分配的。 因此,警卫人员可以评论“我曾经是[[previousProfession]],然后是[[tragicIncident]]”,并能够以他们的性格独特,需要最少的创作时间并且一致的方式评论他们的过去在他们的对话中。
类似地,该技术可以扩展为包括来自世界元素的输入,例如被杀死的龙,附近的盗窃或主要故事情节中的进度。 将变化和标记的片段结合在一起,可以快速创建一个深厚而独特的世界,在这个世界中,并不是每个后卫都会向箭头射箭。