作者:Ishanee @IOSG Ventures

前提摘要:

我們在FOG系列的第一部分中對鏈上游戲和遊戲引擎進行了概述,感謝Sylve, Tarrence, Andy, Alvirus, Kevin & Iain對本文的支持。

鏈上游戲和引擎還處於早期階段。像MUD和Dojo這樣的遊戲引擎雖然已經能夠用於產品研發,生態系統中已經有開發者正在在使用,但還有很長的路要走。遊戲引擎通常會經歷巨大的網絡效應,因為許多遊戲都基於它們的框架並向框架添加功能。

在鏈上游戲生態中,最大的網絡效應來自於遊戲的可組合性和可擴展性,以及遊戲資產與其他基於相同生態系統和引擎的遊戲的結合。隨著開源庫允許開發人員在社區的幫助下解決技術問題,引擎的粘性也呈指數級增長。

詳解Web3遊戲引擎:賽道緣起、發展現狀及網絡效應

如果我們想像遊戲引擎生態系統的進化,它們的網絡效應和價值累積層可能如圖所示。模塊/驗證器市場很容易被類似於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等技術的成熟和可供生產使用,這種情況將發生變化。

詳解Web3遊戲引擎:賽道緣起、發展現狀及網絡效應

 12月CryptoKitties發行時造成網絡擁堵的請求數

Argus還介紹了他們的新產品——插入數據可用層的EVM第2層。這是基本分片(base shard)。我們不知道更多關於它的細節,但它讓我們想起了Len的Momoka。 EVM基礎層將使其他遊戲開發者能夠為他們的遊戲構建高度可定制的執行層game Shards,並且base Shard將成為為整個Argus L2帶來可組合性的層。

詳解Web3遊戲引擎:賽道緣起、發展現狀及網絡效應

區塊鏈的低速

在區塊鏈上,只有等交易確認後,合約狀態才會發生改變。如果你想讓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)一起發布。

詳解Web3遊戲引擎:賽道緣起、發展現狀及網絡效應

網絡上對遊戲平均tick頻率的討論

開發者體驗仍需提高

MUD背後的故事是,Lattice團隊一直在嘗試創建新的鏈上游戲,並遇到了同樣的後端問題。所以他們決定創建一個可以被普遍採用的鏈上游戲開發框架。除了可組合性外,還有兩個關鍵挑戰:合約和玩家客戶端之間的更快狀態同步和易於升級(修改/更新內容)而無需在每次升級時重寫索引器(自動索引器) 。

在本文中,我們將假設在同一遊戲引擎框架上構建的所有應用程序都具有可組合性。

遊戲引擎介紹

本文將介紹四個項目,它們都在爭奪最大區塊鏈遊戲引擎標準的地位。其中兩個是公共產品,另外兩個是由過去籌集資金的商業團隊建造的。讓我們深入了解一些更高級的問題以及團隊如何解決它們。

詳解Web3遊戲引擎:賽道緣起、發展現狀及網絡效應

詳解Web3遊戲引擎:賽道緣起、發展現狀及網絡效應

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++和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之前,我們還有很長的路要走。