【你的人生】游戏资讯丨生活更新: 特质——深入探究◇《Life By You》用户疑问解答

【游戏介绍】
游戏名称: Life by You
中文名称:你的人生
类型: 模拟经营 抢先体验
平台:Steam Epic
开发商: Paradox Tectonic
发行商: Paradox Interactive
抢先体验版发行日期:2024 年 3 月 5 日


(一)特质*有哪些类型?
*【Traits】网络原译为“特征”,但本次起改译为“特质”。
【性格】
大多数人在听到“特质”时通常会想到这些——影响他们行为的性格的永久方面。
【条件】
这些是暂时的性格状态,如“疼痛”(由于锻炼)、“晒伤”(由于日光浴时间过长)和“被蜜蜂蜇”(由于被蜜蜂蜇),它们会持续有限的时间或直到通过交互移除。
【情绪】
情绪状态由角色情绪统计数据的变化或进行的交互决定,从技术上讲,情绪是条件的子集。
【需求状态】
这些特质反映了角色当前的需求状态,当他们处于关键状态时发出信号。
【关系】
这些特质的功能更像是状态标记,跟踪两个角色之间的关系状态(例如“恋爱”、“约会”、“鄙视”),0任何以 r_ 开头的特质都是关系特质。
【对象状态】
这些功能类似于条件,但针对的是对象而不是人类。例如,当将 Food_Hot 特质分配给一盘食物时,它会打开蒸汽粒子效果。
【计时器】
当您需要脚本或条件检查以设定的时间间隔运行时,定时特质目前是您的最佳选择。这些通常隐藏在用户界面中,并且更像是脚本的扩展而不是传统的特质。


(二)特质会影响什么?
当谈到特质会影响什么时,你可以随心所欲地掌控这一切。下面这是一个方便的小指南,它概述了我们如何选择使用每种类型的特质。
对于人格特质,“人格”的概念非常广泛,我们将其细分为更多类别,每个类别都侧重于特定类型的效果。
【生活方式】
生活方式决定了角色的ai可能执行的操作,它们使用交互属性中的特质吸引力设置,因此您可以设置某种交互对于该生活方式的可能性。例如锻炼互动对主动特质具有很高的特质吸引力,这意味着当主动角色的AI选择下一步行动时,锻炼互动优先于非锻炼互动。从技术上讲,任何特质都可以在特质吸引力中引用,我们只是选择将生活方式特质集中在该领域。
【天赋】
天赋决定了角色擅长哪些技能,我们希望将其与进行相同活动的可能性分开。这就是我们允许出现懒惰的运动员、平庸的恶作剧者和不善于理财的商业大师等人的原因。每个技能都有相应的天赋特质,可以提供额外的经验值并提高该技能的成功率。您将能够学习的一些才能包括:
运动:增强体质
天才:提升学术水平
绿拇指:促进园艺
诡计多端:助长恶作剧
【态度】
态度决定了角色如何应对情绪变化。如快乐的提升会增加到幸福,头脑发热的提升会增加到愤怒,戏剧性的提升会增加到一切。
【怪癖】
怪癖可以解锁独特的交互,对行为进行轻微的改变,以及或可能修改条件检查。例如,凌乱的角色会忽略他们遇到的混乱的反应触发器。
【喜欢/不喜欢】
喜欢与否可以决定了角色喜欢做什么,用喜欢标记的互动会增加幸福感,而不喜欢的互动会让他们感到悲伤或非常悲伤。
【背景】
背景目前是一项正在进行的工作,最初这些计划是作为叙事风味文本,我们目前正在探索添加游戏效果的可能性。
我们没有对所有特质类型可能影响的内容进行自我限制,但一般来说,您可以期待以下内容:
情绪——改变角色的肖像表情和闲置动画
需求状态——改变角色的肖像表情、空闲动画,并确定角色是否昏倒
关系——主要用于对话和人与人之间的互动的条件检查
对象状态——对象的视觉变化
计时器——这些不会直接影响游戏玩法,但用于触发会影响游戏玩法的脚本


