從敘事到原語,全鏈遊戲引擎 Mud、Dojo、Zypher 的 3 類設計範式
作者:NingNing
自主世界 / 全鏈遊戲是 Crypto 技術宅的無聊玩具嗎?或者說是一種 Cult 類型 MeMe?
之所以會有這些疑問,是由於自主世界 / 全鏈遊戲抽象複雜的定義和目前簡單到簡陋的遊戲介面和互動,令大多數遊戲玩家望而生厭、望而生畏。
但事實上,自主世界 / 全鏈遊戲雖然有著完全不同於其它範式遊戲的遊戲體驗,並不意味著它不好玩。作為一名遊戲老玩家,第一款全鏈遊戲 DarkForest,是我 5 年內唯一一款連續通宵兩天玩的遊戲。
如果說其他遊戲的空間是一個沙盒,而遊戲內容是對密室遊戲的仿真,那麼全鏈遊戲的空間則是數字物理現實,而全鏈遊戲的內容是對真實世界博弈的仿真。在玩 DarkForest 的過程中,我才真真切切體會到大劉《三體》中沁入骨髓的宇宙恐怖。
自主世界 / 全鏈遊戲的基礎敘事
Lattice 團隊在《自主世界宣言》中設定了自主世界 / 全鏈遊戲概念的內涵和外延,將自主世界 / 全鏈遊戲與 Web2.5 遊戲區隔開來。
自主世界 / 全鏈遊戲是基於數字物理現實和基礎法則的自維持開放遊戲系統,它具有持久性、不可變性、免許可性。
狹義全鏈遊戲即自主世界,它的可玩性不來自於遊戲開發者提供的遊戲內容(宇宙觀、情節、音樂、立繪等)和遊戲目標感(等級、成就、副本、國戰)等,而來自於玩家在自主世界構建的子世界(Sub-World)的真實體驗。
自主世界 / 全鏈遊戲的構建邏輯是對象 - 基本法則 - 數字物理現實,分別對應遊戲引擎 ECS 框架的實體 - 組件 - 系統。
某種意義上,自主世界 / 全鏈遊戲是在探索基於我們所處的真實世界的信息比特構建下一層虛擬世界。或者我們採用馬斯克的說法,基於一個虛擬世界嵌套一個新的虛擬世界。這與科幻美劇《瑞克和莫蒂》中一個多層世界無限遞歸嵌套的名場面有一致性。
自主世界 / 全鏈遊戲新原語的實現範式
以上是自主世界 / 全鏈遊戲的簡版敘事。而將自主世界 / 全鏈遊戲的敘事實例化,我們需要一整套的由區塊鏈、遊戲引擎、中間件、遊戲客戶端等工程模塊組成的新原語。
自主世界 / 全鏈遊戲的新原語需要解決 3 個核心問題:
- 區塊鏈的可擴展性問題。實現自主世界 / 全鏈遊戲的持久性、不可變性、免許可性,需要遊戲狀態和邏輯全部上鏈,這對區塊鏈的可擴展性和可編程性提出非常高的要求。
- Tick 循環問題。區塊鏈是沿著時間之矢方向的順序狀態機,並不適合管理自主世界 / 全鏈遊戲的狀態。因為自主世界 / 全鏈遊戲有著大量的循環事件,比如日出日落、小怪的巡查路線等等。而且區塊鏈是被動狀態更新,需要用戶發送 Transaction 才能觸發事件。
- 如何實現數字物理現實的不可變性與基本法則和對象增查改刪的開放性、免許可性。
針對以上 3 個核心問題,自主世界 / 全鏈遊戲團隊 Lattice、Dojo 和 Zypher Games 團隊的自主世界 / 全鏈遊戲原語給出不同的解法。
Lattice 的自主世界 / 全鏈遊戲的原語由 Worlds 開發框架、MUD 遊戲引擎和 Redstone 底層共識協議組成。
World 開發框架。World 是建立在 MUD V2 新存儲引擎 STORE 之上的智能合約開發框架。STORE 是由 Runtime(運行時)定義的存儲引擎。MUD V2 用它取代了 Solidity 編譯器的存儲模型。
World 是 EVM 應用的新範式。你可以把它想像成一台社區計算機:它作為一個多人遊戲內核存在,接受來自鏈上任何人的貢獻------無論是代碼還是狀態。
World 具有可編程的訪問管理功能,允許任何狀態或邏輯控制哪個帳戶(或其他邏輯)可以訪問它們。這使得建立信任層次結構成為可能,並允許不受信任的智能合約讀取狀態並參與規則,而無需讓它們直接寫入存儲。
MUD 遊戲引擎。MUD 全鏈遊戲引擎是 EVM 生態中的首款全鏈遊戲引擎。MUD V2 由運行時定義的存儲引擎 STORE、狀態同步、原生 AA(帳戶抽象)模塊組成。
MUD V2 的新特性允許創建一組數字物理學,確定世界如何創造和轉換,並隨後破壞對自身的根訪問;在不限制功能集的情況下,永遠奉行一套規範的規則:世界上的任何人------人類和機器------都可以與這些規則互動,並在這些規則之上建立社會和工程裝置。
Redstone 底層共識協議。Redstone 是 OP Stack 的第一個 Plasma Rollup L2 實例,由 Lattice 和 Optimism 合作專為鏈上遊戲和自治世界的開發者而構建。
它的運作方式類似於傳統的 OP Rollup,但與 OP Rollup 將輸入狀態發布到 L1 不同,Redstone 只發布一個數據承諾哈希(data commitment hash)。與輸入承諾對應的輸入狀態由數據可用性提供者存儲在鏈下。為了確保與輸入承諾對應的輸入狀態可用,L1 上有一個數據可用性挑戰合約,允許任何人在提供者出現問題的情況下對數據承諾提出挑戰。
Dojo 在早期是 MUD 的 Fork 項目,致力於在 Starknet 上用 Cario 語言實現 MUD。現在的 Dojo 的自主世界 / 全鏈遊戲的原語由 Cario 狀態和智能合約開發框架、全鏈遊戲引擎 SOZO CLI、索引和 RPC 服務中間件 TORII、KATANA 底層共識協議組成。
Cario 狀態和智能合約開發框架。Dojo 提供使用 Cario 智能合約上構建全鏈遊戲 / 自主世界的標準化方法,簡化開發過程,讓開發者們專注於邏輯而不是架構。
全鏈遊戲引擎 SOZO CLI。SOZO CLI 支持創建、建造、測試和部署全鏈遊戲 / 自主世界實例,支持製作新的組件和系統,協助管理多個自主世界實例。
索引和 RPC 服務中間件 TORII。TORII 自動索引所有合約狀態。通過 GraphQL API 或 gRPC 自動公開狀態。開發者無需再生成自定義索引器。
KATANA 底層共識協議。KATANA 是一個可定制的 Starknet 開發網絡,允許對遊戲邏輯進行快速迭代。
Dojo 與 MUD 的主要區別,在於使用 ZK-Rollup 作為底層共識協議和 Cario 語言作為開發語言。
與 Dojo 分叉 MUD - 適應性特化的全鏈遊戲 / 自主世界引擎開發路徑不同,Zypher Game 是完全原生的基於 ZK 技術的全鏈遊戲 / 自主世界引擎。Zypher Game 的全鏈遊戲 / 自主世界原語主要由遊戲引擎 Secret Engine、AW Engine 和底層共識協議 Zytron Kit 組成。
Secret Engine,提供了一套由 zk 驅動的可以安全執行可驗證的加密計算的 sdk,確保遊戲需要的元素在鏈上保持密封,現在已有的服務 zk-shuffle-as-a-service 已經幫助超過 3 款全鏈上卡牌類遊戲進行加密和洗牌。
AW Engine。AW Engine 是各種由 ZK 驅動的 services SDK 組成,包括 Gadgets 工具箱、APP 專用電路、鏈上驗證節點等等。AW Engine 能夠實現即插即用的 ZK 功能、ZK 電路的可組合性、第三方與 RISC ZeroZK 虛擬機的集成。
AW Engine 還創新開發了特用於多人實時遊戲的 Z4 引擎,Z4 通過 zk-rollup 來擴展多人多局遊戲的並發性,核心是狀態變化的快速方式,z4 讓遊戲不需要在源鏈上進行全局狀態廣播而是轉化為廉價的局部狀態更改,這能有效的減少用戶手續費的支出,還能支持數百萬甚至數十億的 tps。
Zytron Kit。Zytron Kit 是模塊化的 Sovereign L3 Rollup 構建堆棧。Zytron Kit 由主權 L3 Rollup、Zypher Games 的遊戲引擎作為預編譯合約、伺服器分片、數據兼容性、定制化網絡組成。
Zytron Kit 專為開發者量身定制,以最低成本構建自主世界、迷你戰略遊戲或將 AAA 遊戲遷移到鏈上,而無需陡峭的學習曲線,使他們能夠在鏈上遷移資產、遊戲邏輯和數據存儲,同時保留生產級 UE。
在 AW Engine 和 Zytron Kit 之外,Zypher Game 還具有面向移動遊戲玩家的證明計算市場,並且 Zypher 還在與一些遊戲相關的基礎設施集成。
近期 Zypher Game 還跟 Risc Zero 和 Celesita 達成了合作。與 Risc Zero 的合作中,Zypher Game 將 Risc Zero 的通用 ZK 虛擬機集成到 Zypher 遊戲引擎中,並通過包含的遊戲專用 SDK 擴展功能,擴展 Risc Zero 的用例。與 Celesita 的合作中,Zypher Game 採用 Celesita 的 Roll Kit 工具構建 Zytron Kit,並將 Celesita 作為 Zytron Kit 的默認 DA 層。
最新,Zypher Games 上線了 B² Network 測試網,表示正在支持 BTC 生態,將通過 ZKP 和 AI 技術幫助 BTC 生態發展鏈上遊戲。
總結
從敘事到原語,為了處理區塊鏈的可擴展性問題、Tick 循環問題、實現數字物理現實的不可變性與基本法則、對象的開放性問題,自主世界 / 全鏈遊戲的新原語給出不同的解決方案。Lattice 選擇了 OP-Rollup + 暴改 EVM 共識機狀態機制的路徑,而 Zypher Game 和 Dojo 則選擇利用 ZKP 去信任地壓縮狀態數據和將驗證轉移到鏈下計算的方案。
三種方案,各有千秋。Lattice 的實現範式在 EVM 兼容性、開發者友好度方面具有優勢。Dojo Game 針對 Starknet 的開發環境和生態特異性適應。而 Zypher 選擇利用模塊化 DA、RiscZero Zk 協處理器、比特幣 UTXO 的原生數字物理特性,實現兼具去信任性、可擴展性、性能彈性的方案。
除了以上 3 種範式以外,還有 Argus 的 World Engine、Nervous(CKB)的基於 eUTXO 狀態數據結構的全鏈遊戲 / 自主世界原語。
目前,全鏈遊戲 / 自主世界處於蓋特納新興技術成長曲線的技術萌芽期,這個階段開發者人數多於玩家,很多測試遊戲是 4399-like 的休閒小遊戲。這不妨礙加密風投基金們在這個新興領域屢下重注。因為在他們眼裡,全鏈遊戲 / 自主世界現在的狀態,就像 1820 年代跑不過馬車的火車一樣,不是問題,而是機遇。