身临其境的故事

*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处

喜欢 Beyond the Dark 示例,我们的早期决策之一是在世界本身中尽可能多地展示游戏体验和故事。 这可能是一个复杂的过程,当您想要通过用户界面向玩家通信进度的同时也让他们感觉像是真正地位于您建造的世界中。 为了满足我们的体验目标,我们将信息展示分为四种方法:

  1. 视觉线索 - 对象、图像或组合资源,通过被动地强化故事或提供提示给玩家,当有道理时为世界提供。
  2. 故事 - 当玩家点击/点击特定房屋内的物品时,重要的故事信息显示在 在整个屏幕上显示 。 这个故事只对点击/点击对象的玩家可见。 音调总是是信息性的。
  3. 思考泡泡 - 当玩家单击/点击房屋中的特定物品时,会弹出一个文本对话框 "反应" 在对象附近 。 此故事只对点击/点击对象的玩家可见。 音调总是是第一人称和观察。
  4. 公告公示 - 当玩家在房屋中点击/点击损坏的物品时,第三人称对话框显示在 每个玩家的屏幕上一次 。 此故事有时会将所有玩家带到他们所在房间的腐败状态。

在这个部分,我们将展示我们使用这些技术和特定功能将玩家置身于我们的故事中,仍然鼓励探索、通信进度和保持游戏玩法都很公平的多人游戏体验。

一条关于角色内心思想的屏幕层次公告。
一个思想泡泡,或对象特定对话框,显示在您选择某些对象时。

视觉线索

视觉线索是一种重要的工具,既能强化故事,又能告诉玩家需要了解的内容 无需使用文字 。使用配置资产,例如黑板、

在祖父的房间里涂满了脚印,表达了祖父的迫切性质。
一大堆雕像和参考照片显示了女儿是一名艺术家。

我们的第一个规则是,如果我们想教玩家什么,它必须有理由存在,即使玩家不在场。如果我们放置了一个巨大的标志牌,上面写着清晰的说明,玩家不会在房子里出现。但如果我们设置了一个叔叔,他的墙壁上画着他的家园,那么在他的家园里,我们的家板就会变

我们的第二个规则是,我们不总是需要告诉玩家该如何做或解决谜题,因为它们对他们的环境非常有见解。例如,如果水中的电力线路坠落,就可以作为视觉提示来沟通玩家可能会被电气击中,如果他们继续移动在那个方向,这就是电气危险。

传说

除了使用视觉线索向玩家传递 passive 指南外,我们还选择在整个屏镜头上显示重要故事信息 about the family 作为开始房间的密室的前始者 ,以便当玩家单击或点击特定物品时,家长可以从周围的环境中选择

我们最初使用 Highlight 对每个玩家可以与之交互的对象,但视觉噪声很炫目,玩家不清楚要与哪个对象交互以便阅读故事。我们决定仅使用它来高亮腐败或危险的项目,并且这个视觉反馈允许玩家轻松驾驭故事。

有趣的事实:我们本来有关于您可以单击的一切的传统!这不是有用的,因为玩家不确定什么信息是重要的,什么只是为了口味。最终我们移除了大多数传统,并使用视觉提示来离开剩下的故事。

在玩家单击对象时,我们需要一个显示在屏幕顶部的信息。我们决定使用一个 ScreenGui

TextLabels

我们知道玩家使用各种设备(包括 PC、控制台和移动设备)来访问此体验,需要能够单击或点击屏幕以与体验互动。我们不想屏幕上有很多按钮,以便从故事中分心,因此我们为整个屏幕添加了隐藏的返回按钮,以便玩家能够单击或点击屏幕上的任何内容关闭内容并返回游戏。

思考泡泡

我们需要一个玩家的角色向玩家传达想法的方法,例如提供额外的故事风味或强化他们需要做的事。 我们的解决方案是显示思想泡泡,或 玩家角色的文本反应 ,当玩家选择它时,这种故事只会显示给点击或点击对象的玩家。 这种故事的风格总是是第一人称和观察。

一个相对简单但强大的系统,让世界反应玩家的交互!

要创建思想泡泡,我们将 BillboardGui 作为父级,与一个子级 TextLabel 对非常规对象显示对话框。这允许我们在 3D 空间的对象附近显示对话框,而不会让文本

"What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

通过使用 TextLabels 而不是图像,我们保持了文本可以被 Roblox 读取,我们能够自动本地化此内容并使其可以被更多玩家访问!有关此过程的更多信息,请参阅 自动翻译

公告

虽然我们想要玩家的角色有反应对世界,我们也想要世界本身有反应对他们的存在。为此,我们包括显示在每个玩家屏幕上的 公告 ,或第三

以白色文本为主要内容的公告是玩家的角色反应,不是像故事传播技术的对象。
发布公告时,文本的颜色是紫色的,这是由一个腐败的实体所致。
以黄色文本发布公告是恢复实体的反应。

通过使用 TextLabel.RichText 属性并在其中提供一些 HTML 命令来驱动更改,我们还可以在中间提供一些更改!例如,以下的 rich text 标记可以让我们打断玩家角色的反应,因为 corrupt entity 的思想:

What is…this…<br/><stroke color="#dcc7ff" joins="miter" thickness="2" transparency="0.5"><font size="60"><font color="rgb(10,8,11)"><i>....hunger….void….pull…</i></font></font></stroke>

我们有几个类型的公告,其中一个是由玩家走进的隐形部分音量,或者完

StoryNote 是一个我们通过脚本触发的对象。 这些脚本提供了我们想要的每个事件的文本和格式。
脚本调用该对象并定义文本,按事件定义。
TextLabel 实际上是空的,并使用我们插入的脚本按需注入 RichText 到同一个对象。