对话作为游戏玩法(对话)

[这是艾米莉·肖特(Emily Short)在游戏中谈论对话机制的演讲的大致内容。]

问题陈述

我希望更多的游戏与人类互动,与人打交道的细微差别,与戏剧电影中出现的主题有关。 部分原因是我想玩更多有关对话和社交互动的游戏。 我对动作的兴趣不如话题,老实说,这些天我经常在超级英雄电影中入睡。

同时,作为一名艺术家,我编写游戏的部分原因是探索和审问我尚未完全理解的事物。 建立程序系统并查看其性能是探索我们的心理模型是否正确的好方法。 人们如何相互理解(或不相互理解),他们如何联系以及为什么,这是我持久的着迷主题。

所以我想要更多对话丰富的游戏。 为使此功能如我所愿,对话需要在游戏过程中获得回报,而不只是像往常那样紧紧围绕着游戏过程。

当谈到自己的工作时,我还有更多的野心和要求:

首先,我希望它允许玩家有意识地采取行动:制定计划并执行计划。 这意味着我们需要玩家可以学习和操纵的一些系统机制。

出于本演讲的目的,我不会在没有持续状态或清晰机制的情况下将大量时间花在纯分支对话框树上。 我有时在那个领域写过书,并且,如果您对如何充分利用状态光对话对话感兴趣,我建议您看一下乔恩·英戈尔德(Jon Ingold)的AdventureX关于编写闪闪发光的交互式对话的内容。 但这不是我们今天要看的。

[我已经写了更多有关 世界模型和系统机制的文章,可以 在其他地方 进行对话 。]

其次,我希望最终的机械师具有良好的节奏和戏剧性-因此,我不希望找到一种使对话系统化但使自己感到非常缓慢,僵硬,隐喻或难以操纵的机械师。 其中一些玩起来可能很酷,但是我本人倾向于写一些更具流动性的东西。

那里有什么?

在开始尝试解决这个问题之前,让我们快速调查一下其他游戏在该领域的表现以及我认为是灵感的机制:

有些游戏使用迷你游戏来代表对话的动态,例如Red Strings Club通过鸡尾酒来操纵对话; 有关“麻烦中的危险高中女生”的信息,以及推动那里互动的迷你游戏。 有些人将其他游戏玩法作为互动的主要点,只是让游戏中的角色对此做出反应,这就是Textfire Golf使高尔夫游戏成为与同事交流的方式。

某些游戏,尤其是奥秘游戏,可让您操纵信息或知识的清单,以使对话变成难题。 考虑一下Phoenix Wright中使用的线索清单,或者侦探Grimoire中的证据收集屏幕:

在神秘游戏的背景下,能够构建这样的证据并将自己的问题提交给NPC的效果很好。 这样的难题通常是确认玩家已经了解故事叙述要点的好方法。

而且,发声构建的系统化设计足以使游戏为您提供一些有关错误猜测的反馈。 但是个人话语的构建需要一段时间,而且界面更多地是在操纵思想,而不是出现在与另一个人的来回对话中。 因此,此示例在意向性方面做得很好,但在我感兴趣的戏剧/写作方面却表现不佳。

最后,捆绑游戏中的Ladykiller为玩家提供了随着时间的流逝而再次消失的选项,并在特定的选择竞赛中公开告诉玩家特定的选择何时会增加怀疑(不希望的)或获得投票(您的主要目标之一)播放中):

(请注意,此游戏上班并不安全。)

这更接近于捕捉我感兴趣的对话的各个方面–可能是或不是正确的话进入您的脑海。 冒险或保持沉默的感觉–并且由于有很多方法可以操纵您的怀疑程度和投票统计数据,因此与某些系统相比,玩家有更多的空间进行故意动作。

