2026年10月26日

《模拟人生 4》中的智能体决策:效用评分、需求衰减与情绪

摘要

我们通过《模拟人生4》的游戏数据研究了其市民的运作方式。市民会根据自身需求为所有可选行动打分,保留分数最高的十个选项,然后通过加权投骰来决定行动。需求值在-100到100之间,并以固定速率下降。情绪是各种增益效果的权重之和。游戏只模拟当前地块上的市民,城镇的其他部分则是一组记录,每晚通过投骰来推进。本页将提供具体数值。

1 摘要

基于176,805条“调整”记录得出的七项结论:

  1. 市民通过效用评分来选择行动。每个需求会根据一条阶梯曲线产生一个欲望值。每个行动都会标明它能满足各项需求的程度。游戏将两者相乘,保留分数最高的10个选项,然后根据分数加权随机选择一个。
  2. 需求是一个从-100到100的数值,并以恒定速率下降。游戏不会实时更新它,而是在读取时计算当前值,并为下一个阈值设置一个提醒。在基础速率下,“饥饿”从满到空需要16小时,“卫生”需要48小时。随着需求值降低,衰减速度会减慢,因此市民能撑更久(表3)。
  3. 情绪由增益权重总和最大的情感决定。正面和负面权重不会相互抵消。一个“饥肠辘辘”的市民会带有40点“不舒服”情绪。
  4. 人际关系由“友谊”和“浪漫”两条轨道,外加短期情境构成。高浪漫度衰减最快:高于75时每天衰减6点。两个NPC之间的关系值永远不会下降。社交互动的结果由加权随机决定。
  5. 游戏只模拟当前地块上的市民。其他所有市民都只是一个带有细节等级的记录,总数上限为1041人。当一个NPC回到当前地块时,游戏会根据一天中的时段曲线来设定其需求。每晚2:30,故事续演系统会通过投骰来让出生、死亡、职业和搬家等事件的发生率接近目标比例。
  6. 个性主要体现为调整上述数值的隐藏增益。“贪吃”特质会将食物的欲望值乘以1.5,“邋遢”特质则会将卫生的欲望值乘以0.15。
  7. 规则由Python编写,并由数据驱动。引擎是C++。即便在单人模式下,它也像客户端与服务器一样与Python模拟层通信。一“模拟分钟”等于1.5真实秒。

2 研究方法

我们基于本地安装的《模拟人生4》进行研究,其游戏版本为2026年7月20日的补丁,包含基础游戏和78个DLC。游戏的规则是用Python编写的,其数值存储在“调整”数据中,这也是模组制作者编辑的数据。我们读取了117种类型的共176,805个“调整”实例。

局限性。若数据不明确,下文的数值则来源于设计师在可调整参数中写的描述。我们不会发布游戏文件,本页只提供名称和数值。

“模拟分钟”和“模拟小时”指游戏内时间。在1倍速下,一“模拟分钟”为1.5真实秒,因此一“模拟天”为36真实分钟。

3 市民如何选择

市民不是状态机,而是评分器。它会不时地审视周围的物体,为它们提供的行动打分,然后投骰决定做一个。评分有三个输入:市民对各项需求的渴望程度,行动对该需求的满足程度,以及行动所需的时间(包括走路)。

3.1 市民对事物的渴望程度

每个需求都有一个从-100到100的值。一条阶梯曲线将这个值转化为欲望值。曲线的阶梯很陡峭,在-25以下的每个区间都会让欲望值乘以约8倍。在-25以上时,六大需求中有四个完全不产生欲望。“娱乐”和“社交”的欲望值从不低于1,所以它们总能发出微弱的声音。

表1:六种成人需求的欲望曲线。数值→欲望。权重用于缩放结果。
需求−100-76至-51-50至-26-25及以上权重
饥饿1,02464(-76时为512)800.2857
膀胱1,024128800.05
精力25632802
卫生6488(-26时为4)00.25
娱乐1283284,在100时降至11
社交1283284,在100时降至10.5

