鏈上遊戲與遊戲引擎目前都處於早期階段,在鏈上遊戲的生態中,最大的網路效應來自於遊戲的可組合性和可擴展性,隨著開源庫允許開發人員與社群共同解決技術問題,遊戲引擎的黏性也呈現指數級成長,但相對的也面臨一系列的問題。
(前情提要:SEC監管擋路,Web3遊戲能衝破封鎖嗎? )
(背景補充:IOSG報告》全鏈遊戲是什麼?遊戲全部邏輯「放在區塊鏈上」成未來趨勢 )
前提摘要:
我們在 FOG 系列的第一部分中對鏈上游戲和遊戲引擎進行了概述,感謝 Sylve, Tarrence, Andy, Alvirus, Kevin & Iain 對本文的支援。
鏈上游戲和引擎還處於早期階段。像 MUD 和 Dojo 這樣的遊戲引擎雖然已經能夠用於產品研發,生態系統中已經有開發者正在在使用,但還有很長的路要走。遊戲引擎通常會經歷巨大的網路效應,因為許多遊戲都基於它們的框架並向框架新增功能。
在鏈上游戲生態中,最大的網路效應來自於遊戲的可組合性和可擴充套件性,以及遊戲資產與其他基於相同生態系統和引擎的遊戲的結合。隨著開源庫允許開發人員在社群的幫助下解決技術問題,引擎的黏性也呈指數級增長。
如果我們想象遊戲引擎生態系統的進化,它們的網路效應和價值累積層可能如圖所示。模組 / 驗證器市場很容易被類似於 Gnosis Safe 模組的引擎層吞沒。預設情況下,AW 層是可組合的,但這取決於遊戲開發者和玩家對可組合性級別的選擇。許多公司正試圖在這個堆疊中捕獲 2 層或更多的層。
至此,讓我們深入探討線上遊戲開發的主要挑戰以及遊戲引擎如何解決這些問題。區塊鏈遊戲引擎所面臨的問題:
網路擁堵
Crypto Kitties, Axie Infinity, Loot Realms 釋出時,無一不造成了整個網路的擁堵。他們是如何解決的?他們分別建立了自己的鏈,即 Flow、Ronin 和 Loot Chain。鏈上游戲需要更多的計算資源,而所有遊戲都將爭奪區塊空間。因此,有資金支援的商業化團隊自然而然會選擇建立自己的應用特定的 L2 擴充套件層。他們與 Caldera、Conduit、Eclipse、Alt Layer 等 RaaS(Rollup as a Service)提供商合作。目前流行的 L2 框架似乎是 OP Stack,我們預計隨著 Arbitrum Orbit、Starkware L3 和 ZkSync Hyperchains 等技術的成熟和可供生產使用,這種情況將發生變化。
Argus 還介紹了他們的新產品 —— 插入資料可用層的 EVM 第 2 層。這是基本分片(base shard)。我們不知道更多關於它的細節,但它讓我們想起了 Len 的 Momoka。EVM 基礎層將使其他遊戲開發者能夠為他們的遊戲構建高度可訂製的執行層 game Shards,並且 base Shard 將成為為整個 Argus L2 帶來可組合性的層。
區塊鏈的低速
在區塊鏈上,只有等交易確認後,合約狀態才會發生改變。如果你想讓 f (a) 觸發 f (b),這個過程只能等待。因此,遊戲中的延遲似乎是不可避免的。在以太坊上,這將是 15 秒,直到區塊被解決,以及另外 30-45 秒以克服重組風險。
通過使用 ticks, 遊戲中的狀態可以在不用等待交易完成的狀態下自動改變。Tick 頻率可以理解為更新的頻率。競爭性 MMO 遊戲的 tick 率通常為 20-30 秒,RTS 遊戲的 tick 率可能高達 60 秒。現在大多數遊戲開發者都在製作 MMO 遊戲,所以 20 秒的 tick 頻率是比較理想的。Rollups 上平均的區塊時間為 1-2 秒(Momoka 連線 Polygon PoS 的時間為每 2 秒),Argus 的新解決方案擁有 20 個 tick / 秒的 tick 頻率,是目前行業中最快的。
0xCurio 團隊是第一個使用自定義 L2s (通過 Caldera) 來優化更快 tick 率的商業團隊。他們已經在 OP Stack 上建立了第一個 tick 鏈應用,並可能與他們的遊戲 (如 treaty.earth) 一起釋出。
開發者體驗仍需提高
MUD 背後的故事是,Lattice 團隊一直在嘗試建立新的鏈上游戲,並遇到了同樣的後端問題。所以他們決定建立一個可以被普遍採用的鏈上游戲開發框架。除了可組合性外,還有兩個關鍵挑戰:合約和玩家客戶端之間的更快狀態同步和易於升級 (修改 / 更新內容) 而無需在每次升級時重寫索引器 (自動索引器)。
在本文中,我們將假設在同一遊戲引擎框架上構建的所有應用程式都具有可組合性。
遊戲引擎介紹
本文將介紹四個專案,它們都在爭奪最大區塊鏈遊戲引擎標準的地位。其中兩個是公共產品,另外兩個是由過去籌集資金的商業團隊建造的。讓我們深入瞭解一些更高階的問題以及團隊如何解決它們。
MUD v2:
MUD 是最受歡迎的遊戲引擎,為 EVM 上 95% 以上的線上遊戲提供遊戲引擎。Lattice 的遊戲引擎引入了 Store,它可以用類似於關係資料庫的方式表示鏈上資料。使用 Store 而不是編譯器驅動的儲存的好處是合約資料的可升級性和大規模的 gas 成本。
狀態更新也會自動發出事件,因此自動索引器無需自定義配置即可索引整個狀態。與 Solidity 的靜態資料相比,新資料 (表) 可以在執行時新增,從而實現可升級性。儲存成本與為每個狀態手動發出事件相當,但 MUD 比原生 Solidity 更有效地打包資料,因此從長遠來看更便宜。
Store: 是使用 solid 的編譯器驅動儲存的另一種方案。在合約中儲存資料是消耗 Gas 的,並且在 Solidity 中是靜態 / 不可檢視的,這意味著介面 / 應用程式必須假設它們所進行的呼叫是正確的。通過 Store 的鏈上資料庫,應用程式的合約儲存現在可以被鏈下索引器、前端或另一個合約進行索引。使用 Store 的好處是合約資料的可升級性和大規模 gas 成本的考慮。
Mode: 這是一個鏈下索引器,使用 PostgresDB。它可以索引 EVM 上的任何 MUD 應用程式,主要用於與 MUD 客戶端進行更快的狀態同步。
World : 是一個框架,包括使用儲存、系統、無許可權建立、訪問控制、模組等。綜上所述,World 合約是一個具有集中狀態和合約邏輯的單一合約。它可以在鏈上外掛和一套改進的開發者工具的幫助下擴充套件。引入 MUD 的每個新外掛都會為下一個加入的開發人員增加框架和引擎的價值。
一些例子:
- Endless Quest: 可在 AW 生成一致敘事,metadata 和藝術
- MUDVRF:遊戲中生成鏈上隨機數的 MUD 模組
- DeFi Wonderland:通過 burner client 來使用錢包的帳戶管理模組
- MUD Scan:MUD 遊戲的排行榜看板
Dojo Engine:
Dojo Engine 是由 Starknet 開發者開發的公共遊戲引擎。這是唯一可驗證的遊戲引擎,並且其驗證是為遊戲引擎的架構和工具而生。
在這種情況下,可證明性意味著相同的遊戲迴圈可以在 rollup 的序列器或本地客戶端 (如瀏覽器) 上得到證明。使用 dojo,使用者可以編寫證明邏輯來執行客戶端,並且只在鏈上進行驗證,成本很低。這也使反作弊和樂觀更新等功能成為可能,即使順序器仍在驗證玩家的交易,邏輯也會在玩家的瀏覽器上實現。
他們的資料儲存方案類似於 MUD 的 Store,但針對可證明性和有效性證明的特性進行了訂製。他們使用 Torii 提供自動可驗證的索引。索引使用儲存差異完成,提供 O (1) 索引,並使用儲存證明支援世界狀態的客戶端可驗證性。Dojo 支援部署到 Starknet 以及高效能的第 3 層序列器,如 Katana 和 Madara。Dojo 提供了 Katana (一個本地開發網路)、Sozo (一個用於部署、更新和與遊戲互動的命令列介面) 和 Torii (一個可驗證的索引器)。Dojo 提供了一個 rust sdk,可以為瀏覽器編譯成 WASM,在基於 rust 的遊戲中使用 (即使用 Bevy),併為 Unity 和 Unreal (正在開發中) 提供繫結。
遊戲開發者被鼓勵用 Cairo 編寫應用程式。Cairo 是一種類似 rust 的語言,用於為一般計算建立可證明的程式。在 Dojo 上構建的一個優點是,您可以引入使用 zkps 原生的戰爭迷霧機制,而不必在 Solidity 上的 Circom 中編寫程式碼。
Argus Labs:
Argus Labs 由 Scott 創立, Scott 是 Dark Forest 的共同創辦人之一,最近釋出了他們最新(也是唯一的)的更新。這是一個雄心勃勃的專案,想要成為建立遊戲 (工作室)、遊戲引擎以及供其他開發者擴充套件和部署的基礎設施。它目前是一個閉源專案,但他們的部落格承諾它將在釋出時開放原始碼。
如之前分享的內容所描述,它是一個訂製的 L2,具有基本分片和個人可訂製的遊戲分片。配合 World Engine (專有遊戲引擎),遊戲開發者可以使用自定義引數 (如更高的 tick 率、帶有 gas 自定義的本地 AA、ECS 資料庫以及與 Unity、虛幻、JS 等客戶端的相容性) 建立獨特的執行環境。他們還提供類似於其他遊戲引擎的自動索引器。他們優化了 L2 & world 引擎,使用 Solidity 編寫的內容變得抽象,鼓勵用 Go 進行遊戲開發。在傳統遊戲開發中,雖然 Go 是一種完美的程式語言,但它並不是首選語言,因為大多數引擎和庫都支援 C、c++ 。
Scott 在他最近的演講中暗示了一個獨特的價值主張,即基於位置的分片 (比如 「亞洲伺服器」,「歐洲伺服器」),這可以進一步改善遊戲的延遲。舉個例子來說,大多數序列器都位於美國,而亞洲玩家通常面臨至少 300 毫秒的延遲,這在遊戲中是很長的時間。整個結構由共享序列器支援,該序列器是為優化延遲而訂製的,而不是同步可組合性和原子捆綁。它沒有阻塞執行時的鎖 —— 支援多個分片,並且不會被彼此阻塞,也不會強制執行總排序。
Cardinal Shard 是該公司首次實現的遊戲 Shard,每秒 20 次 tick,與傳統遊戲相當。
Keystone:
Curio 團隊是第一個嘗試使用自定義 L2 的商業團隊,並最終與 Caldera 合作實現他們的自定義 OP Stack。他們將 ECS 結構嵌入到他們的 tick 鏈中,並將提供類似自動索引,Unity 的客戶端支援等功能。這是一個研發專案,是他們努力建立 Treaty.earth 的結果。更多內容或許會在團隊準備更充足時與公眾分享。
其他嘗試:
雖然這四個是 EVM / 以太坊生態系統中最前端和最知名的,但還有其他幾個自定義遊戲引擎正在由 Playmint 和 Solana (Arc by Jump Crypto) 等團隊構建。Topology 是另一家處於線上遊戲前端的探索者,並在 Starknet 上推出了基於其專有遊戲引擎的 Isaac,他們的最新遊戲 Shoshin 也即將推出。
結論:
如今的各家引擎的都在想方設法提升 tick rate,擴容網路,旨在讓區塊鏈能承載更加複雜的遊戲互動 —— 這讓我想起了早些年 vr 遊戲裝置的競爭格局,新的技術出現,各家圍繞著 vr 頭顯的傳輸頻寬打了好一會仗,硬體廠家號召下,開發者蜂擁而上試圖讓各種品類的遊戲都做一個 vr/ar 版本,然而隨著市場的檢驗,人們發現只有某幾種固定的品類適合做成 vr,而頭顯的頻寬問題也並不至關重要。同樣的,全鏈引擎各家決勝的過程會是一個複雜系統博弈的結果,但可以預見的是,先找到 pmf(在引擎之上內容側有全鏈爆款輸出的)的會有較大的競爭優勢。
我們很高興看到每一層的發展過程,新遊戲的釋出和新引擎的出現。除了 MUD v2 和 Dojo,其他的都還沒有經過實戰測試,在我們弄清楚誰是鏈上世界的 unreal 和 unity 之前,我們還有很長的路要走。
📍相關報導📍
Animoca CEO Robby Yung:明年3A級遊戲大爆發,傳統玩家會入圈!