Metlivi 部落格

遊戲 NPC 應該如何回答玩家重複提出的問題?

當玩家再次向 NPC 提出相同的問題時,請保持回答中的事實和任務狀態穩定。只有當措辭、已解鎖的線索或明確的求助請求為角色提供了合理的理由時,才去改變應答方式、長度或提示。對於腳本化或 AI 輔助的對話循環,請將底層的回答視為固定數據,並讓 NPC 的措辭根據互動做出相應調整。

2026年9月27日8 分鐘閱讀休閒、旅行與城市體驗作者:Metlivi Editorial Team
第 1 節

使用一個穩定的回答,僅改變其表達方式

重複的問題帶來了一個微小的設計選擇:NPC 可以顯得專注傾聽,同時又不會顯得改變了事實。將回覆分為兩個層次:

這種劃分是一種編排設計建議,並非特定遊戲研究確立的結論。它符合任務對話的實際限制:對話可以確認某個問題之前已經提過,而明確追蹤的任務標記或線索變數則決定了 NPC 能如實說出什麼。Yarn Spinner 關於變數和表達式的說明文件介紹了儲存值並在對話邏輯中使用它們的方法;它提供了一種表示狀態的方式,而不是任何特定回應模式能改善遊戲的證據。

一個簡單的內部回答記錄可能包含主題識別碼、權威事實、相關任務狀態以及任何允許的提示。每次對話處理在選擇台詞之前都會讀取該記錄。如果由 AI 系統生成表面措辭,請將其限制在該記錄和角色既定的語氣中;不要要求它僅從對話語境中推斷出新的任務事實。

回答內容:既定事實、任務狀態以及可進行的下一步。
表達方式:應答語氣、措辭、精簡程度,以及是否包含可選的提示。
第 2 節

NPC 面對重複問題的四種情況

以下矩陣是一個實用的決策輔助工具。「相同的回答」意味著保留相關的事實內容和任務狀態;當有明確理由時,應答語氣或措辭仍然可以有所變化。

這些分類取決於遊戲所掌握的資訊。「完全重複」可以指腳本對話中重複選擇的選項,也可以指自由文本系統中相符的主題。「換句話說的重複」則需要某種方法來辨識兩次發言涉及同一主題。如果 AI 分類器不確定,安全的備用方案是根據其權威記錄回答已辨識出的主題,並避免僅僅根據措辭就給予進度或透露線索。

完全重複,無新狀態 —— 應答語氣或長度可能會改變;事實和任務標記保持不變 —— 簡短確認重複,然後重申答案。除非原本就合適,否則略過提示。
換句話說的重複 —— 通常只改變應答語氣或措辭 —— 用相同的事實回答相同的根本問題。不要將改述視為新線索。
新線索已解鎖 —— 回答可能會改變,因為遊戲狀態發生了變化 —— 納入新獲得的線索,並根據任務邏輯更新解釋或下一步指示。
玩家明確尋求協助 —— 可選提示可能會變得更加直接 —— 給出當前狀態允許的提示。保持底層事實和任務狀態一致。
第 3 節

無新狀態的完全重複

如果玩家再次選擇相同的問題,且沒有相關的任務變數發生變化,請重複既定的回答。簡短的應答可以讓互動顯得富有回應性:「我告訴過你了——在鐘聲響起之前,北門是鎖著的。」這句台詞的具體措辭只是一個創作範例,並非規定的公式。

避免隨著每次重複自動加劇 NPC 的煩躁情緒。玩家可能是在核對資訊、暫停後返回,或者使用的對話循環讓該選項很容易被再次選中。如果角色性格天生耐心或冷淡,那種語氣可以塑造應答方式,但僅僅是重複的輸入並不意味著需要改變情緒或給予新提示。

第 4 節

換句話說的重複

玩家可能會先問「鑰匙在哪裡?」,接著又問「鑰匙在哪個房間?」。如果兩者都對應到同一個主題且線索沒有改變,請給予一致的回答。直接回答通常比假裝換個說法就發現了新事物更清晰明瞭。