来源:tuning/statistic/motive_*.xml

游戏按欲望值对需求进行排序,并保留所有欲望值至少达到最高值51%的需求。它只为那些能满足这些需求的行动评分。如果没有可行的行动,它会尝试下一个需求区间。在此步骤之前,特质和增益会乘以欲望值。

3.2 评分的简要说明

对于一个行动所能满足的每个需求,游戏会计算一个填充率:即标明的需求变化量除以行动的预期时长。有3222个行动使用默认时长30模拟分钟。然后游戏会计算一个效率:行动时长除以(行动时长+走路时间)。走路时间为每公里25模拟分钟。

需求分数 = 填充率 × 效率 × 欲望值 × 需求权重 × 物品偏好。如果市民已在进行的活动能满足同一需求,则新行动的分数会降为四分之一。

行动分数的计算基于需求分数的总和,再乘以户外、与目标模拟市民的关系、团体规模和情境等系数。若行动对象不在地块上,分数减半。之后,减去被新行动打断的行动的价值(若模拟市民需要变换姿势,则该价值乘以1.5),并加上可同时进行的行动的价值。若模拟市民正进行独占性活动,最终分数除以10。

3.3 选择

评分前,游戏会进行筛选。它会排除地块外超过25米的对象、走远超过15米的目标模拟市民,以及过去15个模拟分钟内互动失败的目标。对于多种同类行动,会随机保留3个。每个行动都有1到5的优先级,只有最高优先级的行动组会保留下来。如果不走路的最佳可能得分低于当前最高分的一半,游戏甚至不会计算路线。

然后游戏会对筛选后的行动排序,保留前10名,并移除得分为0或更低的行动。最后,游戏会随机选择一个行动,其被选中的概率等于其分数除以总分。如果所有分数为0,则选择最近的选项。

多任务处理会增加一次掷骰判定。游戏会计算正在进行的行动和新行动的专注力成本总和,然后参照一条曲线:成本为1时结果为1,1.5时为0.5,2时为0.1,3时为-0.5。如果一次随机掷骰的结果大于该数字,模拟市民就不会开始新行动。空闲的模拟市民总能通过判定。

3.4 自主性的运行

每个模拟市民都有一个以模拟时间计算的闹钟。首次运行是在模拟市民生成5个模拟分钟后。下一次延迟取决于结果。

表2:模拟市民再次思考前的等待时间。
情况下次运行时间
玩家给模拟市民下达了指令5个模拟分钟
上次运行未找到任何行动20到25个模拟分钟,随机
模拟市民有排队或正在进行的行动12到15个模拟分钟,随机
模拟市民无事可做立即

来源:tuning/tun/autonomy.autonomy_modes.xml

在3倍速、玩家关闭自主性或当前行动禁止多任务处理时,自主性不会运行。自主性服务每次只处理一个请求,每0.1个真实秒处理一部分。

长行动包含短行动,例如“聊天”包含“讲笑话”。当队列为空时,第二个评分器会选择短行动:首先根据最能满足的需求加权选择一个提供者,然后是一个组,最后根据内容分数加权选择一个短行动。

4 需求和心情

成年人的六项需求值范围都是-100到100。需求值低于-75时会感到痛苦。除了没有失败状态的“娱乐”,其他需求在-100时都会失败。需求值每低于-25一个档位,就会增加一个增益。增益可以改变衰减率,并增加某种情绪的权重。

表3:六种需求的衰减。“线性”指以基础速率衰减200点所需时间。“实际”则计入了各阶段状态效果带来的速率变化。
需求每模拟分钟点数从满到空,线性从满到空,实际-75及以下的情绪-100时
饥饿0.208316.0 h63.0 h不舒服,权重40饿死
精力0.138924.0 h24.0 h不舒服,权重3昏倒
膀胱0.173619.2 h18.0 h不舒服,权重40尿裤子
卫生0.069448.0 h42.1 h不舒服,权重2失败动画
娱乐0.148822.4 h24.0 h压力,权重3无
社交0.086838.4 h47.9 h伤心,权重3失败动画

