哈迪斯的对话机制

主要介绍了哈迪斯(Hades)中NPC的对话机制,开发者是使用什么样的机制,在浩如烟海的文本中,选择最适合当前代入感的对话的,这不仅给玩家带来游玩过程的临场感,而且还对碎片化世界观的塑造创造了便利。

实现机制

  1. 首先,每个任务会有一个普通对话的列表,每次玩家触发对话时应当从这个列表中随机选取。(可以使用一个优先级队列来存放这种表)。
  2. 每次触发对话之后,需要暂时将对话从上面的表中移除,当队列中的对话被耗尽时,再次重新恢复所有的对话。

但是如果只是随机的从列表中抽取对话,当列表很大时,或者是随机性,会削弱玩家和NPC对话之间的关联性。所以还是需要以下的机制来保证玩家对话的关联性以增强游戏角色代入感。

引入一个新的检测机制:这个检测可以是增量性的,举个简单的例子:玩家完成了击杀10只怪物和击杀100只怪物,所需要的检测是一样的,只是程度上的增加,在游戏里面需要很多这种检测机制,因为随着游戏的进行,玩家的进度大多数是递进的。

  1. 引入一个新的对话列表,这个对话列表的优先级更高,当玩家触发了上述的检测条件(如:完成成就击杀了100只地精),在玩家遇到了NPC之后,NPC会从新的这个列表中抽取相应的对话(如玩家真的很不喜欢地精之类的话语)(再如,你多次重复对话同一NPC,NPC的对话列表会替换成一个更加不耐烦的版本)

当然随着游戏的进行,有些剧情发生之后,上述的一些对话列表就会过时,所以需要准备第二套,第三套以及更多的对话篇章(这里的对话篇章就是上述的不同优先级的对话列表的优先级队列所组成的更大的集合)

  1. 当玩家解锁了新的篇章之后,需要使用新的对话篇章,更新新的对话列表。当然,触发条件不仅仅局限于剧情递进,还有一些更灵活的触发条件(例如NPC的友好度,玩家的善恶值,NPC和玩家的派系关系等)

例如玩家在不同好感度的NPC面前,所触发上述的1,2,3条件是一样的,但是由于第4项的不同,所需要触发的对话列表和优先度会发生变化。

到此为止,SuperGaint Games 所透露的 Hades 的对话机制就到此为止了,不过我相信他们还会有更多更细节的控制来塑造一个栩栩如生的角色对话机制。还是有更多背后的隐藏机制。

  • 当玩家游玩时,可能连续游玩了200小时,一直不会遇到某个NPC,甚至遇到了NPC,解救了这个NPC却没有和他进行对话,但是NPC确实的的确确对主线剧情有很大的影响,你是否能遇到他以及何时遇到他,都会对故事产生影响。而这一切的基础,都是提前做了大量的对话文本,考虑到了尽可能多的触发条件。

Outro

这种文本量巨大的游戏,在玩家游玩时并不会完全展示出来,甚至展示出来的文本对话只是冰山一角,但是却不能省略那些“多余的”工作量。不仅仅如此,在SuperGaint Games的其他游戏《堡垒》《晶体管》《葬火之薪》中,玩家或者是旁白,都尽可能地给玩家营造出身临其境的感觉。

这就是游戏开发者用大量的工作量换取游戏临场感的方面。不过,在AI大行其道的今天,生成 Dialog 这种文本似乎已经是小菜一碟了,虽然我是程序生成式内容的粉丝,我还是不禁要感叹,手工式的对话文本对比AI生成的文本,真的是费力不讨好的表现吗?每个人都有自己的答案。

Ref

https://www.youtube.com/watch?v=bwdYL0KFA_U

作者B站视频:CyberStreamer