如何避免分支爆炸:用「狀態匯流」控制互動影遊成本
透過樹形、折返、樞紐與狀態匯流,控制互動影遊的影片素材、狀態和測試成本。

開篇導讀
避免分支爆炸,不是刪除所有選擇,而是把劇情路徑與玩家狀態分開:場景可以回到共同主線,資訊、關係、資源和承諾繼續保留,並在少數高價值節點重新兌現。
連續十次永久二選一理論上會產生 1,024 個末端。真正需要編列預算的也不只是理論路線,而是獨立影片、狀態變體、在地化和測試組合。
三種結構怎樣組合
樹形適合核心立場和結局,差異最大、成本最高;折返讓局部探索提供不同資訊後回到主線;樞紐允許玩家以不同順序調查若干節點。可控專案通常採用「樞紐收集—折返回饋—少數樹形結局」。
四類最小狀態
knowledge:知道什麼;relationship:信任、敵意或債務;resource:道具、時間、證據與傷勢;commitment:承諾、背叛與公開選邊站。
每個變數都要有寫入點和讀取點。只寫不讀是無效複雜度;只讀卻沒有來源,是無法測試的隱形規則。
成本估算
總成本 ≈ 獨立影片分鐘數 × 單位成本 + 狀態變體數 × 變體成本 + 節點數 × 測試成本
這是規劃公式,不是統一報價。匯流減少獨立影片,卻不會消除狀態設計和 QA。
| 狀態 | 寫入節點 | 讀取節點 | 可見回饋 | 測試值 |
|---|---|---|---|---|
| trust_A | N03 | N07/N09 | 稱呼、是否援助 | -1/0/1 |
當選擇永久改變身分、代表核心道德立場或要求玩家付出巨大代價時,不應強行匯流。狀態匯流的目標是把預算集中在必須不同的地方,而不是抹平後果。
從預算反推結構
先確定最多能製作多少獨立影片分鐘數、多少文字變體和多少測試輪次,再分配給共同主幹、局部分支與結局。不要先畫完整二元樹,寫完後才發現素材量超過預算。
例如單次體驗 10 分鐘、獨立影片預算 16 分鐘,可以把約 10 分鐘用於共同主幹,3 分鐘用於兩次局部分支,3 分鐘用於結局變體。比例不是業界標準,但能迫使團隊討論差異是否值得製作獨立素材。
狀態變數為什麼越少越好
每增加一個布林變數,理論組合都會增加。狀態不是免費的輕量替代品,它只是把影片成本轉成寫作和 QA 成本。優先保留能多次讀取、玩家能感知、與主題相關的變數;只影響一句無關對白的狀態可以合併或刪除。
匯流節點應該怎樣寫
先寫共同目標,再列出必須保留的差異。主畫面可以重複使用,但開場對白、人物站位、可用道具和後續選項根據狀態改變。不要讓角色上一幕受傷,匯流後突然恢復;也不要讓玩家剛背叛盟友,對方卻按預設台詞合作。
匯流檢查表應包含進入來源、繼承狀態、共同鏡頭、變體台詞、關閉選項和下一個讀取點。這樣編劇、剪輯與 QA 使用的是同一份規則。
三種結構各有風險
樹形風險是素材呈指數成長;折返風險是玩家覺得繞一圈沒有作用;樞紐風險是造訪順序讓人物知道不該知道的資訊。樹形靠預算界線控制,折返靠狀態兌現,樞紐則需要明確的前置條件和完成標記。
如何發現分支圖已經失控
團隊無法說出變數在哪裡讀取;修改一個事實需要搜尋十幾個節點;同一存檔無法重現結局;大量分支只有一兩句差異卻各自拍攝整段;故事圖出現無人負責的死路——這些都說明結構需要收縮。
收縮不一定要刪除選擇。可以合併相似狀態、把低價值影片改成文字或聲音變體、提前匯流,或讓多個早期決定共同影響一個高價值場景。
當玩家改變陣營、身分、核心關係或主題立場時,才值得真正分叉。狀態匯流省下其他地方的預算,正是為了把這些關鍵差異做好。
匯流點驗收
逐條檢查進入匯流節點的路徑:人物是否記得先前承諾,道具與傷勢是否一致,玩家是否獲得至少一個差異回饋,後續條件是否仍能讀取關鍵狀態。若只能用大段旁白解釋路線差異,說明匯流過早;若差異從此再也不用,則應考慮刪掉該狀態。
製作排程還要把每個真正的分叉轉換成新增腳本、鏡頭、配音、在地化和測試路徑。只有主題價值足以承擔這些長期成本時才擴展樹形結構。其餘變化優先用對白、鏡頭、權限與狀態回饋表達,讓深度來自後果密度,而非節點數量。