對於 AI 輔助的對話,語意匹配有助於識別重複的主題,但它不應控制任務進度。將狀態變化保留在遊戲的明確事件之後,例如收集物品或觸發線索。如果系統無法確定改述的匹配度,它可以進行簡短的澄清,或者在不改變狀態的情況下,為最接近的已知主題提供穩定的回答。

第 5 節

新線索已解鎖

當玩家獲得相關線索時,回答允許發生改變,因為遊戲狀態已經改變。例如,在閱讀帳本之前,NPC 可能會說他們不知道誰進過檔案室。在發現帳本後,如果故事設定他們已經知道了這件事,NPC 就可以指出該訪客的身分。

請將狀態轉變——而不是玩家提問的次數——作為提供新資訊的理由。如果劇情設定需要該角色聽說或親眼見過該線索,請檢查該線索是否對此 NPC 可用,而不僅僅是存在於玩家的背包中。除非新線索確實修正了早先的事實,否則請保持原事實不變;若是進行修正,請讓修正內容清晰易懂,而不是悄悄替換答案。

第 6 節

玩家明確尋求協助

像「你能給我一個提示嗎?」這樣的明確請求,是提供可選提示的理由,前提是當前任務狀態允許這樣做。一個有用的提示能夠縮小下一步行動的範圍,同時不會虛假地聲稱 NPC 知道超出故事設定所允許的資訊。

例如,NPC 可以將玩家引導至已知線索已指明的地點,同時將發現的過程留給玩家。如果尚未解鎖有效提示,角色可以說明他們確實知道的事情,或者解釋目前還缺少什麼資訊。求助請求改變的是支援層級,而不是底層的任務事實。

第 7 節

針對特定角色的回應測試

針對角色和狀態來測試回應策略,而不是要求每一輪對話都給出全新的句子。針對每個 NPC 主題,編寫一組小型情境:在沒有狀態變化的情況下提出兩次相同的問題、換句話說的提問、相關線索變得可用,以及直接請求協助。然後對照四個問題檢查每個生成或腳本化的回覆:

這是一項定性的編排審查,而不是經過驗證的評分方法。它在腳本對話和 AI 輔助循環中非常實用,因為它測試了什麼必須保持穩定,以及什麼可以變化。一個角色可以重複一句標誌性台詞而不會顯得故障;另一個角色可能會以不同的方式來應對重複。目標是做出符合角色的回應並為玩家提供可靠的資訊,而不是為了追求詞彙變化而變化。

事實回答是否仍與當前的任務狀態相容?
NPC 是否有故事層面的理由知道台詞中所說的內容?
應答語氣、長度或提示的任何變化,是否合乎邏輯地源自玩家的互動或狀態的改變?
該台詞聽起來是否仍然符合該角色的性格,包括在重複出現時?
第 8 節

對話研究能——以及不能——告訴遊戲編劇什麼

對話研究提供了相關的背景資訊,但不應將其作為有關遊戲 NPC 的直接依據。See 等人在 2019 年 NAACL 的研究中,檢驗了人類在 PersonaChat 對話評判中的重複性、特異性、回應關聯性以及提問情況。它支援將重複性和關聯性視為人們在聊天對話中可能會衡量的維度;但它並未測試任務對話、NPC 記憶或上述四種情況。

2024 年 EACL Findings 關於不一致對話回應的論文,研究了對話系統中矛盾的檢測與解決。它關注的是對話一致性,而不是遊戲設計。將該關注點應用於 NPC 循環,可以得出一個明智的編排防護措施:保留一個權威答案,並根據明確的遊戲狀態推導變化。該建議是針對遊戲寫作的推論,而非該論文的直接研究成果。

第 9 節

為了正確的理由保持循環的可預測性

當主題和相關遊戲狀態都沒有改變時,重複的 NPC 問題通常應該返回相同的答案。讓改述影響辨識,讓新線索影響答案,讓明確的求助請求影響提示。這為對話留出了回應玩家的空間,同時確保任務事實可靠——並讓每個角色都能以符合自身性格的方式重複自己的話。

相關閱讀

繼續探索這個主題