[如果您对自己感兴趣的事情感兴趣,甚至超出了我的演讲能力,那么我也写 了一篇半新的邮袋帖子,其中包含最近游戏中的示例和会话机制类别

除了在现有的以对话为中心的游戏中呈现的所有这些示例之外,从历史上看,我还从与对话完全无关的游戏中汲取了灵感,但是这些游戏的机制似乎就像潜在的灵感素材。

Polaris是一款桌上型故事游戏,玩家可以使用关键短语(“好吧,那会发生,但也要等到其他事情也发生了”)才能就故事中接下来发生的事情进行谈判。”机械师通常可以工作。 您可能会让玩家堆叠警告和要求,在协议中增加更多的赌注和结果,直到角色同意或决定他们的谈判失败为止。

战斗游戏提供了可以在对话环境中使用(更配合的旋转)攻击,阻挡和招架的示例。 实际上,Tea-Powered正在进行的Elemental Flow正是在探索这个想法,因此,在我演讲的人们有机会详细了解这个概念。

在棋盘游戏《外交》中,玩家讨论他们的联盟是什么,然后写下详细的动作来描述他们的军队将如何在棋盘上运动。 在任何人进入进一步的讨论或撰写新的举动之前,所有书面举动都将立即得到解决。 一个基于做出复杂承诺然后立即解决所有承诺的结构,将使玩家能够做出真正微妙的,具有社会表达力的复杂决策。 同时,该机制削弱了步调,因为大多数对话在对话之间并不需要太多思考。 它更适合写字母或至少包含电子邮件的游戏。

最后,Jenga捕获了我经常看到成功融入互动对话的一种短期机制,您可以在其中邀请玩家将NPC推到最大胆,并观察发生了什么。

Galatea和其他基于解析器的对话游戏

我在这个领域的工作是从探索性游戏玩法开始的,但不屈不挠Galatea的UI(现在将近20岁):

Galatea允许玩家询问或告知角色各种关键字主题-并且在交互环境中有足够的上下文线索,玩家可以实际了解非玩家角色所不具备的一些信息,包括情绪激动的信息关于她的创作者发生了什么。 取决于您对角色的了解以及与她最终形成的关系,数十种不同的结局都是可能的。

Galatea之后,我编写了许多其他基于解析器的对话游戏。

在当前的对话中,最著名的也许是Alabaster,这是与几乎其他十二位作家合作编写的游戏。 为了创建Alabaster ,我构建了一个带有初始故事钩子和引擎的游戏,该引擎可让玩家在遇到游戏未涵盖的主题时添加新的对话内容。

我们还添加了一个生成艺术系统,即屏幕左侧的图像,为玩家提供了有关主要角色情绪的视觉提示。 这在游戏的积木式动作时刻特别有用。 通过不断地质疑玩家,有可能使非玩家角色陷入不良的心理状态,并导致不良的结局。 玩家通常对自己运气好的视觉信号反应良好。

[我的博客中包含 许多有关Alabaster进度的帖子 ,如果有人想知道更多有关开发过程和设计决策的信息,那么从项目启动时开始。

维苏

Versu系统根据玩家在特定时刻手动编写的社交模式和对话选项向玩家提供选项。 对该系统如何工作的完整解释可能仅花费一个小时,因此,在这里我不会深入讨论,除非谈论对话的UI和模型以及该设计如何发挥作用。

远离解析器,使新用户可以更轻松地访问游戏,而底层的社交模型则使玩家可以有意地与关键角色建立不同的关系。 互动流程更加顺畅,尤其是因为Versu允许角色彼此交谈:作为玩家,您可以选择长时间观看NPC互动,然后再决定打断他们。

Versu发行的最大作品是《血与月桂树》,这是一场罗马帝国的阴谋游戏,最终可能会导致您愚蠢地杀死自己,杀死您的朋友,成为皇帝或恢复共和国,而同时又在(或不)流血的情况下几个NPC中的任何一个。

我最喜欢的游戏功能之一是,您可以在某一时刻得到一些毒药,然后在宴会上用它来击垮敌人。 当您毒害某人时,该角色将有时间进行另一行或两行对话,然后再保持冷静(尽管该对话可能取决于当前对话流程的其余部分)。 看着敌人再说一两句话,那是愚蠢的或自私的胡话,然后将脸植入他们的晚餐,可能会很有趣。

该序列结合了玩家方面的一些计划(我想删除这个角色,我有足够的资源来提前做),大量可察觉​​的后果(尸体,奴隶con恐地奔跑,对叙事流程的长期改变)基于这个角色的消失)和一些程序上的变化,因为每次您使用毒药的动作,对话的进行可能会略有不同,因此每次的口语都不尽相同。

总体而言,Versu的方法使我更接近于在游戏中进行对话时想要做的事情,但仍然存在一些缺点:

很多没有用的事情是与角色交流世界状态。 我们确实具有一些UI功能,例如屏幕底部的字符图片,以及敲击他们的头部以查看他们当前在想什么的功能,这些功能旨在更丰富地提供该信息。

[尽管我在谈话中没有涉及到这一点,但有一次我 将Galatea移植到了Versu上 ,并且我发表了有关格式更改如何影响游戏体验的文章。 我还写了有关 一般创建Versu内容的经验 在ICCC 2015上的主题演讲 比本次演讲更为详尽,并且在最后的“下一步”讨论中提出了一些思想,这些思想后来影响了Character Engine的设计。]

角色引擎和躁动不安

我现在正在为Spirit AI开发Character Engine。 Character Engine是一种中间件,旨在让游戏设计师以及实际上教育,娱乐和社会关怀等其他行业的人们构建具有记忆和个性的交互式角色。

字符引擎可以构建响应自然语言和手势输入的字符,从而扩展传统聊天机器人的功能范围。 它产生的对话可以包括情感标记和表达提示,从而使CE角色可以推动实时文本转语音,口型同步和演奏。

与Versu一样,关于Character Engine还有很多话要说的不多。 但是,主要区别之一是角色引擎生成非常动态的文本输出的能力,因此可以巧妙地改写角色的线条以反映不断变化的世界状态,情绪和情感亲密程度。 屏幕右侧带有图表的图像显示了如何实时实际实现文本。

但是自然语言并不是最适合所有游戏,因此角色引擎还具有一种模式,可以动态建议菜单选项供玩家选择。 这些菜单选项也可以使用非常动态的文本来构建。 为了探索这一点,我们在内部构建了一个名为Restless的小物件,用于万圣节主题的游戏果酱。

躁动不安使玩家扮演鬼魂困扰着房屋的角色。 最初,您只能使用屏幕底部的单个菜单项在屋子中发出险恶的声音和气味,而无所事事。

但是您也有两种情绪,“生气”和“饥饿”,您可以选择打开和关闭,这将改变您的语音选项。 如果您想表现为饥饿,“从门厅发出的紧缩声”可能会变成“在碗里盛满苹果的气味”。 愤怒的情绪可能会变成“压倒性的苹果味”或其他更强烈的东西。 仅选择愤怒可能会导致“雷声在楼上窗外发出嘎嘎声”或类似的东西。 播放器可以在选择菜单项之前随意浏览和重新混合其选项。

[在演讲的这一部分,我讲话时播放了无声的游戏性视频。 结果序列相当长,很难将其与博客文章中的文本链接起来,因此我在此处替换了一些屏幕截图。 但是, 如果您想更全面地探索用户界面的感觉 ,则 可以玩 这款游戏 。]

此外,当新的主要话题进入对话时,这些话题也可以选择,因此您可以选择会提及这些实体的菜单项。

新认识的人给您喝了一些动物血液后,您就有了足够的声音可以进行语言交流,并且对话也有了新的体验,同时也增加了新的情感承受能力。 可以探索游戏的信息空间,从NPC中找出事物,或与它们一起找到特定的发现。

某些操作几乎始终保持可用。 在游戏的几乎任何时候,您都可以在房屋中发出险恶的声音,甚至着火。 如果您决定扮演“有趣的”情感特质,那么您还会有很多敲门笑话,可以用来减轻对方性格的焦虑。 这些资源是有限的,因为您只能在每个小节中播放一次; 何时或是否值得部署它们取决于您自己。

实际上,情感和主题的组合,或者不止一种情感,可以产生特定的含义。

这是一部关于焦虑的游戏,也是关于难以面对自己的某些事物的角色的游戏。 主角一生中是一个焦虑的完美主义者,作为鬼魂,仍然被其他人的焦虑和让她想起她一生中最糟糕的经历所引诱。 与故事中的其他角色保持开放可以恢复健康,并可以解锁可能引起玩家兴趣的背景故事,但是在某些话题中,如果不故意让自己感到难过,就无法进入。

即使一副情绪没有什么大的不同,也会有一些微妙的混音效果。 例如,如果您设置为“好奇”,则系统可能会提示您“为什么不?”。如果同时打开“愤怒”,则该问题可能会变为“为什么不地狱?”

另一个角色仍然可以以相同的方式回答相同的信息,但是该问题的第二个版本带有不同的情感负担。

躁动不安甚至包括我早些时候谈论过的那些积木式的,pushing运的时刻。 在某些序列中,选择反复保持沉默会对试图与您说话的角色产生很大的影响,并且他们的回应会带来更大的困扰。 在此过程中的任何时候,您都可以分组并回答。 但是,如果您感到好奇,可以选择继续按下他们的按钮。 当他们变得更加担心或愤怒时,我们使用了一些角色艺术进行交流,并对他们对话的确切措辞进行了调整。

理论上的分析

从概念上讲,我对这种设计的看法是,我们为玩家提供了一种搜索机制,以探索所有当前开放能力的范围。 我们一次只显示三个菜单项,但这是一个较大空间的小窗口,接下来可以说。

例如,我们可以用这种方式想象所有可能发生的事情的空间,标记为“情人”的点代表西尔维(Sylvie)关于情人安娜的问题:

同时,该空间的轴(实际上是三个以上)可能表示特定选项的情感调或主题相关性。

一旦我们以这种方式思考问题,就很明显,如果我们希望玩家感到他们的搜索始终是有效的,并且他们从中获得了很多表现力,就需要将状态空间填充得非常密集。系统。 显然,在合理的人类时间内,手动生成足够的变体以填充所有区域并不是真正可行的。

这是角色引擎的文本生成功能变得特别重要的地方。 创建新行时,作者可以使用生成语法来替换单个单词或整个短语,并将这些元素与不同的心情或主题相关联。 这是Restless的脚本视图,如Character Engine的创作工具所示:

我们可以为这些线中的任何一条线添加层次和变化层,以表示不同的世界状态和情感组合:

上面是几个构建该语法的屏幕,其中,如果主角表达愤怒(“强烈”)或悲伤(例如“挥之不去”),则“普遍”一词可能会用不同的阴影替换。 在很早的时候,系统中有许多副词用于饮-剧烈的lur饮,好玩的饮,怪诞的lur饮等-取决于您第一次配血时的心情。 该工具具有一些内置的规定,可从字典等中提取内容,以帮助作者更快地构建此类内容。

当然,另一点是关于我们如何处理这些选择并允许它们影响世界模型的。 Restless对此所做的努力比可能做的要少-我们随后进行的某些实验会更进一步。

但是,假设您已经编写了该系统,以生成“为什么不?”(好奇)和“为什么不呢?”(好奇+生气)结果生成的系统。 无论哪种方式,您都希望NPC回答问题,但是您也确实希望记录玩家选择愤怒的方式而导致的情绪变化。 角色引擎使用有限范围内的数字特征和费尔马风格的调整来跟踪此类事件。 这意味着您可以让玩家选择愤怒的举动,以使NPC每次(例如)每次都更加不悦,直到累加起来足以产生重大的行为变化。

(实际上,角色引擎可以比《 Restless》中介绍的要走得更远:社交行为模型允许角色根据他们的性格特征和当前情绪来决定如何响应输入。)

不安的结果

我对游戏的许多方面感到非常高兴。 这是一个游戏难题,但是它具有大量的可选内容和一系列可能的结尾,而我在大约40个小时的编写工作中就将它们拼凑在一起。 我估计在较少程序的系统中构建类似的东西至少要花费3倍的时间,并且给玩家带来更少的自由。

我也非常喜欢这样一个事实,我可以为主角提供一些特定于特定情感和主题组合的能力。 如果您与西尔维(Sylvie)谈论她的女友安娜(Anna), 您既生气又饿了,您可能会发表有威胁性的言论,暗示您可能想喝安娜的血。 这是主角是谁的令人毛骨悚然的解释。

如果我将这个选项作为一个更静态的对话树中的三个不可变选项之一,那将对游戏玩法产生更大的影响,因为我会一直强烈地向玩家说明主角想要谁成为。 将选项放入游戏中,但在玩家不得不刻意追求情感策略的地方,这使我可以包含功能,而不会在内容的方向上强烈偏向游戏。

总体而言,基于我们的反馈,该项目有一些收获:

大多数“无效”元素都非常容易解决,尤其是在已有这种经验的情况下。 因为这是一个游戏卡纸,并且是在很小的时间窗口内编写的,所以与您在游戏UI上通常进行的迭代相比,我们进行的迭代次数有限,而且我们的许多测试人员都已经熟悉该系统。 我们在实践中发现,有些玩家对可以更改菜单的事实感到困惑或惊讶。 我们根本没有讲授这方面的内容-在Restless中,用户最初的无知的唯一让步是,您从两种情感开始重新混合,而不是六种。

同样,对于这种规模的游戏,从较少的情感轴开始也许是合理的,也许只使用四个而不是六个,但是要付出更多的努力才能使组合游戏获得有趣的效果。 并非所有参与者都意识到情绪对可能有意义,这可能意味着我们仍然无法充分利用该状态空间。

许多玩家明确表示,他们喜欢将角色的文字重新生成,作为游戏的有趣/趣味性/玩具方面,而其他一些人则表示,允许他们这样做是一种情感上的疏远,而他们本来希望在看到变成文字之前,被迫做出情感反应。 这本来会更加内脏,我想特别是它将减少故事的背景探索方面,而转而真正强调情感上的争论。 底层引擎将允许这些能力中的任何能力在Unity UI级别上进行一些调整,因此,将来肯定有可能探索更多这些概念。

几个人提出的另一点是,主题选择自由让主角突然改变了话题。 该游戏确实限制了在某些地方-有时NPC会问您一个需要答案的重要问题,而不是非必修课-并且选择不做更多这样的选择。 我们还可以进行设置,以使玩家只能移至图形上与当前图形某种程度上相关的主题,或者使主题发生剧烈变化而使另一个角色感到惊讶/困惑。

从美学的角度来说,我还要说的是, Resless教会了我一些关于生成语法所换出的元素的理想大小的知识。 在这个项目中,我们经常为名词和动词提供许多替代形式,这可能导致一些习惯用法较少的表达,而实际上从游戏性的角度来看并没有提供很好的价值。 这项工作和随后的工作使我知道,专注于交换对话动作级别的元素通常更有价值:使用对冲的角色(“有点”,“有点”,“我认为[陈述]”) ? 强调,例如上面的“为什么不/为什么不地狱”示例? 某些单词和短语可以有效地交换,尤其是当它们是例如某个字符用来指代另一个字符的名称时。

但是,由此带来的收益并不是 “为所有事物提供变体。”而是,最好专注于变化,其中a)变化处于严格限制的生成空间内,而变化是关键所在(例如, Restless可以产生许多变化)可能的冰淇淋口味); 或b)差异与我们要交流的状态紧密相关。

结论

在这个领域还有很多其他的实验要做。 角色引擎足够灵活以允许许多不同的UI选择,并且这些选择可能会产生明显不同的玩家体验。

世界模型,叙事结构和动态生成文本的结合确实提供了自由,使低风险的探索性对话与高风险的情感性对话并排。 我们可以为玩家提供大多数对话游戏所没有的表达自由,并为这种体验提供更有效的内容。

如果您想与使用这些工具进行自己的工作取得联系,请保持联系。 可以通过spiritai.com与我联系,也可以通过这里的常规联系信息与我联系。