Metlivi 部落格

如何在自由文本遊戲中讓玩家保持方向感

當遊戲接受輸入指令時,空白的輸入列可能會讓人誤以為幾乎任何操作都行得通。玩家需要嘗試自己用詞的空間,但也需要線索來了解遊戲能理解什麼,以及每次嘗試後發生了什麼改變。實際的目標並不是去預測每一種句子,而是讓有意義的選項清晰可見,展示幾個具代表性的指令模式,並針對不明確的輸入給予有用的後續指引。

2026年9月30日8 分鐘閱讀閱讀、藝術與文化作者:Metlivi Editorial Team
第 1 節

為什麼開放式文字方塊會讓下一步變得不明確

自由形式的輸入帶來了廣泛的可能性感受,但遊戲的世界模型和語法解析器(parser)仍然決定了可以發生哪些行動。玩家可能無法確定指令失敗是因為動詞無法識別、目標物件不存在、措辭不完整,還是所描述的行動在遊戲中單純沒有效果。Emily Short 指出,光是指出未知字詞可能無法告訴玩家應該改嘗試什麼;一個明確的目標和一組簡短、可見的實用動詞有助於引導他們(《Parser Discussion, Redux》)。

這種區別至關重要,因為輸入指令本質上是與遊戲規則的對話,即使遊戲將其包裝成日常語言也是如此。當玩家的行動能對所呈現的世界產生影響時,他們的自由才有意義。如果試圖接受每一句想像得到的文字,卻沒有相應的世界反應,反而會營造出遊戲無法滿足的期待。Short 的設計筆記將解析器的職責定義為:引導玩家使用能有意義地操控遊戲世界的措辭,同時讓他們了解該世界支援哪些互動方式(《Action and Interaction》)。

第 2 節

提供少數可見的選項,但不要將其變成限制

保持輸入欄位開放,但在旁邊放置少量鄰近的建議選項。將它們設計成與當前場景相關的具體行動:「查看便條」、「詢問瑪拉關於渡輪的事」或「試試那扇大門」。這些範例展示了預期的輸入形式,並指向當地的可用功能。它們應當作為起點呈現,而非唯一允許的指令。

實用的提示也可以指明目標和幾個核心動詞:「找出為什麼工坊被鎖上了。你可以檢查物品、與人交談,或在門上嘗試使用物品。」這能告訴玩家什麼行動可能推動場景進展,而無需強制要求特定的解決方案。Short 描述了兩種讓解析器遊戲更易親近的大方向:透過說明和建議支援廣泛的操作,或者保持可用行動組小巧並明確提示。無論採用哪種方式,呈現出來的動詞都應該能獲得有意義的回應(《Writing Novice-friendly Parser Games》)。

這種平衡是因地制宜且可調整的。當有許多合理的行動時,一個情境式的「我可以在這裡嘗試什麼?」提示可以提供一個簡短的選單。當單一目標很明確時,幾個範例可能就足夠了。如果某個行動本來就不該被輕易發現,請不要在提示清單中透露其解答;相反地,應指明該節點可用的互動類型。其目的在於展現遊戲的詞彙與可用功能,而不是鉅細靡遺地道出每個後果。

第 3 節

透過範例傳授指令模式

當範例用來說明可重複使用的模式,而不是列出所有接受的句子時,效果是最好的。例如,遊戲可以顯示「檢查 [物品]」、「與 [人物] 談論 [話題]」和「在 [物件] 上使用 [物品]」。然後它可以具體呈現一兩個例子:「檢查黃銅鑰匙」或「詢問瑪拉關於渡輪的事」。一致的措辭能教導玩家如何結合行動與目標。僅在遊戲實際支援該形式時才將其納入。

在敘述和提示中都要具體指明重要的名詞。如果場景中描述了一把黃銅鑰匙,玩家就應該有理由嘗試「檢查鑰匙」或「拿走鑰匙」;暗中要求使用另一個隱藏的名稱只會造成無謂的猜測。當不同物件適用的有效行動有所差異時,簡短的互動線索會很有幫助:「鎖閂鬆得足以抬起」,或「便條的雙面都寫了字」。Short 建議突顯可用的名詞並提供建議,作為幫助玩家發現哪些事物可以進行互動的方法(《Writing Novice-friendly Parser Games》)。

避免在每個場景中塞滿完整的指令目錄。過多的建議會分散對故事的注意力,而列出一個獨特的動詞可能會讓它變成非預期的謎題提示。更理想的做法是採用少量、針對特定場景的組合,並透過求助指令或可展開的參考資料來提供更廣泛的指引。IFComp 的解析器互動小說指南指出,有些遊戲使用可選的教學指引,讓玩家在繼續推進故事的同時查閱協助(《About IF》)。

第 4 節

將模稜兩可的輸入轉化為簡短的澄清,而非死胡同

當遊戲理解行動但無法判斷玩家指的是哪個目標時,提出一個針對性的問題。如果玩家輸入「打開書」,而現場能看到兩本書,請回答:「哪一本書:書桌上的紅皮書還是書架上的藍皮書?」有用的澄清會以玩家能區分的方式列出選項。如果缺少必要的細節且不存在合理的預設值,請詢問該細節:「你想打開什麼?」