来源:tuning/statistic/motive_*.xml、tuning/buff/Buff_Motives_*.xml

饥饿值越低,下降得越慢。低于-50时,速率降至十二分之一。因此,一个模拟市民可以保持10小时的正常状态,然后是24小时的“饥饿”和24小时的“极度饥饿”,最后才会死亡。相反,膀胱值则会加速下降:低于-25时速率变为1.2倍。新生成的模拟市民在头3天会获得隐藏增益以减缓需求衰减,例如膀胱×0.6和精力×0.7。

4.1 衰减不是定时扣除

游戏会储存上次需求值变化的时间。当代码读取需求值时,会加上“流逝的分钟数 × 速率”。为了在某个阈值触发行为,游戏会计算到达该值的时间并设置一个闹钟。每次速率变化都会先写入当前值,因此需求值是时间的分段线性函数。当一个行动改变某个需求时,该需求不会衰减。

4.2 心情

游戏会按情绪类型,将所有生效增益的心情权重相加。总权重最高的情绪将成为主导心情。正面和负面情绪的总权重不会互相抵消。如果没有带权重增益,心情就是“状态良好”。如果权重打平,则较早获得的增益所对应的情绪胜出。心情的等级取决于总权重达到了哪个阈值。

表4:各种心情的权重阈值。
心情阈值等级
生气3, 73
尴尬4, 83
爱玩8, 153
自信、活力、挑逗、专注、快乐、受启发82
伤心32
害怕、压力、不舒服42
无聊、发呆、状态良好、睡着无1

来源:tuning/mood/

只有当相反倾向的心情强度高一个等级时,才能取代当前心情。这可以防止心情来回摇摆。一些增益效果举例:“极度饥饿”提供40点“不舒服”权重;“尿裤子”提供5点“尴尬”权重,持续240分钟;用优质食材做出的美食提供3点“快乐”权重,持续360分钟,并将饥饿衰减减至五分之一;冲个冷水澡提供1点“活力”权重,持续240分钟。默认情况下,计时增益持续100个模拟分钟,且效果不叠加。

5 关系

每对模拟市民之间共享一段关系。关系包含两条长期发展的轨道:“友谊”和“浪漫”,数值范围从-100到100。两者都从0开始,并会随时间向0衰减。在长期关系之上还有一个短期情境,它会在对话中快速变化。

表5:两条长期关系轨道的衰减值,单位为点/模拟天。
友谊每日衰减浪漫每日衰减
-100到-704.0-100到-502
-70到-202.5-50到01
-20到351.00到253
35到601.525到504
60到1001.050到755
75到1006

来源:tuning/statistic/LTR_Friendship_Main.xml、LTR_Romance_Main.xml

任何非衰减引起的关系值变化都会让衰减暂停一个模拟日。与当前可玩家庭的模拟市民的关系总会衰减。与另一个玩家玩过的模拟市民的关系只在-20到20之间衰减。两个NPC之间的关系永不衰减。关系增益受年龄影响:成人之间×0.6,儿童之间×2.5。

关系标签在达到某个值时出现,在低于另一个值时消失,这样可以防止标签闪烁。例如,“朋友”在35点出现,30点消失;“好朋友”在60点出现,55点消失;“讨厌”在-20点出现,-15点消失。浪漫关系标签也需要友谊基础。当友谊达到60或更高时:“浪漫对象”在10点出现,“情侣”在25点,“爱人”在50点,“灵魂伴侣”在75点。“挚友”标签在友谊降至10点时移除。

来源:tuning/relbit/

5.1 表层对话

