互動文字冒險裡有兩個同名箱子,怎麼追問才不會替玩家選目標
玩家說「打開箱子」時,先保留打開的動作,用已呈現的位置特徵追問目標;補答唯一對應且現場未變,才恢復執行。用一張目標消歧回合卡,寫清候選、補答、取消與失效條件。

開篇導讀
「打開箱子」同時指向兩個木箱時,應先暫存「打開」這個動作,只追問玩家指的是哪一個。玩家回答「窗邊那個」,且原本的現場條件仍然成立,才接續為「打開窗邊木箱」。不能因為某個箱子比較近、比較重要或在描述中排在前面,就替玩家選中它。
以下用倉庫裡的窗邊木箱與桌下木箱,填寫一張「目標消歧回合卡」,並走完整個追問、恢復、取消與失效流程。場景、對白及處理規則皆為原創虛構教學設計,並非真實使用者案例、實測結果,也不代表 DramaFork 的產品功能。
一、先確認缺的是目標,不是動作
本例的進場描述是:「倉庫裡有兩個蓋子關著的木箱,一個靠窗,一個放在桌下。你站在門內,兩個箱子都在視線中。」本例另行設定:兩個箱子皆可直接打開,且這一輪追問不推進場景事件。
玩家輸入「打開箱子」,動作已經明確,缺少的是作用對象。此時寫「你走到窗邊,掀開箱蓋」,就已經擅自補上了目標;即使隨後允許復原,也沒有保留玩家原本的選擇權。
合適的回應是:「你要打開窗邊的木箱,還是桌下的木箱?可以回答位置,也可以說『取消』。」這句話同時交代正在接續哪個動作、有哪些候選,以及如何退出。不要只問「哪個」,讓玩家回頭翻找上一段的物品描述。
候選集合應對應目前的指令:這裡是現場已呈現、都能用「箱子」指稱的兩件物品。尚未發現的暗格箱不應列入;也不能因為作者更希望玩家查看窗邊木箱,就把桌下木箱排除。
二、區分短語只能取自已呈現的線索
本例可用的區分短語是「窗邊」與「桌下」。「木製」「蓋子關著」雖然都已呈現,卻無法區分兩個箱子。追問需要選取既已知、又能縮小候選範圍的特徵。
不能突然問「裝帳本的還是裝工具的」,因為玩家還沒打開箱子;也不宜問「安全的還是危險的」,把尚未得知的結果洩漏成目標標籤。作者掌握的設定,不等於玩家可用的辨認依據。
如果前文只寫過「兩個木箱」,沒有交代位置差異,就先補上一段角色當下能觀察到的描述:「一個靠窗,一個在桌下。」再請玩家選擇。這是在呈現現場資訊,應與需要搜索才能發現的內容分開。
位置短語很簡短,但位置可能改變;外觀特徵若足夠明顯,可能更穩定,卻也可能洩漏線索。選擇哪種特徵,取決於場景已經交代了什麼。兩個箱子若仍然沒有可見的差異,就補足可觀察的區分依據,不能要求玩家猜作者心中的編號。
三、填好一張目標消歧回合卡
把卡片放在場景稿旁邊,先寫作者需要保留的資訊,再寫玩家實際看到的追問。以下是本例的完整填寫內容,可替換物品與動作後重複使用。
| 欄位 | 本例填寫 |
|---|---|
| 原動作 | 打開;目標尚未確定,未執行任何開箱動作 |
| 現場候選 | 倉庫窗邊木箱、倉庫桌下木箱;分別保留身分,不能只記位置詞 |
| 區分短語 | 窗邊的木箱/桌下的木箱,皆出自進場描述 |
| 追問句 | 你要打開窗邊的木箱,還是桌下的木箱?可以回答位置,也可以說「取消」 |
| 補答方式 | 接受「窗邊」「窗邊那個」「窗邊的木箱」;須唯一對應本輪候選 |
| 恢復執行 | 補全原動作,再次確認目標仍在原場景且動作可行,接著執行一次並清除暫存 |
| 取消方式 | 「取消」「算了」清除暫存;明確的新動作取代舊請求 |
| 失效條件 | 離開倉庫、候選離場或位置改變、執行條件改變,皆結束舊追問 |
這張卡採取較保守的規則:與目標辨認或執行有關的現場變化發生後,要求重新發出指令。代價是偶爾多問一次,好處是不會把舊位置詞綁定到後來占據該位置的另一個箱子。
「暫存」也要有界線。本例只保留一個待補全的動作;玩家另說「查看桌子」,就先明確回應「已取消剛才的開箱請求」,再處理新動作。不能查看完桌子後,又悄悄恢復開箱。
四、用三段對話檢查是否擅自行動
以下是依照卡片逐項推演的虛構分支,並非執行測試紀錄。每段都從兩個箱子尚未打開的狀態開始。
補答唯一時,接續原動作。
玩家:打開箱子。
回應:你要打開窗邊的木箱,還是桌下的木箱?可以回答位置,也可以說「取消」。
玩家:窗邊那個。
回應:你打開窗邊的木箱,箱蓋向後翻起。
這裡的「窗邊那個」只補目標,動詞沿用暫存的「打開」。再次確認現場沒有變化後,執行一次並清除紀錄。玩家隨後再說「窗邊那個」,已經沒有等待補全的動作,不能因此再打開一次。
補答仍無法區分時,繼續問目標。
玩家:木頭的那個。
回應:兩個都是木箱。你指窗邊的,還是桌下的?也可以取消。
兩件候選都符合「木頭的」,所以目標仍不唯一。此時保留原動作,不移動角色、不碰觸箱子,也不把補答失敗寫成劇情懲罰。若玩家答「都打開」,範圍已經改變,應按新的多目標請求處理,不能隨意挑一個箱子來完成舊請求。
候選離場時,舊補答失效。
場景變化:窗邊木箱被搬出了倉庫。
回應:窗邊木箱已被搬走,剛才的開箱請求已取消。若要打開桌下木箱,請重新說明。
玩家:窗邊那個。
回應:剛才的請求已經失效。倉庫裡現在只看得到桌下木箱。
剩餘候選只有一個,也不等於玩家選了它。不能把「窗邊那個」重新對應到桌下木箱,更不能跟到新地點繼續執行。
五、明確寫出取消與離場的中止點
玩家主動取消時,要有簡短回應:「好,先不打開箱子。」隨後清除暫存。玩家離開倉庫時,可以在離場回應中寫:「你走出倉庫,剛才的開箱請求已取消。」回到倉庫後,即使兩個箱子仍在,也需要新的動作請求,不能靠一句舊位置詞喚回原本的請求。
這種做法適合動作明確、候選有限、能短暫等候補答的自由輸入場景。若場景持續計時,作者還需另外決定追問是否耗時,並提前讓玩家知道;不能直接套用本例「不推進事件」的約定。若輸入同時包含多個動作,也應先決定正在補全哪一個,避免位置詞接錯動作。
交稿前,只檢查這一處:分別填入唯一目標、共同特徵、取消詞與離場後的舊補答。只有第一種能恢復原動作,其餘都應繼續詢問或結束請求。若其中任何一項仍讓某個箱子被自動打開,就回到卡片檢查目標綁定與清除時機。






