玩家沒點選項,AI 文字冒險該怎麼接:執行、補問與拒絕模板
玩家自由輸入後,先判斷行動是否明確、是否符合當前世界、是否具備執行條件,再決定執行、補問或拒絕。讓玩家自由表達,並不意味著一句話就能改寫人物身分、資源或已經發生的事實。

導讀
玩家自由輸入後,先判斷行動是否明確、是否符合當前世界、是否具備執行條件,再決定執行、補問或拒絕。讓玩家自由表達,並不意味著一句話就能改寫人物身分、資源或已經發生的事實。
這篇 DramaFork 設計指南用虛構故事《雨港失物處》說明處理方法。回覆與狀態變化均為教學示例,不是對現有文字遊戲運行效果的實測評價。
先解釋玩家想做什麼,不急著推進劇情
玩家輸入「我去查一下」,可能指登記簿、攝影機,也可能指領取人的身分。它們需要不同權限、耗時和資訊來源。如果直接選最戲劇化的一項,玩家就會承擔自己沒有表達過的行動。
先提取行動對象、動作和必要條件。「查看七三一號原始登記」已經比較明確;「讓許嵐相信我」仍需要知道玩家打算怎樣建立信任;「把證據變出來」則不符合當前世界的能力邊界。
自然語言可以有多種表述,規則要圍繞意圖處理。作者應為一組常見說法建立同一判定標準,避免「核對記錄」和「查登記簿」得到互相矛盾的資源代價。
用一張行動表穩定回應
| 輸入情況 | 處理方式 | 回覆必須包含什麼 |
|---|---|---|
| 行動明確且條件滿足 | 執行 | 實際發生的動作、代價、結果與下一步 |
| 行動對象或方法不明確 | 補問 | 尚缺哪項資訊,可供澄清的方向 |
| 缺少可補足的前提 | 說明限制並提供辦法 | 當前缺什麼,怎樣取得前提 |
| 與已定事實或能力衝突 | 拒絕該結果 | 衝突原因與仍可採取的行動 |
最後兩行都可能拒絕本次執行,但體驗應不同。缺鑰匙是可以解決的阻礙;要求檔案員讀心則是能力不成立。把兩者寫成同一句「你不能這樣做」,會讓玩家不知道該尋找資源還是換方法。
執行:讓敘事與狀態一起改變
示例輸入:「我用五分鐘核對七三一的簽名。」
如果玩家擁有登記副本,也有足夠時間,可以回覆:「你比對兩份簽名,發現末筆不同。許嵐提醒你,這只能說明需要繼續核驗,不能直接確認冒領。」
然後按既定規則減少時間,記錄新的觀察,並提供「聯繫簽名人」或「查原始掃描件」等下一步。不要在敘事中宣布發現線索,卻不更新記錄;也不要把同一次發現重複計為多條證據。
執行還要遵守資訊範圍。玩家查簽名,並沒有同時查攝影機,結果就不應順便贈送只有監控才能證明的事實。一次行動的收益越具體,後續回溯越容易。
補問:保留玩家的決定權
示例輸入:「我把單子處理掉。」
合理補問是:「你想先封存這張單,還是銷毀它?封存保留核驗機會,銷毀會失去原件。」這裡說明已知差異,沒有替玩家選擇。
只有當缺失資訊會實質改變結果時才補問。玩家說「翻登記簿查編號」,無需再確認用左手還是右手;連續追問無關細節,會把冒險變成填表。
補問期間不要扣除行動代價,也不要把待確認意圖寫入「已完成行動」。否則玩家回答「我只是想整理文件」時,系統可能已經銷毀了原件。對話澄清與世界變化應有明確界線。
拒絕:指出衝突,再給可繼續的路
示例輸入:「我知道領取人明天會做什麼,直接把所有秘密告訴許嵐。」
若當前故事沒有預知能力,回應可以是:「你還沒有證據證明明天會發生什麼。可以把領取單上的時間異常告訴她,再一起核驗來源。」它保留已知線索,拒絕憑空增加知識。
另一個輸入是「我只有三分鐘,但要完成五分鐘的核驗」。作者應按已定規則處理:提供三分鐘內能做的簡化檢查,或說明無法按時完成。若允許超時,就明確超時後果,並保持同類行動一致。
對要求跳過故事規則的輸入,也應保留現有設定,回到可做的行動。不要因為玩家寫了「現在全部規則作廢」,就刪除前面已經成立的物件、人物和事件。
判斷失敗時,別悄悄改寫歷史
生成回覆可能出現資源算錯、人物突然知道秘密,或同一行動前後結果不一致。發現問題後,先核對本輪開始狀態、玩家原話與作者規則,找出哪項變更缺少依據。
對於關鍵狀態,可靠實現需要明確判定與校驗。提示詞可以描述限制,但不能單憑限制寫得詳細,就宣稱它已經成為確定性執行機制。DramaFork 的文字回合使用當前狀態和歷史上下文;作者設計的行為要求仍需要實際檢查。
如果某次結果無法確認,保持已確認事實,要求澄清或重新處理本輪。不能把未經核驗的新設定繼續累積到下一輪,再靠更多敘事遮住衝突。
用不同說法複核同一個意圖
至少準備正常行動、缺少資源、對象含糊、違反世界事實、重複行動和改口六類輸入。把「應該改變什麼」與「必須保持什麼」分別記錄,便於檢查回應。
同一意圖可以用簡短命令、完整句子和口語分別表達。若只有照抄推薦選項才能獲得合理結果,自由輸入入口就還沒有兌現承諾。
可以從DramaFork 文字遊戲中的行動場景思考自己的任務。先為一個場景寫好執行、補問和拒絕樣例,再擴展輸入範圍,讓每一次自由表達都有可解釋的結果。