当前对话会影响四个情境条:友谊、乐趣、浪漫和尴尬。每次社交互动会使其中一个情境条的数值变动约10点,而其他情境条则会趋近于0。模拟市民分开后,情境值会以每分钟0.55点的速度衰减(从100降至0大约需要3个模拟小时),并最终趋向由双方情感决定的初始值:亲密+20,愤怒-50。

来源:tuning/statistic/SocialContext_*.xml

5.2 社交结果的判定

游戏通过一系列测试来计算得分,收集所有通过测试的结果,并根据权重选择其一。以友好闲聊为例,得分项包括:友好度(-70以下为-8,60以上为+8);友好情境+6,无聊情境-6到-15;发起者的情绪(快乐+5,自信+3,愤怒-3,悲伤-3,压力-5);倾听者处于愤怒状态-9;以及人物特质,影响值约为±3到±5。

“询问近况”在得分达到15或更高时成功,在-10或更低时失败,介于二者之间则获得少量增益。如果目标感到无聊,则会以999的权重触发无聊的结局,并消耗乐趣值。

关系值越高,增益越小。例如,小幅增益在关系值为-40以下时是+4,-40到0是+2,0到20是+1.5,20到40是+1,40以上是+0.5。而小幅损失在40以下是-2,40到80是-3,80以上是-4。因此,友谊越深厚,发展越慢,破裂也越快。双方的兼容性会以乘数影响结果:绝配×1.5,天作之合×1.25,糟糕×0.75,水火不容×0.5。

调情有其专属的得分项:浪漫度在50或以上+25,热情氛围+12,尴尬氛围-23,倾听者愤怒-20,卫生状况差-8到-12,魅力技能+2到+12,刚分手-18。

来源:tuning/test_based_score/scores_socialoutcomes_*.xml、tuning/action/Rel_Gain_Small.xml

6 玩家看不见的世界

游戏只完整模拟当前地块上的模拟市民。所有其他模拟市民都只是一个带有细节层次的记录,其需求处于冻结状态。当他们再次出现在屏幕上时,游戏会根据一天中的时间曲线来设定各项需求:饥饿值在6:00和18:00较低,饭后补满;精力在6:00是满的,22:00后走低;膀胱值在7:00、13:30和21:00充满。每个模拟市民都会有一个90到120分钟的随机时间偏移。若离场时间超过一个完整的模拟日,需求值将直接设为曲线值;若离场时间较短,游戏则会进行插值计算。玩家自己的家庭成员即使不在当前地块,其需求值也会如实衰减。

6.1 细节层次与上限

表6:游戏在各个细节层次保留的模拟市民信息,以及各层次可容纳的模拟市民数量。
层次游戏保留的信息上限
最低人际关系、特质、族谱100
后台+ 职业628
基础+ 需求、增益、服装170
互动过同基础100
完整+ 愿望、场外行动35
活跃(当前家庭)+ 抱负8

来源:tuning/tun/sims.culling.culling_tuning.xml

这些上限加起来总共是1041个模拟市民。这是一个存档所能容纳的总人口数。

6.2 凌晨2:30的故事进展

每个模拟日的凌晨2:30,游戏会运行故事进展系统。该系统分阶段进行,每个阶段会衡量一部分人口的状况,读取一个区间表,然后掷骰决定是否开启一个或多个故事线。默认情况下,这只会改变非玩家家庭,而不会影响玩家的家庭。

表7:主要阶段的区间表。人口占比 → 当晚触发故事线的概率及故事线数量。
阶段衡量指标区间
怀孕与领养婴幼儿至儿童在居民中的占比低于8%:100%,2条故事线。低于11%:85%,1到2条。低于14%:70%,1到2条。低于17%:50%,1条。低于20%:20%,1条。高于20%:0
意外死亡模拟市民占总人口上限的比例低于15%:0。低于20%:10%。低于50%:20%。低于90%:50%。高于90%:75%
迁入空置房屋的比例低于30%:0。低于80%:15%。高于80%:25%
迁出满员房屋的比例低于40%:0。低于70%:40%。高于70%:60%
找工作无业人口比例低于20%:10%。低于80%:50%。高于80%:67%
辞职、退休可辞职或退休的人口比例10%到33%
开始、结束、重启恋情10%到99%
友谊变化99%,1到5条故事线

