深入了解持久化存檔點
持久化存檔點(Persistent Checkpoints)透過策略性的佈置與邏輯配置來保存遊戲進度。與死亡後重置回起點的基礎重生機制不同,持久化系統透過變數儲存功能,確保玩家能從最後啟動的存檔點繼續遊戲。
數據顯示,存檔點間隔設為 20-30 秒的地圖,通關率可達 60-80%,而沒有存檔點的地圖通關率僅為 20-40%。在有存檔點的情況下,玩家通常只需嘗試 3-5 次即可過關,相比之下,無存檔點的地圖則需 8-12 次。
若需獲取更多樂園工坊資源,在 BitTopup 進行 蛋仔派對蛋幣儲值 能以競爭力的價格與安全的交易環境解鎖進階功能。
存檔點持久化的原理
持久化意味著在角色死亡後仍能保留存檔點數據。這需要三個核心組件:
- 偵測機制:識別玩家何時到達存檔點。
- 儲存系統:使用「蛋碼」(Eggy Code)變數來記錄位置數據。
- 重生邏輯:在玩家死亡時讀取已儲存的位置並進行傳送。
標準重生點 vs. 進階存檔點
標準重生點使用固定的「重生點」組件,通常是全域啟動的。它們缺乏條件邏輯,無法區分不同玩家的個人進度。
進階系統則利用編輯模式中的「存檔區域」(Checkpoint Volumes)作為觸發區,用來更新特定玩家的重生位置。將「存檔區域箭頭」與「組件」同步,即可建立隨進度動態調整的重生點。
為什麼預設邏輯會失效
預設機制通常是全域運作的,沒有針對單一玩家的狀態追蹤。由於缺乏儲存或讀取存檔數據的邏輯,玩家死亡後往往會發生「硬重置」,直接回到初始起點。
這在超過 60 秒的地圖中尤為嚴重——重複的完全重啟會導致玩家失去耐心而放棄地圖。
核心架構原則
三大原則:事件驅動啟動、狀態持久化、條件式重生。
設計時必須考慮工坊的佔用值限制:基礎 18,000,匠心值達 1,000 時為 21,000,匠心值達 10,000 時則為 25,000。
必備邏輯組件
必要組件清單

- 存檔區域 (Checkpoint Volumes):空間偵測區域。
- 事件觸發區域:監控玩家的互動。
- 蛋碼變數:數據儲存媒介。
- 重生裝置:需注意 30 秒的冷卻限制。
- 終點物件:可透過瞄準區域進行編輯。
圓錐形觸發器適用於具方向性的存檔點;半球形觸發器則提供 180 度的覆蓋範圍。請將「偵測範圍」設定為「玩家」實體類型。
變數系統概覽
六種變數類型:
- 座標 (Position):座標數據。
- 整數 (Integer):存檔點編號。
- 浮點數 (Float):精確的時間數據。
- 布林值 (Boolean):狀態開關(真/假)。
- 字串 (String):識別名稱。
- 向量3 (Vector3):方向數據。
「全域變數」在所有觸發器中皆可使用。對於基礎系統,使用追蹤存檔點編號的「整數變數」效果最好。
事件觸發類型
「進入偵測事件」在玩家進入觸發區域時觸發;「死亡偵測事件」則在玩家失敗時啟動。
進入蛋碼編輯:更多選單 > 選擇單位 > 編輯蛋碼。進入事件用於設定存檔變數;死亡事件則讀取變數以決定重生位置。
條件邏輯設定
條件邏輯會將當前的存檔變數與設定值進行比較。布林條件提供真/假評估;整數比較則可實現多存檔點的順序觸發。
使用 inputLocked 布林變數(預設為假,啟動存檔時改為真並持續 0.5 秒)可防止玩家在啟動存檔點時誤操作。
建立你的第一個持久化存檔點
第一階段:建立觸發區域