(三)什么是抑制特质、支持/互惠特质和反对特质?
【抑制特质】
这个真的很容易混淆,所以我建议将这些规则放在便笺上,以便在您经常进行特质抑制时方便参考:
假设你的特质 A 抑制了特质 B……
特质 B 不能分配给具有特质 A 的角色
特质 A 可以分配给已经具有特质 B 的角色
如果角色同时具有特质A和特质B,特质A将阻止特质B的任何效果
如果在特质 A 处于活动状态时删除,特质 B 的 OnRemove 脚本仍会激活
抑制有助于管理特质之间的潜在冲突。例如,如果您决定角色在悲惨情绪特质处于活动状态时不应获得快乐情感特质,则只需将悲惨设置为抑制快乐即可。
【支持/反对特质】
这些特质的主要目的是在角色创建过程中防止或允许某些特质组合,特别是在关系特质方面。
例如,我们使用相反的特质来防止你的角色的妹妹也成为他们的祖母,或者你的懒惰性格也变得活跃。
基于这些类别的激活和停用特质选择会在角色创建器中自动处理,但如果您需要在脚本中检查它们,也可以使用 HasOppositingTrait 和 HasSupportingTrait 条件命令。


(四)就个人而言,您最喜欢游戏中的哪些特质?
作为混乱的常驻预兆,怪癖是我最喜欢的,因为它们通常是我“如果......”时刻的产物。
例如,“无耻”特质无视公共礼仪规则——对你来说,所有植物都是厕所——却从未感到尴尬。
古怪的特质可以让你与某些无生命的物体交谈。
然而,目前我最喜欢的是善变的特质,它引入了第二天早上醒来时有不同好恶的随机机会。


(五)用户问答
1. 标签在创建特质时如何发挥作用?
标签在特质编辑器的组织选项卡中分配,并确定可以将特质分配给什么和/或它是否在 UI 中可见。以下是我们常用的一些标签:
AvatarCreation:允许在角色创建器中查看和选择特质
Lifestage Tags(例如_Adult、_Elder等):确定角色必须处于哪个生命阶段才能被分配特质
HumanTraits:在将特质分配给人类时允许特质显示为选项
Hidden:隐藏 UI 中的特质
您还可以创建自己的标签以随心所欲地使用,标签对特质至关重要的另一种方式与交互脚本包装器有关,但这在不同的答案中有所涉及。

2. 如何为特质构建脚本,以及可为特质提供什么样的脚本?
每个特质都附带一组内置脚本,位于特质编辑器的“函数”选项卡中。
OnAdd:分配特质后立即运行
OnRenew:当将定时特质分配给已激活该特质的角色时运行(这也会重置该特质的计时器)
OnRemove:删除特质后立即运行
如何使用这些脚本完全取决于您需要特质做什么,但这里是我使用含咖啡因特质作为示例的典型脚本设置。就上下文而言,含咖啡因特质完全满足一段时间的休息需求,然后根据您喝的咖啡因量导致咖啡因崩溃。
OnAdd脚本是我放置任何HUD(平视显示器)通知、即时效果和变量设置的地方,对于含咖啡因的,这包括:
充分满足休息需要
在角色上创建 CoffeeCount 变量
显示 HUD 通知,表明您已获得该特质

OnRenew脚本是我通常处理任何变量更改或重复效果的地方。请记住,OnRenew 脚本仅适用于未选中“不可更新”框的定时特质。
每次您在咖啡因活跃时饮用咖啡因,含咖啡因的特性都会更新使用本问题范围之外的方法。含咖啡因会阻止您的 Rest 需求增加,直到将其删除为止。因此其 OnRenew 脚本所需要做的就是增加角色上的 CoffeeCount 变量。

OnRemove是我触发任何最终效果、清理变量并将事物恢复到原始状态的地方,删除含咖啡因后,其 OnRemove 脚本将执行以下操作:
发出“咖啡因崩溃来了!”的声音的思想泡泡。
根据 CoffeeCount 变量计算 Rest 需求将增加多少
将休息需求增加相应数量
从角色中删除所有与特质相关的变量