来源:tuning/tun/story_progression.*.xml

所以,一个满员的城镇也是一个死亡率高发地。当人口达到上限的90%时,每晚就有75%的几率有人意外死亡。死亡章节会根据人物特质、职业和技能加权,从16种死因中选择一种。怀孕阶段则会以3:1:1:1的权重在怀孕和三种领养方式中进行选择。此外,还有一个较旧的循环系统每20个模拟分钟运行一次,轮流处理6项任务:初始人口、人口上限、假日租赁、关系清理、名声和大学。

6.3 清理

在凌晨2:00到6:00之间,当某个细节层次的人口超过上限时,游戏会将其削减至上限的85%。它会逐次将模拟市民降级。最后,它会删除整个家庭,每次运行最多删除10个。与玩家有家庭联系的模拟市民则会降至“最低”层次。故事进展系统也会为玩家操控过的NPC最多保留35个关系,并移除最弱的关系。

清理评分的计算方式是:与玩家操控过的模拟市民的关系深度,并根据该模拟市民最近一次在屏幕上出现的时间进行加权(0天前为1,3天前为0.8,21天前为0.3);(7减去该模拟市民上次在屏幕上出现的天数)×1.43;以及重要性:世界居民+10,预创建的模拟市民+10。玩家的模拟市民、地块上的模拟市民以及具有豁免特质的模拟市民永远不会被清理。

6.4 填充街道

游戏每5个模拟分钟会比较街道上期望的模拟市民数量与当前数量。期望数量是一条按天和小时变化的曲线。例如,花园郊区在工作日的00:00期望有3人,06:00为10人,17:00为15人,22:00为2人。场所每10个模拟分钟检查一次轮班情况。地块最多可容纳20个模拟市民(需减去当前家庭人数)。一旦超过上限,影响力最低的NPC就会离开。当需要为某个角色挑选NPC时,游戏会根据筛选条件为每个记录打分,并从得分最高的5个中随机选择一个。

6.5 寿命

表8:以模拟天数计算的生命阶段。寿命设置会以乘数影响每个阶段的长度。
阶段短普通长
婴儿0.514
新生儿2.5520
学步幼儿3.5728
儿童71456
青少年10.52184
青年1428112
成年2142168
老年71456
总计66132528

来源:tuning/snippet/agingTransition_Human_*.xml

新的NPC会从其当前生命阶段的随机时间点开始。在老年阶段结束时,地段外的NPC会立刻死亡,而地段内的NPC则会触发老年死亡的过场。在1倍速下,132个模拟日的正常寿命相当于79个真实小时。想了解这对游戏玩法的影响,请阅读《模拟人生4》寿命指南。

7. 特征、技能与职业

个性主要由隐藏增益效果构成。游戏本体的参数中包含317个隐藏特征、76个奖励特征、57个个性特征、46个“喜欢”、46个“不喜欢”、14个“恐惧”,以及12个由抱负提供的额外特征。模拟市民在婴儿时期有0个个性栏位,婴幼儿到儿童时期有1个,青少年时期有2个,青年起有3个。

