文字冒險的時間什麼時候前進:觀察、行動和等待要分開
可以先採用一套便於檢查的時間規則:觀察不推進劇情時鐘;移動、交涉等行動按預先寫定的時長推進;主動等待推進到下一個事件或等待上限。 這是本文示例採用的設計方案。若作品要求觀察也消耗時間,就應提前告知並統一執行。下面用虛構的「渡口最後班船」把規則拆成三類時鐘表,地名、人物和數字均為教學設定。

導讀
可以先採用一套便於檢查的時間規則:觀察不推進劇情時鐘;移動、交涉等行動按預先寫定的時長推進;主動等待推進到下一個事件或等待上限。 這是本文示例採用的設計方案。若作品要求觀察也消耗時間,就應提前告知並統一執行。下面用虛構的「渡口最後班船」把規則拆成三類時鐘表,地名、人物和數字均為教學設定。
先分清三種時鐘
玩家輸入大致分三類,各自對應不同的時間處理。
觀察是獲取已有資訊:看告示、打量船夫、回想昨天聽到的話。觀察不消耗世界時間,因為角色只是把注意力放到已經存在的東西上。代價不在時鐘,而在資訊本身可能過期——如果某件事已經發生,觀察只能看到結果。
行動是改變局面的操作:交船票、走上棧橋、把包袱遞給船夫。行動有持續時長,走多久、做多久,世界時間就前進多少。
等待是主動讓時間流逝,但必須有觸發條件或上限:等到船靠岸、等到黃昏、最多等到某個時刻。沒有上限的等待會讓玩家失去對節奏的控制。
這三類分開後,「看一眼就消耗一天」和「反覆觀察刷時間」都不會出現。
構造案例:渡口最後班船
虛構設定:玩家扮演一個要過河的旅人,身上有一張舊船票。最後班船在黃昏離開。渡口有告示牌、船夫老周、一條棧橋。黃昏之前有兩件事會發生:貨船先靠岸卸貨,老周會去檢查船票。玩家不知道確切鐘點,只能從環境裡讀線索。
先寫清支持判斷的線索,再讓角色作推論。告示牌寫著「末班黃昏,過時不候」;老周告知「貨船一到,我得忙一陣」;碼頭的鐘顯示離末班還有二十分鐘,老周說明查票五分鐘後開始。玩家因此能比較行動時長與餘量。水位只表現環境,不把一次昨日水位觀察當作今日時刻的可靠證明。
三類時鐘表
把規則填成表,寫劇本時逐條對照。
| 輸入類型 | 例子 | 時間推進 | 觸發條件 | 上限 |
|---|---|---|---|---|
| 觀察 | 看告示、打量老周、看水位 | 不推進 | 無 | 無 |
| 行動 | 交船票、走棧橋、遞包袱 | 按持續時長推進 | 玩家確認執行 | 單次動作時長 |
| 等待 | 等貨船、等老周查票、等黃昏 | 推進到事件或上限 | 事件發生或到達上限 | 明確寫死 |
「走棧橋」可以定為一段短時長,比如從岸邊到船邊要走一小段路。這段路走完,世界時間前進同樣的量。如果玩家在棧橋上停下觀察水面,時間不再前進,因為停下不是行動。這樣「看一眼消耗一天」就不會發生。
同時發生的事件怎麼排
貨船靠岸和老周查票可以同時發生。寫法是給每個事件一個觸發點,而不是給它們各排一條時間線。
在本例中,貨船靠岸寫定為當前時點的五分鐘後,老周隨後開始查票。玩家走到棧橋中段需兩分鐘,因此到達時貨船尚未靠岸;選擇等貨船,則把時間推進到第五分鐘。這是同一條劇情時鐘,不能另設「只要走到中段貨船就到」。兩個事件同刻發生時,先明確處理順序,再在反饋中交代未被優先展示的事件。
這樣寫的好處是:玩家不會因為「同時」而丟事件,也不會因為系統替他排序而覺得時間被偷走。
等待要有上限和出口
等待最容易被寫壞。建議每條等待都寫三樣:等什麼、最多等到哪、等到之後發生什麼。
「等貨船」的上限是當前時點後五分鐘。若另寫一條延誤分支,就在第五分鐘顯示「貨船延誤,末班還剩十五分鐘」,提供交票、向老周詢問或放棄過河三個出口。繼續等到黃昏時,末班離開,下一輪改為處理滯留;不能無限重複同一等待反饋。
等待中可以插入觀察,讀取目前時點的狀態。查看碼頭鐘能知道剩餘時間;看水位只能得知環境變化。不要在一條本來不耗時的觀察中偷偷推進幾分鐘,再用那個新結果證明時間已過去。
角色編造藉口時怎麼標
老周可能說「船早走了,你別等了」。這句話是角色的說法,不是世界事實。寫法上要把它標成「老周的說法」,而不是敘述者確認。可以寫成:老周說船早走了。至於船是否真的走了,由玩家後續觀察或行動去驗證。這樣讀者不會把角色的藉口當成新的世界設定。
同樣,老周若說「我認識你父親」,而前文沒有提供任何往事,就不能讓這句話自動變成真實背景。可以保留為他的說法,玩家可以選擇信或不信,但系統不替玩家確認。
邊緣輸入怎麼處理
邊緣輸入指玩家做了規則沒預料的事:把船票扔進水裡、跳上貨船、對老周撒謊。處理原則是先判斷它屬於觀察、行動還是等待,再套用對應時鐘。
把船票扔進水裡:這是行動,有時長,時間前進。之後「交船票」這條路關閉,玩家要另找辦法。跳上貨船:如果貨船已靠岸,這是行動;如果貨船沒靠岸,這是不可能的動作,可以回應「你夠不到」,不推進時間。對老周撒謊:這是行動,時間前進,老周的反應按他的目標來寫,不保證他信。
邊緣輸入不需要新規則,只需要回到三類時鐘。
完成檢查
寫完一段後,用下面幾項核對:
- 每個觀察選項是否都不推進時間?
- 每個行動是否寫了持續時長,且時長和事件觸發點對得上?
- 每條等待是否都有明確上限和到點後的事件?
- 同時發生的事件是否各有觸發點,且玩家參與的那個先結算?
- 角色說的藉口是否標成「他的說法」,沒有混成世界事實?
- 邊緣輸入是否能歸入三類時鐘之一?
如果六項都能答上,時間推進就不會被單次觀察拖走,也不會被反覆等待卡住。
一個可以直接用的小行動
拿你正在寫的一場戲,只做一件事:把這場戲裡所有玩家可選輸入列出來,逐個標上「觀察 / 行動 / 等待」,再給行動填時長、給等待填上限。標完再寫敘事,時間規則就不會在寫作中途打架。