基本上就是这样,综上所述,这些脚本完全是可选的,不需要时可以留空。
3. 什么是交互脚本包装器?
当谈到可视化脚本时,没有什么比链接条件语句的噩梦网更能让我更快地开始翻转表格了。它们看起来令人难以抗拒,使调试过程变得复杂,并且通常给人一种“一定有更好的方法”的感觉,让我内心的程序员哭泣。
因此,当面临手动将 HasTrait 条件添加到受特质影响的每个交互时,我对此抱怨不已,直到我们的一位令人惊叹的(耐心的)工程师提出了交互脚本包装器。
包装就像交互肉饼周围的汉堡包,允许您在交互之前和之后运行其他命令。它们位于 Traits Editor 的 Function 选项卡下,您可以在其中定义任意数量的 Wrapper 脚本来触发交互标签。例如,likes_exercise 特质有一个包装器,每当角色执行标记为锻炼的交互时就会激活该包装器。
这意味着,如果您具有将相同效果应用于大量交互的特质,则无需将相同的少数命令复制并粘贴到所有这些脚本中,您只需在这些交互和包装器句柄上添加一个标签即可一切都是自动的。如果多个特质可能影响交互,它还消除了对链式条件的需要。
包装器的一般结构是:
在交互之前运行的命令 -> RunEmbeddedInteraction(又名交互) -> 在交互之后运行的命令
下面是一个游戏中的示例,显示了运动特质的包装脚本,该脚本在与 Skill_fitness 标签交互后授予额外的健身经验值。

这里要注意的主要事情是,RewardSkillPractice 命令仅在交互成功完成时才会触发(即脚本在绿色节点上结束),否则即使您中途取消交互,也会授予 XP。如果成功完成对您的包装器并不重要,只需让红色节点也连接到下一个命令即可。
以下是编写脚本时要记住的关于包装器的两个最后注意事项:
一次只能将 1 个包装器应用于交互。如果角色具有触发相同交互标签的包装器的多个特质,系统将随机选择一个。
交互可以在 RunEmbeddedInteraction 命令之前访问 Wrapper 中声明的变量,但 Wrappers 无法访问交互中声明的变量。

4. 您还可以个性化您的角色特质以与其他角色的特质互动吗?例如,我注意到你可以将对象与特质联系起来(例如,将壁炉与“舒适”特质相关联),但是你能否为你的角色创建一个自定义特征,例如“坚固”,这涉及到他们对拥有“舒适”特质的角色做出负面反应“脆弱”特质?
对于对话,绝对!我们有很多工具可以允许基于两个角色之间的关系(由关系特质标记)的对话场景,因此您没有理由不能基于其他类型的特质创建自定义场景。
在交互方面,情况略有不同。从技术上讲,您可以简单地将具有唯一结果的 HasTraitTarget 条件添加到交互脚本中,但是我们目前没有一种简单的方法来大规模地根据另一个角色的特质触发效果,就像我们对交互脚本包装器所做的那样。随着我们继续开发我们的工具,我们希望添加更多用户友好的方式来支持这种类型的特质使用。
5. 我们是否还可以为建筑物分配一些特质,以吸引特定人物的个性或生活方式,从而比其他地方更频繁地光顾这些地段?
目前我们无法为建筑物或地块分配特征,但这是一个有趣的想法!目前,将某些性格类型吸引到特定位置的最佳方法是增加该区域周围互动中所需特质的特质吸引力。
6. 角色创建者中特质的颜色编码是否表明它们属于哪些标签?每个角色允许有多少个“槽位”?每种标签的数量是否有限制或建议?
颜色编码指示该特质所属的人格子类别,该子类别与该特质的标签无关,因此您已经获得了正确的部分!我们决定将每个子类别的字符限制为 2 个位置,但“喜欢/不喜欢”除外,每个子类别允许 5 个字符。这是为了避免我们所说的“特质汤”,即过多冲突的交互脚本包装器会导致角色的行为和反应就好像完全随机一样。
7. 我们可以拥有有条件的情绪吗?那么,有些宿醉的人可能会感到悲伤,有些人会生气,有些人只是性格孤僻?
当然!以您的宿醉为例,当某人收到宿醉状况时,其 OnAdd 脚本可能会根据角色的性格特质和 HasTrait 条件来增加或减少某些情绪统计数据。

更多详细资讯请移步论坛新版区
【Life by You 综合区】
https://www.sglynp.com/f48

图 / 文 / Life by You官网、兔酱 翻译 / PEApink 编辑/兔酱