特征通过四种方式起作用:它会添加增益效果,调整需求的渴望度、需求衰减速度或技能获取速度;它会添加一种隐藏的虚拟需求,只有特定行为才能满足,从而让市民的自主行为更频繁地选择这些行为;它会用专属增益效果替换通用增益效果;它还会添加“奇想”和社交互动。

  • 嘴馋:饥饿渴望度 × 1.5。独行侠:社交渴望度 × 0.5,社交需求衰减速度 × 0.5。邋遢:卫生渴望度 × 0.15,整理渴望度 × 0。
  • 懒惰:一种虚拟需求,每分钟下降0.4167点,最低为-100,此时渴望度为2,权重为0.15。在沙发上小睡可以满足此需求。健身疲劳度 × 2。与“好动”“雄心壮志”和“整洁”特征冲突。
  • 好动:一个从250到300开始的计数器,每分钟下降0.1。降到40或更低时,模拟市民会感到“紧张”,直到进行锻炼。
  • 忧郁:“悲伤”情绪变为“忧郁”。创意技能获取+1,获取速度 × 1.2;其他技能-1,获取速度 × 0.8。

来源: tuning/trait/、tuning/buff/Buff_Trait_*.xml

7.1 技能

一项主技能有10级。从一级升到下一级所需点数分别为100、1440、2160、3600、5280、7200、10140、13440、17100和21120。一项副技能只用前5级的数据。按照标准曲线,一项行为在1级时每分钟提供8点经验,9级时提供16点。因此,从1级升到2级大约需要4.5个模拟小时,而从9级升到10级大约需要33个模拟小时。“受启发”情绪能使创意技能的获取速度提升至1.4倍,“专注”情绪则能使心智技能的获取速度提升至1.4倍。技能永不衰退。

来源:tuning/tun/statistics.skill.xml

7.2 职业

在工作中,工作绩效每30个模拟分钟会根据公式(增益 × 工作状态 - 亏损)变化,并根据已完成的轮班时间比例进行调整。增益在1级时为60,6级时降至15,任何正面情绪可+10,“专注”情绪可再+10。亏损最多可因负面情绪-12,因“恐惧”-18。“努力工作”状态使增益乘以1.5,“摸鱼”状态则乘以0。绩效值范围为-100到100。达到100且技能达标即可晋升,-80时降职,-95时被解雇。出勤率低于80%会被扣薪。“技术达人”职业在1级时时薪为§31,在“创业”分支的顶端时薪为§516。

来源:tuning/career/career_Adult_TechGuru.xml

7.3 奇想

一个模拟市民有4个奇想栏位。“恐惧”栏位有40%的几率被填满。游戏会从抱负、特征、人际关系、场地、季节、职业、技能、需求和附近的物品中收集奇想组合。游戏会根据优先级(默认为5,刚被事件激活的为10)加权选择一个组合,然后根据权重选择一个奇想。一个与需求相关的奇想价值5点满意度,开创一个职业价值50点,晋升一次价值100点。奖励商店中有124件物品,价格从0到10000点不等。

来源:tuning/tun/whims.whims_tracker.xml

8. 游戏引擎

《模拟人生4》的C++引擎嵌入了Python 3.7。Python掌管着几乎所有游戏规则:服务、参数、互动、自主行为。C++负责渲染、寻路、动画、资源、建造模式和网络。Python通过带下划线前缀的原生模块来调用引擎功能,用于寻路、放置、动画和打包参数。

即使在单人模式下,模拟层和渲染层也如同服务器和客户端。当一个共享属性改变时,Python端会向日志中追加一个操作。操作共有269种。在每个游戏时钟周期,分发器会将这些操作打包成一个protobuf消息并发送出去。操作可以等待动画播放,以保证状态和画面同步。客户端则通过控制台命令来回应。

区域加载时,约70个游戏服务和50个区域服务会按固定顺序启动。每个游戏时钟周期,时钟会推进,调度器运行,服务更新,然后操作被发出。调度器是一个由定时元素组成的堆。游戏代码是用Python生成器编写的,它们会产生子元素,因此一个长动作就是一个协程。每次调度器运行的时间片为50毫秒。

表9:游戏速度。在1倍速下,一模拟分钟等于1.5真实秒。
速度倍率一模拟日的真实时间
1136分钟
2312分钟
37约5分钟
超级3倍速(所有市民都睡着时)361分钟