將「存檔區域 1」放置在地面上方。地面觸發器建議直徑為 2-3 個蛋仔單位,牆掛式則為 1.5-2 個單位。觸發器之間請保持至少 2 個單位的間距。
將箭頭同步至組件,以提供視覺化的存檔點指示。
第二階段:玩家偵測事件
將偵測範圍配置為「玩家」實體。建立一個「進入事件」來更新存檔追蹤變數並提供反饋。
將整數變數 CurrentCheckpoint 設定為該存檔點位置的唯一識別碼。
在 BitTopup 購買便宜蛋幣 即可快速獲取進階工坊組件。
第三階段:變數儲存
建立一個預設值為 0 的整數變數 CurrentCheckpoint。每個存檔點分配不同的整數(1, 2, 3 等)。
若要實現基於位置的重生,請建立座標變數 LastCheckpointPosition 來儲存玩家的座標。
將作用域設為「全域」,以便跨觸發器存取。
第四階段:重生位置邏輯

在每個存檔點放置「重生點」,並設定與存檔點編號一致的唯一識別碼。
建立一個死亡偵測邏輯,讀取 CurrentCheckpoint 並啟動對應的重生點。例如:若 CurrentCheckpoint = 1,則啟動「重生點 1」;若為 2,則啟動「重生點 2」,依此類推。
第五階段:測試與驗證
親自試玩並在不同地點故意失敗。確認角色是在最後啟動的存檔點重生,而非回到地圖起點。
檢查極端情況:快速連續啟動、多人遊戲場景。確保有清晰的反饋(視覺、音效或 UI)確認存檔成功。
進階變數配置
選擇變數類型
- 整數變數:適用於具有明確進度的線性存檔系統。每個存檔點依序增加數值。
- 座標變數:適用於具有多個前進方向的非線性地圖。儲存精確座標以實現動態重生。
- 布林變數:用於存檔點的啟動標記或完成狀態。
個人變數 vs. 全域變數
「全域變數」會同時影響所有玩家,適合團隊共同進度的合作地圖。
「個人變數」(透過帶有玩家識別碼的命名慣例實現)則能在競技地圖中記錄每位玩家的獨立進度。
利用「連結地圖」功能,甚至可以實現跨地圖的進度共享。
命名規範
建議在存檔變數前加上 CP_ 前綴,並使用具描述性的名稱:
- CP_MainPath_Current (主線當前存檔)
- CP_SecretArea_Unlocked (隱藏區域解鎖)
- CP_BossRoom_Attempts (魔王房嘗試次數)
使用版本編號(如 CP_Current_v2)有助於迭代開發。
死亡後的數據保留
確保存檔變數不會在死亡事件中被重置。變數應僅在啟動「新」存檔點時更新。
實施驗證檢查,確保重生後變數完整。若偵測到無效值,應設定安全的備用方案(Fallback)。
死亡偵測與重生邏輯
偵測死亡事件
當生命值歸零或玩家進入「掉落區域」時,死亡觸發器會執行蛋碼。配置邏輯以讀取存檔變數並決定重生行為。
將掉落區域放置在平台下方、坑洞底部或危險區域,避免與正常遊戲區域重疊。
綁定重生位置
建立條件鏈來評估存檔變數並啟動對應重生點:如果 CurrentCheckpoint = 1,啟動 RespawnPoint_1;如果 = 2,啟動 RespawnPoint_2。
將存檔點組件與重生點同步,以獲得視覺確認。
處理特殊情況
實施預設備用機制:若存檔變數包含無效值,則啟動初始起點。
在多人遊戲中,使用個人變數或啟動隊列來解決衝突。
加入範圍檢查,拒絕有效範圍之外的存檔值(例如:在 10 個存檔點的地圖中,數值不應超過 10 或低於 0)。
優先級系統
順序優先級可確保玩家在已到達的最遠存檔點重生。僅當新數值大於當前數值時,才更新存檔變數。
空間優先級則透過為不同路徑分配優先級數值,解決非線性地圖中的衝突。
多存檔點進度系統
線性架構
將存檔點按順序編號(1, 2, 3)。配置邏輯僅允許向前推進——啟動存檔點 3 時,會使存檔點 1-2 失效。
順序驗證可確保玩家按正確順序啟動存檔點。
分支序列則可容納多條有效路徑,每條路線擁有獨立的存檔序列。
防止往回走
將新啟動的存檔點與當前值進行比較。僅在新編號大於當前編號時才更新。
利用觸發器位置建立「單向區域」,防止從錯誤方向重新進入。
進度指示器
視覺指示器可顯示「存檔點 3 / 7」或隨進度填滿的進度條。
環境標記(點燃的火炬、啟動的平台、開啟的大門)能提供直觀的空間反饋。
音效反饋可為不同階段的存檔點設定獨特的聲音。
管理長地圖
建議每 20-30 秒設置一個存檔點,以維持 60-80% 的通關率。
確保存檔變數除非玩家主動操作,否則絕不重置。
在中心區域(Hub)設置存檔點群組,讓玩家能安全地嘗試不同路徑。
常見錯誤與解決方案
意外重置
檢查所有修改存檔變數的邏輯——更新應僅發生在「啟動事件」中。
確認觸發區域沒有重疊,保持至少 2 個單位的間距。
審查死亡事件代碼,確保它僅「讀取」而非「修改」存檔變數。
變數覆蓋問題
實施嚴格的命名規範,防止誤用。
使用布林鎖定變數來實現互斥,防止同時修改。
確保類型一致性——不要在同一個變數中儲存不相容的數據類型。
觸發區域重疊
使用視覺編輯工具驗證間距。如有需要,縮小觸發器直徑。
垂直間距的要求應與水平間距相同。
使用優先級系統決定當多個觸發器同時偵測到玩家時,哪一個存檔點優先啟動。
效能瓶頸
優化條件鏈,將最有可能發生的條件放在最前面。
整合重複邏輯——對多個基於時間的系統使用單一重複觸發器。
注意佔用值限制:基礎 18,000,匠心值 1,000 為 21,000,匠心值 10,000 為 25,000。
多人同步問題
決定使用「共享存檔」(全域變數)還是「個人存檔」(個人變數)。
實施啟動隊列,在處理下一位玩家前先完成當前玩家的啟動程序。
在每個存檔點周圍設置多個重生位置點陣,以應對多人同時重生的情況。
優化技巧
減少組件數量
將多個簡單觸發器整合為帶有分支邏輯的複雜觸發器。
透過精巧的數值範圍設計,在不同系統間複用變數。
建立基於組件的存檔點模板,以便快速佈置。
高效的事件配置
配置觸發器僅在滿足特定條件時啟動,而非每一幀都偵測。
排列條件順序,先評估運算成本最低的條件。
當玩家進度大幅領先後,停用不再需要的後方存檔觸發器。
記憶體管理
在遊戲開始時初始化存檔變數,遊戲中更新,完成時清除。
使用能滿足需求的「最簡單」變數類型(例如:整數優於座標)。
開發過程中及時移除過時的變數與觸發器。
大規模測試
招募多名測試員同時遊玩,以發現併發負載問題。
測試極端情況:反向啟動、同時死亡、快速連續啟動。
利用工坊的佔用值顯示功能,找出高耗能組件。
實際案例
跑酷地圖系統