技術解析器文件為這種互動提供了一個具體的例子:TADS 描述了讓玩家透過可見的顏色在書本之間做出選擇,並在「打開」等指令缺少目標時單獨提示輸入物件(《TADS Parser: The Parsing Sequence》)。更廣泛的設計啟示在於盡可能保留原有的意圖。只針對缺失的部分進行澄清,而不是直接捨棄指令並讓玩家重頭來過。

如果遊戲可以安全地選擇預設值,請告訴玩家它選擇了什麼:「你對花園大門使用了黃銅鑰匙。」如果兩種選擇可能產生不同的結果,請改為詢問。Emily Short 建議在指令不完整且無法推斷合理預設值時進行提示,並清楚呈現模稜兩可物件之間的差異(《Action and Interaction》)。

第 5 節

以尊重和方向感回應出乎意料的提問

玩家會嘗試帶有遊戲心態、出於好奇或毫無關聯的指令。請將這些嘗試視為正常的參與行為。避免給出責備、嘲弄或暗示玩家早該知道規則的回應。相反地,回應應盡可能確認理解到的意圖,然後將注意力引回場景之中。

例如,如果玩家詢問工坊的時鐘是否知道時間,回應可能會說:「時鐘滴答作響,但沒有回答。它旁邊的便條上寫滿了數字。」這給予了微小的、符合世界觀的反應,同時將注意力吸引到可見的線索上。如果遊戲無法理解該輸入,請如實告知並提供附近支援的行動:「我在這裡無法理解該行動。你可以檢查便條或詢問瑪拉關於工坊的事。」避免假裝遊戲理解了它並未建模的句子;虛假的識別會讓後續的結果變得難以理解。

將輸入問題與世界結果分開。「我無法識別該指令」表示措辭或詞彙存在問題。「大門鎖上了」表示行動已被理解,但世界狀態阻止了它。「大門紋絲不動」表示嘗試了行動但沒有效果。當這些訊息具有明確的區別時,玩家就可以決定是要重新組織語言、收集資訊,還是嘗試其他方法。Short 對解析器反饋的討論強調了通用拒絕訊息如何讓玩家難以確定是該動詞不支援,還是行動本身脫離了遊戲世界(《Parser Discussion, Redux》)。

第 6 節

顯示行動已被接收以及發生了什麼變化

在理解指令之後,以有助於玩家再次採取行動的方式回報結果。如果玩家打開了櫃子,請說明現在能看見什麼。如果提出問題改變了角色的反應,請展示具體的線索或告訴玩家他們得知了什麼新資訊。如果該行動沒有立即的效果,請在角色合理可知的情況下解釋相關原因。

這是方向感的另一半核心:玩家需要證明其行動已傳達到遊戲中的證據,而不僅僅是等待下一次輸入的提示。Short 認為,輸出應該揭示與世界互動所需的資訊,而且成功的改變應該是顯而易見的,包括在有實用信號可顯示時呈現間接的改變(《Action and Interaction》)。保持反饋適度:描述一把改變狀態的鎖、一個新注意到的細節,或角色的明顯反應,而不是在每個指令之後都加上無關的解釋。

第 7 節

設計每項回應的實用步驟

針對每個場景,列出重要的行動,然後圍繞它們建構提示和回應。這將「玩家可以輸入多少內容?」這個寬泛的問題轉化為易於掌控的設計任務:「玩家能否看出場景支援什麼、嘗試意料之外的想法、理解回覆並選擇下一步?」

找出該場景中可採取行動的物件、人物和當前目標。僅使用實際已建模或能進行有意義敘述的細節。

挑選幾個代表性的行動並將其表述為範例。保持開放式輸入隨時可用,並確保任何建議的動詞都能如實運作。

將可能不明確的輸入進行分類:未知行動、未知目標、缺少細節、多個可能目標,或是已理解但在當前狀態下無法成功的行動。

為每種情況撰寫不同的回應。澄清說明應提供可識別的選擇;不可能的行動應解釋相關阻礙;不支援的行動應建議鄰近的途徑。

確認成功行動的結果是清晰可見的,並且先前揭露的資訊可以在玩家再次需要時查閱。Short 建議提供重新檢索已知資訊的方法,這在劇情細節或對話會影響後續選擇時特別有用(《Action and Interaction》)。

使用直白、不完整、替換用詞和遊戲性的指令來測試場景。修改任何讓測試者無法分辨遊戲是誤解、拒絕還是接受了該行動的回應。

衡量成效的有用標準不是遊戲接受了多少句子,而是玩家是否能理解自己的文字、遊戲支援的行動以及隨後所見狀態之間的關係。提供少數可見的選項、傳授模式的範例,以及清晰且不帶批判的反饋,既能保留嘗試的空間,又能給予玩家足夠的資訊來持續前進。

相關閱讀

繼續探索這個主題