一个时钟步长的上限为5真实秒。一周有7天。新游戏从周日早上8点开始。一个名为Commodity的Python类有数百个经过调整的子类,每个需求对应一个。模组(Mod)也采用相同的设计:一个独立的调整参数资源会替换掉ID相同的内置资源,而脚本模组则是一个包含游戏会导入的Python模块的zip文件。

9. 这对生活模拟游戏意味着什么

《模拟人生4》是一项围绕单一限制精心打造的工程:它必须能在2014年的CPU上运行。因此,世界只是一个地段,而城镇只是一张数据表。1041条记录,每晚一次的随机判定,以及一条时间曲线,在你看到邻居的那一刻,才把需求赋予他们。这套机制之所以能奏效,是因为玩家永远看不到幕后的运作。

LifeSim则走了另一条路。地图是真实的地球,精确到街道。人不再是一个地段和一张数据表。每个人都有一套由AI为他们编写的日常活动,并由一个智能体控制器来执行:他们去哪里,作息时间如何,路上会遇到谁。世界的规则和限制是系统0。遵循日程安排的人是系统1。

系统2是一个语言模型,在游戏需要时为角色进行思考。它决定角色说什么,下一步想要什么,以及如何解释。这正是《模拟人生4》在2014年无法实现的部分,也正是它将一个日程表变成了一个会记住你的人。你可以在play.lifesim.com上亲自体验。

10. 常见问题

为什么我的模拟市民会尿裤子?

“膀胱”需求每分钟下降0.1736点,低于-25后下降速度加快1.2倍。从满到空需要18个模拟小时。低于-25时,自主行为会以8的渴望度寻找厕所;低于-50时渴望度为128;低于-75时为1024。但“膀胱”需求的权重仅为0.05,是六大需求中最低的,所以如果厕所太远,或者“娱乐”“社交”需求更强烈,市民仍可能选择其他行为。需求降到-100时,市民会尿裤子,并获得持续240分钟的“尴尬+5”情绪。此外,在3倍速下或在禁止多任务处理的行为期间,自主行为不会运行。

故事推进多久运行一次?

每个模拟日的凌晨2:30运行一次。每次运行时都会根据一个概率表进行判定。还有一个较小的循环每20个模拟分钟运行一次,轮流执行六项整理工作。“市民清理”功能会在凌晨2:00到6:00之间运行,最多会删除10个家庭。

一个模拟日有多长?

1倍速下为36真实分钟,2倍速下为12分钟,3倍速下约5分钟,当所有人都睡着时,超级速度下为1分钟。一模拟分钟等于1.5真实秒。在1倍速下,132个模拟日的正常寿命相当于79个真实小时。

游戏会模拟不在当前地段的市民吗?

不会。不在当前地段的市民只是一条条记录,他们的需求不会变化。当他们再次出现时,游戏会根据一天中的时间曲线来设定他们的各项需求,并附加一个最多90到120分钟的随机偏移。只有你自己的家庭成员在离开地段时,需求才会真实衰减。NPC的职业会跳过工作事件和家庭作业。NPC仍然会变老。两个NPC之间的关系永远不会衰减。

《模拟人生4》的AI是基于效用理论的吗?

是的。每个行为都会标示它能满足各项需求的程度。游戏将这个数值乘以市民对该需求的渴望度,根据步行时间进行调整,保留得分最高的10个选项,然后按得分比例随机选择一个。游戏没有行为树或规划器。个性是通过改变渴望度的乘数来起作用的。

引用

引用本文请注明:

@misc{lifesim2026howthesims4works,
  title  = {Agent Decision-Making in The Sims 4: Utility Scoring, Need Decay and Mood},
  author = {{Cris Lenta}},
  year   = {2026},
  month  = {oct},
  url    = {https://lifesim.com/research/how-the-sims-4-works}
}