2026年10月26日
《模擬市民 4》中的角色決策:效用分數、需求下降與心情
摘要
我們研究了《模擬市民 4》如何運行其模擬市民,資料來自遊戲本身。模擬市民透過評估每個選項與其需求的符合程度來選擇行動,保留十個最佳選項,然後擲加權骰子。需求是從 -100 到 100 的數字,以固定速率下降。情緒是權重的總和。只有當前地段上的模擬市民會被模擬。城鎮的其餘部分是一組記錄,每天晚上透過擲骰子推進一次。此頁面提供相關數字。
1 摘要
七項結果,來自 176,805 筆調整記錄:
- 模擬市民透過效用評分來選擇。 每個需求都會從階梯曲線產生一個慾望。每個動作都會宣傳它能滿足每個需求的程度。遊戲將兩者相乘,保留 10 個最佳選項,然後隨機選擇一個,並根據分數加權。
- 需求是一個從 -100 到 100 的數字,以恆定速率下降。 遊戲不會即時更新它。它在讀取時計算值,並為下一個閾值設置一個警報。以基本速率計算,飢餓從滿到空需要 16 小時,衛生需要 48 小時。隨著需求下降,衰減會減慢,因此模擬市民持續時間更長(表 3)。
- 心情是增益權重總和最大的情緒。 正面和負面權重不會相互抵消。一個飢餓的模擬市民會帶著 40 點不適。
- 關係是兩條軌跡,友誼和浪漫,加上一個短期情境。 高浪漫度衰退最快:超過 75 點每天減少 6 點。兩個 NPC 永遠不會失去他們的關係。社交的結果是加權隨機選擇。
- 只有當前地段上的模擬市民會被模擬。 其他所有人都只是一條記錄,具有一定程度的細節,總數上限為 1,041 個模擬市民。當 NPC 返回時,遊戲會根據時間曲線設定其需求。每天晚上 02:30,故事進程會擲骰子,以使出生、死亡、工作和搬家接近目標比例。
- 個性主要隱藏在增益中,這些增益會調整上述數字。貪吃會將對食物的慾望乘以 1.5。邋遢會將對衛生的慾望乘以 0.15。
- 規則是 Python,資料驅動它們。 引擎是 C++。它與 Python 模擬作為客戶端與伺服器進行通訊,即使在單人遊戲中也是如此。一模擬分鐘是 1.5 實際秒。
2 方法
我們從本地安裝的《模擬市民 4》開始,補丁日期為 2026 年 7 月 20 日,包含基礎遊戲和 78 個擴展包。遊戲規則以 Python 編寫,其數值存在於「調整」中,這是模組製作者編輯的相同資料。我們讀取了 117 種類型的 176,805 個調整實例。
限制。如果資料不清楚,下面的數字來自設計師在可調整參數中寫的描述。我們不發布遊戲檔案。此頁面僅提供名稱和數字。
「模擬分鐘」和「模擬小時」是指遊戲時間。在速度 1 下,一模擬分鐘需要 1.5 實際秒,因此一模擬天需要 36 實際分鐘。
3 模擬市民如何選擇
模擬市民不是狀態機。它是一個評分者。它會不時地觀察周圍的物體,評估它們提供的動作,然後擲骰子選擇一個。評分有三個輸入:模擬市民對每個需求的渴望程度、動作滿足該需求的程度,以及動作所需的時間,包括走路。
3.1 模擬市民對某物的渴望程度
每個需求都有一個從 -100 到 100 的值。一個階梯曲線將該值轉換為慾望。這些階梯很陡峭。低於 -25 的每個區間都會將慾望乘以約 8。高於 -25 時,六個需求中有四個根本沒有宣傳。樂趣和社交從未低於 1,因此它們總是有一個微弱的聲音。
| 需求 | −100 | −76 到 −51 | −50 到 −26 | −25 及以上 | 權重 |
|---|---|---|---|---|---|
| 飢餓 | 1,024 | 64(在 −76 時為 512) | 8 | 0 | 0.2857 |
| 膀胱 | 1,024 | 128 | 8 | 0 | 0.05 |
| 精力 | 256 | 32 | 8 | 0 | 2 |
| 衛生 | 64 | 8 | 8(在 −26 時為 4) | 0 | 0.25 |
| 樂趣 | 128 | 32 | 8 | 4,在 100 時降至 1 | 1 |
| 社交 | 128 | 32 | 8 | 4,在 100 時降至 1 | 0.5 |
來源:tuning/statistic/motive_*.xml
遊戲會根據慾望對需求進行排序,並保留所有慾望至少達到最高慾望 51% 的需求。它只會評估那些宣傳這些需求的動作。如果沒有一個動作有效,它會嘗試下一個需求區間。特徵和增益會在這一階段之前將慾望相乘。
3.2 評分說明
對於動作所宣傳的每個需求,遊戲會計算一個填充率:宣傳的需求變化量,除以動作的預期長度。3,222 個動作使用預設的 30 模擬分鐘長度。然後它會計算效率:動作的長度除以長度加上走路時間。走路時間是每公里 25 模擬分鐘。
需求分數是填充率 × 效率 × 慾望 × 需求權重 × 物件偏好。如果模擬市民已經在做的某件事滿足了相同的需求,分數會減為四分之一。
動作分數是其需求分數的總和,乘以一個戶外因素、一個與目標模擬市民關係的因素、一個群體大小的因素,以及一個情境因素。然後:如果物件不在地段上,則分數減半。減去新動作將取消的任何值的 1.5 倍(如果模擬市民必須改變姿勢)。加上與之並行的任何值的總和。如果模擬市民處於獨佔情境中,則除以十。
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個模擬分鐘。下次延遲時間取決於結果。
| 情況 | 下次運作時間 |
|---|---|
| 玩家下達指令 | 5個模擬分鐘 |
| 上次運作無發現 | 20到25個模擬分鐘(隨機) |
| 模擬市民有排隊或正在執行的動作 | 12到15個模擬分鐘(隨機) |
| 模擬市民無事可做 | 立即 |
來源:tuning/tun/autonomy.autonomy_modes.xml
自主性不會在速度3時運作,當玩家關閉它時,或當正在執行的動作禁止多工處理時。一個服務一次處理一個請求,每次0.1秒的真實時間。
長動作會保留短動作。「聊天」會保留「講笑話」。當佇列為空時,第二個評分器會選擇短動作:由其最佳需求加權的提供者,然後是群組,然後是由其內容分數加權的短動作。
4 需求與情緒
所有六個成人需求都從−100到100。痛苦從−75開始。失敗在−100,除了樂趣,它沒有失敗。每個低於−25的區間都會增加一個增益。增益可以改變衰減率並增加一個情緒的權重。
| 需求 | 每模擬分鐘點數 | 從滿到空(線性) | 從滿到空(真實) | −75及以下的情緒 | 在−100 |
|---|---|---|---|---|---|
| 飢餓 | 0.2083 | 16.0 h | 63.0 h | 不舒服(權重40) | 餓死 |
| 精力 | 0.1389 | 24.0 h | 24.0 h | 不舒服(權重3) | 昏倒 |
| 膀胱 | 0.1736 | 19.2 h | 18.0 h | 不舒服(權重40) | 尿褲子 |
| 衛生 | 0.0694 | 48.0 h | 42.1 h | 不舒服(權重2) | 失敗動畫 |
| 樂趣 | 0.1488 | 22.4 h | 24.0 h | 壓力大(權重3) | 無 |
| 社交 | 0.0868 | 38.4 h | 47.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 情緒
遊戲會將每個活躍增益的情緒權重加起來,每個情緒。總和最大的情緒獲勝。正面和負面總和不會相互抵消。如果沒有加權增益,情緒為「良好」。如果平手,較舊的增益獲勝。情緒的等級是總和達到閾值的數量。
| 情緒 | 閾值 | 等級 |
|---|---|---|
| 生氣 | 3, 7 | 3 |
| 尷尬 | 4, 8 | 3 |
| 愛玩 | 8, 15 | 3 |
| 自信、精力充沛、調情、專注、快樂、受啟發 | 8 | 2 |
| 悲傷 | 3 | 2 |
| 害怕、壓力大、不舒服 | 4 | 2 |
| 無聊、暈眩、良好、睡著 | 無 | 1 |
來源:tuning/mood/
只有當另一種極性的情緒強度高於當前情緒一個等級時,才會取代當前情緒。這可以防止情緒來回波動。一些增益值:飢餓會給予不舒服40。尿褲子會給予尷尬5,持續240分鐘。用好食材做的一頓美餐會給予快樂3,持續360分鐘,並將飢餓衰減減慢到五分之一。快速淋浴會給予精力充沛1,持續240分鐘。定時增益預設持續100個模擬分鐘,並且不會與自身疊加。
5 人際關係
每對模擬市民共享一種關係。它有兩個長期軌跡,友誼和浪漫,從−100到100。兩者都從0開始並衰減到0。一個短期情境位於上方,並在對話期間快速移動。
| 友誼 | 每天衰減 | 浪漫 | 每天衰減 |
|---|---|---|---|
| −100到−70 | 4.0 | −100到−50 | 2 |
| −70到−20 | 2.5 | −50到0 | 1 |
| −20到35 | 1.0 | 0到25 | 3 |
| 35到60 | 1.5 | 25到50 | 4 |
| 60到100 | 1.0 | 50到75 | 5 |
| 75到100 | 6 |
來源: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 社交如何解決
遊戲會根據測試計算分數,收集通過測試的結果,並根據權重選擇一個。對於友善的閒聊,分數會增加:友誼從−8(低於−70)到+8(高於60);友善情境+6,無聊情境−6到−15;演員的情緒,快樂+5,自信+3,生氣−3,悲傷−3,壓力大−5;生氣的聽眾,−9;特徵,約±3到±5。
「詢問今天過得如何」在分數達到15或更高時成功,在−10或更低時失敗,並且在兩者都不適用時獲得少量增益。無聊的目標以999的權重獲勝,但會消耗樂趣。
隨著關係提升,增益會縮小。當關係低於 -40 時,小幅增益為 +4;到 0 為 +2;到 20 為 +1.5;到 40 為 +1;40 以上為 +0.5。小幅損失為 -2;從 40 開始為 -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 詳細程度與上限
| 層級 | 遊戲保留的資訊 | 上限 |
|---|---|---|
| 最低 | 人際關係、特徵、家族樹 | 100 |
| 背景 | + 職業 | 628 |
| 基礎 | + 需求、增益、服裝 | 170 |
| 互動過 | 與基礎相同 | 100 |
| 完整 | + 願望、外出行動 | 35 |
| 活躍(家庭) | + 抱負 | 8 |
來源:tuning/tun/sims.culling.culling_tuning.xml
這些上限加起來總共有 1,041 個模擬市民,這是一個存檔可以容納的全部人口。
6.2 故事進程(02:30)
每個模擬日一次,在 02:30,遊戲會運行故事進程。它分階段進行,每個階段測量人口的一部分,讀取一個頻段表,並擲出一個機會來啟動一個或多個故事情節。預設情況下,它會改變其他家庭,而不是玩家的家庭。
| 階段 | 測量 | 頻段 |
|---|---|---|
| 懷孕與領養 | 嬰兒到兒童的居民比例 | 低於 8%:100%,2 個故事情節。低於 11%:85%,1 到 2 個。低於 14%:70%,1 到 2 個。低於 17%:50%,1 個。低於 20%:20%,1 個。以上:0 |
| 意外死亡 | 模擬市民佔上限的比例 | 低於 15%:0。低於 20%:10%。低於 50%:20%。低於 90%:50%。以上:75% |
| 搬入 | 空屋比例 | 低於 30%:0。低於 80%:15%。以上:25% |
| 搬出 | 滿屋比例 | 低於 40%:0。低於 70%:40%。以上:60% |
| 找工作 | 無工作比例 | 低於 20%:10%。低於 80%:50%。以上:67% |
| 辭職、退休 | 可辭職或退休的比例 | 10% 到 33% |
| 開始、結束、重新開始戀情 | 10% 到 99% | |
| 友誼變化 | 99%,1 到 5 個故事情節 |
來源:tuning/tun/story_progression.*.xml
所以一個滿員的城鎮是個危機四伏的城鎮。當人口達到上限的 90% 時,每晚有 75% 的機會有人意外死亡。死亡章節會選擇 16 種死因之一,並根據特徵、職業和技能進行加權。懷孕階段會選擇懷孕或三種領養方式之一,權重為 3:1:1:1。一個較舊的循環也會每 20 個模擬分鐘運行一次,並輪流處理 6 項工作:初始人口、人口上限、度假租賃、關係淘汰、名聲和大學。
6.3 淘汰
在 02:00 到 06:00 之間,當一個層級超過其上限時,遊戲會將其削減到上限以下 15%。它會一次將模擬市民降級一個層級。最後,它會刪除整個家庭,每次運行最多 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 壽命
| 階段 | 短 | 正常 | 長 |
|---|---|---|---|
| 嬰兒 | 0.5 | 1 | 4 |
| 幼兒 | 2.5 | 5 | 20 |
| 學步兒 | 3.5 | 7 | 28 |
| 兒童 | 7 | 14 | 56 |
| 青少年 | 10.5 | 21 | 84 |
| 青年 | 14 | 28 | 112 |
| 成人 | 21 | 42 | 168 |
| 老年 | 7 | 14 | 56 |
| 總計 | 66 | 132 | 528 |
來源:tuning/snippet/agingTransition_Human_*.xml
一個新的 NPC 會在其階段的隨機點開始。在老年階段結束時,不在地段上的 NPC 會立即死亡。在地段上的 NPC 會出現老死場景。一個 132 個模擬日的正常壽命,在速度 1 下是 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 點,最低慾望為 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、1,440、2,160、3,600、5,280、7,200、10,140、13,440、17,100 和 21,120。次要技能使用前 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 到 10,000 點不等。
來源:tuning/tun/whims.whims_tracker.xml
8 遊戲引擎
《模擬市民 4》是一個嵌入 Python 3.7 的 C++ 引擎。Python 包含了幾乎所有規則:服務、調整、互動、自主性。C++ 負責渲染、路徑規劃、動畫、資源、建造模式和網路。Python 透過帶有前導底線的原生模組(用於路徑、放置、動畫和打包調整)與引擎連接。
模擬和渲染器是伺服器和客戶端,即使在單人遊戲中也是如此。當共享屬性改變時,Python 端會將一個操作附加到日誌中。有 269 種操作。每個時鐘週期,分發器會將它們打包成一個 protobuf 訊息並發送。一個操作可以等待動畫,因此狀態和畫面保持同步。客戶端會以控制台命令回應。
在區域啟動時,大約 70 個遊戲服務和約 50 個區域服務會以固定順序啟動。每個時鐘週期,時鐘推進,排程器運行,服務更新,操作發出。排程器是一個定時元素的堆。遊戲程式碼寫成 Python 生成器,產生子元素,因此一個長時間的動作是一個協程。每個排程器運行都有 50 毫秒的時間片。
| 速度 | 倍數 | 一個模擬日所需的實際時間 |
|---|---|---|
| 1 | 1 | 36 分鐘 |
| 2 | 3 | 12 分鐘 |
| 3 | 7 | 約 5 分鐘 |
| 超高速 3 (所有模擬市民都在睡覺) | 36 | 1 分鐘 |
時鐘的一個步驟上限為 5 實際秒。一週有 7 天。新遊戲從星期日上午 08:00 開始。一個 Python 類別 Commodity 有數百個調整過的子類別,每個需求一個。模組使用相同的設計:一個鬆散的調整資源會取代具有相同 ID 的內建資源,而腳本模組是一個遊戲匯入的 Python 模組壓縮檔。
9 這對生活模擬遊戲的意義
《模擬市民 4》是一個圍繞著一個限制精心設計的工程:2014 年的 CPU 必須能夠運行它。所以世界是一個地段,城鎮是一張表格。1,041 條記錄,每晚的擲骰,以及一個時間曲線,在你看到鄰居的那一刻,將需求繪製到他們身上。它之所以有效,是因為玩家從不窺探幕後。
LifeSim 走的是另一條路。地圖是真實的地球,精確到街道。人們不是一個地段和一張表格。每個人都有一個由 AI 為他們編寫的例行公事,並且有一個代理控制器遵循它:他們去的地方,他們保持的時間,他們在路上遇到的人。世界的規則和限制是系統 0。遵循他們日程的人是系統 1。
系統 2 是一個語言模型,當遊戲要求時,它會為一個人思考。它決定他們說什麼,他們接下來想要什麼,以及他們如何解釋。這是《模擬市民 4》在 2014 年無法擁有的部分,也是將日程表變成一個記得你的人的部分。你可以在play.lifesim.com試用。
10 常見問題
為什麼我的模擬市民會尿褲子?
膀胱每分鐘下降 0.1736 點,低於 −25 時速度加快 1.2 倍。從滿到空需要 18 個模擬小時。低於 −25 時,自主性會以慾望 8 尋找廁所。低於 −50 時慾望為 128,低於 −75 時為 1,024。但膀胱的權重只有 0.05,是六個需求中最低的,所以遠處的廁所或強烈的樂趣或社交需求仍然可以贏得擲骰。在 −100 時,模擬市民會尿濕自己,並在 240 分鐘內感到尷尬 5。自主性在速度 3 時也不會運行,或者在某個動作禁止多工時也不會運行。
故事進程多久運行一次?
每個模擬日一次,在 02:30。每次運行都會根據一個頻段表進行擲骰。一個較小的循環每 20 個模擬分鐘運行一次,並輪流執行六個家務工作。清除(刪除最多 10 個家庭)在 02:00 到 06:00 之間運行。
一個模擬日有多長?
在速度 1 時為 36 實際分鐘,速度 2 時為 12 分鐘,速度 3 時約為 5 分鐘,當所有人都睡著時,超高速為 1 分鐘。一模擬分鐘為 1.5 實際秒。132 個模擬日的正常生活在速度 1 時為 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}
}