遊戲角色該記住玩家的哪些決定?
對於敘事遊戲編劇而言,最值得讓角色記住的玩家決定,是那些能改變後續場景、關係或行動的決定。將角色實際目睹的內容,與世界上發生的事實以及他們僅僅聽聞的傳言分開追蹤。接著為每段記憶賦予來源、發揮作用的理由,以及淡忘或被修正的規則。記住每一句對話只會增加繁瑣的記錄負擔;記住一個能改變他人行為的選擇,才能賦予該選擇真正的後果。
依據後續的回報效益來挑選決定
當一個決定被回想起來能改變當前場景時,它才值得在角色的記憶中佔有一席之地。在儲存某個選擇之前,先自問:這個角色能否因此做出不同的行動、發言、揭露、拒絕或提議?如果答案是「不能」,那麼這項資訊或許更適合放在任務日誌或世界狀態記錄中,甚至根本不需要保留。
一個實用的測試方法是先寫出後續的節奏點。例如:「在檢查哨,守衛之所以信任玩家並交付蓋印的帳簿,是因為玩家先前歸還了他的徽章。」如果這個節奏點依賴於一段被記住的決定,那就儲存相關事實。如果守衛無論如何表現都一樣,這段記憶可能只是裝飾性質,缺乏戲劇張力。
有價值的記憶通常落在三個重疊的類別中:
**承諾與代價:** 玩家承諾、拒絕、犧牲、歸還或保護了某樣事物,其結果在日後可能產生影響。
**顯露的優先順序:** 在受限的選擇中,玩家選擇保護或冒險的事物,有助於塑造角色如何解讀日後的提議。請將此視為特定選擇所帶來的證據,而非對玩家的永久定性分析。
**懸而未決的後果:** 某個選擇使某個人、物品或義務處於改變後的狀態。當角色稍後遇到該狀態或決定如何應對時,這段記憶便至關重要。
這些是設計上的啟發式原則,並非主張每款遊戲都需要具備永久的角色記憶。它們的價值取決於後續場景是否能為被記住的事件賦予清晰可見的後果。
將記憶與世界狀態及傳言區隔開來
一個可靠的敘事系統會將事件本身與各個角色對該事件的知情程度區分開來。玩家可能秘密藏起了一把鑰匙(世界狀態);同伴可能看到了藏匿過程(角色記憶);商人可能聽到了不準確的說法(傳言)。若將這些合併為單一標記,可能會使角色顯得全知全能,或讓道聽途說顯得像是鐵證。
對於每個具重大影響的事件,記錄足夠的來源出處以回答四個問題:
**事件:** 世界上發生了什麼?玩家歸還了黃銅鑰匙。
**觀察者:** 誰親眼目睹或親耳聽到了?瑪拉(Mara)看著交接過程。
**管道:** 其他人是如何得知的?渡船夫從瑪拉那裡聽說的。
**置信度:** 該資訊的確定程度為何?目擊;轉述;存疑。
簡明扼要的設計記錄可能長這樣:`returned_key = true`;`Mara.knows_returned_key = witnessed`;`Ferryman.knows_returned_key = reported_by_Mara`。這些僅為說明性的欄位,並非規定的技術格式。重要的區別在於:世界中的客觀事實不會自動成為每個角色的認知。
這種劃分能為編劇提供更好的場景發揮空間。瑪拉可以將交接作為親眼所見之事提及。渡船夫則可以帶著不確定性複述它、詢問是否屬實,或根據錯誤的版本採取行動。如果玩家藏了鑰匙且沒有人目擊這一幕或發現藏匿處,那麼角色就必須有合乎情理的途徑才能知曉此事。
構建可在日後發揮作用的選擇
考慮這樣一個虛構場景:玩家發現了一盞損壞的信號燈,以及一名在鎖住的大門鐵欄後等待的信使艾文(Iven)。玩家有三個選擇:
**把唯一的可用油瓶給艾文。** 信號燈依舊昏暗,而艾文得以逃脫並可在日後傳遞訊息。
**用油點亮信號燈。** 巡邏隊看到了警告,但艾文仍留在門後直到救援到來。
**保留油瓶並離開。** 玩家保留了資源;艾文眼前的命運取決於場景已確立的規則,且玩家的不在場不應被改寫為被目擊的行為。
現在來決定誰知道什麼。如果艾文看到油瓶被遞給他,他會記住獲得了幫助。如果他看到信號燈被點亮,他可能會記住玩家選擇召來援助,但同時也會記住自己被留在原地等待。如果玩家在未被看見的情況下離開,艾文就無法真實地回想起玩家轉身離去的畫面;另一個角色稍後可能會報告燈是空的或油瓶不見了,但這些線索並不能證明是誰拿走了什麼。
後續的場景可以透過行動而非回顧來展現這些差異。艾文可能會在獲得油瓶後將信件託付給玩家、在苦等救援後要求一個解釋,或者在沒看到玩家離開時,做出反應卻不會將遺失的油歸咎於玩家。這些是該範例中可能的後續回報,而非放之四海皆準的情緒反應。場景必須確立艾文為何會這樣反應,且其他事件也可能會使他的反應更加複雜。
讓記憶保持具體:「艾文目睹玩家給了他油瓶」比「艾文信任玩家」更有用。前者記錄了事件及其來源;後者則把單一事件轉化為籠統的關係結論。如果信任度是一個遊戲變數,請展現更新該變數的規則以及它在日後能影響的行為。被記住的事件可以為關係提供脈絡,而無須在機制上生硬地支配它。
賦予記憶生命週期與修正途徑
並非每個被記住的細節都應該永遠保持鮮明。請根據戲劇需求來設定留存期:只要某段記憶是開啟預定場景的門檻、能解決一項義務或支援後續的呼應,就保留它;當後果輕微的細節不再影響遊戲時,就讓它們淡出。「過期」並不意味著角色會依照計時器忘記改變人生的重大事件。它可以表示遊戲在達到其單次預期用途後,不再將次要事實帶入對話中。
當記憶來自傳言、不完整的觀察或具誤導性的第一印象時,修正機制就顯得至關重要。聽說玩家拿走燈油的角色可以得知玩家其實把油交給了艾文。接著決定後續發展:是傳言標記被修正、角色同時保留原始報告與修正內容,還是角色依然不信?答案取決於故事,但修正不應默不作聲地直接覆寫角色先前聽到的內容。
實用的記憶項目可以包含諸如 `current`、`disputed` 或 `corrected` 等狀態,再加上更新的來源。這有助於防止後續台詞將已被推翻的謠言當成事實複述。如果兩名目擊者意見不合,請在必要處保留這種分歧,而不是強行把單一的全知真相塞進每個角色的對話中。
將記憶轉化為可付諸行動的敘事狀態
角色的記憶應該與可能的反應相連結。定義該反應的觸發條件及其產生的效果:必須發生了什麼、誰必須知情,以及在後續場景中會改變什麼?這種架構能讓記憶變得可測試,並防止一個選擇被儲存後卻從未對遊戲產生任何影響。
這與 [STORY2GAME](https://arxiv.org/abs/2505.03547) 中一個有限但相關的理念相符:該論文描述了生成帶有先決條件和效果的互動式小說動作,這些條件與效果引導了遊戲狀態的哪些部分需要追蹤,以及動作如何改變該狀態。其重點在於動作與遊戲狀態的生成,其評估著重於生成的動作程式碼是否支援通關所生成的故事。這並非一項證明記住選擇能改善原創敘事或玩家體驗的研究。對編劇而言,有用的應用更為聚焦:指明被記住的事件在何種條件下發揮作用,以及在起作用時會產生何種具體效果。
收錄於 [ACL Anthology 的 StratMem-Bench 論文](https://aclanthology.org/2026.acl-long.1491/) 評估了虛擬角色在以角色為中心的對話中如何使用記憶。其基準包含了必要、輔助與無關的記憶,並報告模型處理必要記憶與無關記憶的效果,優於輔助記憶使決策複雜化的情況。這是一個虛擬角色對話的基準測試,而非敘事遊戲的結果研究。它並沒有規定遊戲編劇應該儲存哪些選擇;它確實提供了一個實用的提醒,去思考一段記憶對於當前場景而言究竟是必要的、僅僅有幫助的,還是無關緊要的。
對被記住的後果進行品管測試
在做出選擇的當下進行測試,並在每個預定的回報節奏點再次測試。簡潔的品管審查可以捕捉到大多數的連貫性錯誤:
**目擊檢查:** 針對每一句提及某個決定的台詞,確認說話者曾目擊該決定,或能說出一個合乎情理的資訊來源。
**分支檢查:** 遊玩每個選擇路徑,並確認它設定了預期的事件與知識記錄。檢查互斥的結果是否不會同時保持啟用狀態。
**回報檢查:** 確認每個儲存的記憶都會改變可用的台詞、關係反應、場景條件或行動。如果它沒有改變任何東西,請重新考慮是否需要保留它。
**傳言檢查:** 驗證二手資訊是否以適當的不確定性呈現,並確認修正內容在後續場景中有一致的更新。
**過期檢查:** 在記憶達到預期用途後重訪該場景。確認低優先級的資訊可以停止浮現,且關鍵的未決後果仍然有效可用。
**缺席檢查:** 測試當事件未被目擊、從未被通報或被刻意隱瞞時,角色會怎麼做。切勿讓缺失的標記預設為已知知情。
最終的設計問題很簡單:記住這個選擇是否能給角色一個現在表現不同的理由,且玩家能否理解其中的緣由?當答案很明確時,少數來源明確的記憶所承載的戲劇張力,將遠勝於一份記錄每場互動的逐字稿。