在困難的跳躍序列後,每 20-30 秒設置一個存檔點。採用線性架構與「僅限前進」邏輯。
視覺指標(發光平台、粒子效果)提供清晰的反饋。
冒險地圖存檔
進入新區域時啟動區域存檔點。使用座標變數儲存精確位置。
結合任務系統,將存檔點啟動與劇情進度掛鉤。
採用「中心輻射型」架構,設置中央安全區。
解謎地圖保存
使用多變數複合系統:座標記錄玩家位置、布林陣列記錄開關狀態、整數記錄道具數量。
存檔點設在完成謎題章節後,而非隨機間隔。
狀態驗證可防止在謎題未完成時啟動存檔。
競速地圖整合
存檔序列代表賽道段落,完成完整序列後增加圈數計數。
驗證機制透過檢查正確的啟動順序來防止玩家走捷徑。
重生點設在失敗點稍後方,防止產生不公平的優勢。
進階提示
與其他系統結合
- 積分整合:追蹤存檔點之間的死亡次數,為「零死亡」到達存檔點的玩家提供獎勵分。
- 背包整合:在存檔點保存背包狀態,重生時恢復。
- 計時賽整合:在啟動存檔點時儲存遊戲時間,計算分段成績。
條件式存檔點
僅在滿足特定要求(收集道具、擊敗敵人、解開謎題)時才啟動。
使用倒數計時器建立限時失效的臨時存檔點。
根據難度設定調整存檔點的出現頻率。
視覺反饋設計
多階段反饋:未啟動(中性/暗淡)、範圍內(脈衝/發光)、已啟動(明亮/粒子)。
音畫同步:將啟動音效與視覺特效配對。
在地圖各處設置持久標記,顯示已啟動的存檔點。
除錯網絡
透過 UI 文字元件即時顯示存檔變數值,進行除錯視覺化。
啟動日誌可記錄事件,供賽後分析使用。
在完整整合前,先對單個存檔點進行隔離測試。
資源與工具
工坊資源需求
基礎系統僅需預設組件:存檔區域、重生點、基礎觸發區域。
佔用值限制大約支援:
- 18,000 基礎:5-7 個存檔點
- 21,000 (1,000 匠心值):8-12 個存檔點
- 25,000 (10,000 匠心值):15 個以上存檔點
進階組件
透過發佈地圖並獲得好評來累積匠心值。
BitTopup 提供蛋幣以獲取更多工坊功能——價格實惠、發貨迅速、交易安全且客服優質。
參考熱門地圖:《打敗校長》 (ID 299110), 《蛋仔派對大屠殺》 (ID 288583)。
社群資源
創作者社群透過論壇與 Discord 分享模板與邏輯模式。
教學地圖可實地展示存檔邏輯的運作方式。
官方指南與社群文件提供詳細的技術規格。
常見問題解答 (FAQ)
蛋仔派對工坊的存檔點是如何運作的?
存檔區域偵測玩家進入,將數據儲存在蛋碼變數中,並修改重生邏輯,使玩家在死亡後於儲存的位置重生。
重生點和存檔點有什麼區別?
重生點是固定的預設位置。存檔點則會根據進度動態更新,利用變數記錄最後啟動的位置。
為什麼死亡後存檔點沒起作用?
可能是變數在死亡時被重置,或重生邏輯未讀取儲存數據。請確認死亡代碼僅「讀取」而不「修改」變數,確保變數為全域作用域,並確認重生邏輯有正確評估變數。
一張地圖可以建立多個存檔點嗎?
可以,但受限於佔用值。基礎 18,000 支援 5-7 個;匠心值達 10,000 時可支援 15 個以上。
存檔點放置的最佳實踐是什麼?
每 20-30 秒設置一個以維持通關率。放置在困難挑戰後或新區域入口。保持 2 個單位的間距,離地 1 個單位,直徑設為 2-3 個單位。
變數如何與存檔點配合使用?
變數用於儲存跨死亡事件的數據。整數追蹤編號,座標儲存位置,布林值標記啟動狀態。建立全域變數,在啟動時更新,在死亡時讀取以決定重生位置。
準備好提升你的工坊創作了嗎?到 BitTopup 獲取優質資源並解鎖進階邏輯。快速、安全、創作者首選——立即強化你的蛋仔派對體驗!



















