2023 年全鏈遊戲發展介紹#
全鏈上遊戲在 2023 年有了非常顯著的進展,日益吸引了大家的注意力。我們認為有以下幾個原因,
- Jump Crypto 在年初明確了全鏈遊戲這個概念的內涵和外延,使全鏈遊戲和 GameFi 兩個鏈遊子賽道做出了明確的區分。
- ECS 架構的遊戲引擎在年初開始出現,使得建立鏈上複雜應用更加方便。
- Ticking Chain 的出現使得全鏈遊戲的邏輯幀刷新率有了質的飛躍,從而製作全鏈遊戲的類型從回合制擴展到了需要高刷新率的即時策略類。
- AA 錢包在 2023 年開始普及,可以極大提高全鏈遊戲的操作體驗,從此不用再對每一步上鏈操作進行簽名授權。
- ZK 技術隨著 ZK-Rollup 的普及得到迅猛發展,幫助全鏈遊戲從製作信息對稱的遊戲擴展到 “非對稱信息遊戲”。
- 自主世界(Autonomous Worlds)這個敘事從極客圈層開始滲出到 VC 圈層,主要歸功於兩次比較大的行業事件,第一個是 5 月份 ETHGlobal 和 0xPARC 以及 Lattice 舉辦的名為 “Autonomous Worlds Hackathon” 線上黑客松。另一個是 11 月份在伊斯坦布爾舉辦的名為 “Autonomous Worlds Assembly” 線下會議。
- 有十幾個全鏈遊戲在 2023 年進入到測試網階段,初步展示了可玩性。
- 2023 年,區塊鏈基礎設施在 Layer2 日益內卷,應用層比如金融和社交缺乏足夠的創新,因此符合 “Crypto Native” 的全鏈遊戲賽道成為應用層敘事的領頭羊。
以下將分別從基礎設施,敘事邏輯,全鏈遊戲,行業融資等幾個方面進行闡述。
基礎設施#
我們認為全鏈遊戲的基礎設施是遊戲引擎,Ticking Chain,基於 ZKP 的信息隱藏系統和 AA 賬戶。
遊戲引擎#
遊戲引擎是一種用於開發和創建電子遊戲的軟件框架。它包括了遊戲開發所需的許多核心功能,對於傳統的 Web2 遊戲來說,一般包含如渲染引擎、音頻處理、物理模擬和動畫系統等。通過使用遊戲引擎,開發者能夠專注於遊戲設計和創意,而無需從頭開始構建整個技術基礎設施。遊戲引擎為遊戲開發者提供了一個快速有效的工具,以降低開發成本和時間。
對於全鏈上遊戲來說,同樣需要一個能夠幫助開發者快速部署遊戲邏輯的工具。這不僅能夠縮短開發周期,還為後續的迭代開發和開放生態中的互操作提供了統一的數據標準。如果我們把區塊鏈系統當做一種分佈式數據庫的話,如何在這個分佈式數據庫中高效率地儲存和讀取遊戲中的數據,構建大型智能合約,以及及時地與前端狀態同步並不是一件容易的事情。ECS 架構的全鏈遊戲引擎應運而生。
ECS(實體 - 組件 - 系統)本質是一種數據結構的建模方式,它的核心在於如何存儲和組織數據。
- 實體(Entity):在 ECS 模式中,實體是一個抽象的概念,它並不直接持有數據,而是通過組件來關聯數據。實體可以被看作是一個或多個組件的容器,它的主要作用是為組件提供一個唯一的標識。
- 組件(Component):組件是數據的載體。在 ECS 模式中,所有的數據都被封裝在組件中。每個組件都代表了一種特定的屬性或者行為,例如位置、速度、顏色等。組件只包含數據,不包含任何邏輯或行為。
- 系統(System):系統是處理數據的地方。系統會根據實體的組件來決定如何處理這些實體。每個系統都有一個或多個特定的任務,例如渲染、物理模擬、AI 邏輯等。
它將數據(組件)和行為(系統)分離,使得數據的存儲和處理更加靈活和高效。這種架構的優點在於:
- 可組合性:通過組合不同的組件,可以創建出具有各種屬性和行為的實體,而不需要創建大量的類或結構。
- 數據局部性:由於組件只包含數據,因此可以將相關的數據緊密地存儲在一起,提高緩存利用率,從而提高性能。
- 可重用性:系統只關心數據,而不關心數據來自哪個實體,因此可以在多個實體之間重用同一個系統。
- 並行性:由於數據和行為的分離,使得在多線程環境下對數據的並行處理變得更加容易。
雖然 Jump Crypto (@jump_) 同時提出了一種 ARC(Action Registry Core) 架構的遊戲引擎,但是我們認為該架構僅僅是 ECS 架構的一種變體,並且有眾多局限性,所以目前已有的號稱全鏈遊戲引擎架構均採用 ECS 架構。
MUD:Lattice (@latticexyz) 的 MUD 是 Web3 領域最為久遠和出名的全鏈遊戲引擎,在之前的第一代版本時,曾清晰地表明,MUDv1 是基於 ECS 的一套框架,年中時 Lattice 公布了 V2 版本,對 MUD 整體架構做了巨大改變,MUDv2 包括:Store(一個鏈上數據庫)、World(一個入口點框架,提供標準化的訪問控制、升級和模塊)、基於 Foundry 的快速開發工具、能夠反映鏈上狀態的客戶端數據存儲,以及 MODE(一個可以使用 SQL 查詢並反映你鏈上狀態的 Postgres 數據庫)。年底,MUD 又引入了自己單獨的 Layer2 rollup(基於 OP Stack),取名 Red Stone。目前 MUD 僅適用於 EVM 兼容的鏈。
Dojo:目前全鏈上遊戲除了採用 Solidity 編寫外,StarkNet 的 Cairo 也是一種常用的語言。然而,MUD 並不能很好地兼容 Cairo。因此,StarkNet 生態中的兩個活躍項目 Realms 和 Briq 的創始人 Fork 了 MUD,共同開發了基於 Cairo 的全鏈上引擎 Dojo (@ohayo_dojo)。
World Engine:Argus (@ArgusLabs_) 專為全鏈遊戲設計的分片 Rollup 框架。World Engine 分為兩個關鍵部分。第一部分是核心,由兩個關鍵元素組成:EVM Base Shard,一個支持分片的混合執行層和排序器,以及 Game Shard,一個高性能的遊戲引擎加執行層。除此之外,還有一些周邊組件,如用於客戶端 - 伺服器通信的事務中繼和網絡代碼,以及用於像 Dark Forest 這樣的 ZK 遊戲的 ZK Cloud 證明器。簡單來說,World Engine 同樣採用 ECS 架構,自帶一條 EVM 兼容的 Layer2 鏈,並且鏈可以實現高效率的自動 “邏輯幀” 刷新。
Keystone:Curio(@0xcurio)在 5 月份開源了 Keystone,一個內置了遊戲 Tick 和 ECS 全鏈遊戲引擎的 L2 鏈,該鏈基於 OP Stack 製作。相比通過智能合約編寫 ECS 狀態,這種設計允許所有 ECS 操作(如查詢和狀態設置)具有更快的性能。通過自定義預編譯,智能合約可以訪問底層的 ECS 鏈狀態。遊戲邏輯可以用 Go 語言編寫,而不是 Solidity,這可以大規模並行化。
其他鏈也同樣基於 ECS 架構出現了不同全鏈遊戲引擎,比如基於 MOVE 語言的 Obelisk (@0xObeliskLabs), 基於 Solana 的 BOLT (@magicblock) 等等。
Ticking Chain#
傳統的遊戲是基於循環(loop-based)的,因為它們的核心運行機制是遊戲循環。遊戲循環是一個不斷重複的過程,通常包含處理用戶輸入、更新遊戲狀態和渲染遊戲世界這幾個步驟。這個循環在遊戲運行期間持續進行,通常每秒運行數十次到數百次,以保持遊戲世界的流暢性。在這種架構中,遊戲系統(如物理引擎、AI 系統等)在每個循環中檢查和處理它們關心的遊戲實體和組件。
然而,區塊鏈的架構是基於推送(push-based)的。區塊鏈是一個分佈式的數據庫,它通過網絡中的節點共享和存儲信息。當一個節點產生一個新的交易(如轉帳、合約調用等)時,這個交易會被推送到網絡中,其他的節點收到這個交易後會驗證它並將它添加到區塊鏈中。這是一個被動的過程,節點不會主動去查找新的交易,而是等待網絡中的其他節點發送新的交易。因此,區塊鏈的架構被稱為是基於推送的。
在傳統 Web2 遊戲中,遊戲循環函數的執行也叫 “邏輯幀”,既可以集成在遊戲後端伺服器,也可以單獨設置為一個 “心跳伺服器”。而在全鏈遊戲中,邏輯幀的同步一般通過 “lazy update” 和 “manual ticking” 來進行主動式的遊戲循環。這樣做的缺點是,邏輯幀的刷新率比較低,產生的 gas 費比較高。@therealbytes 通過將循環函數預編譯到鏈節點實現了高效率的,自動化的邏輯幀同步。
這裡面的代表是 World Engine 和 Keystone,他們已經實現了把 ticking chain 功能集成到了 ECS 架構中,從而將全鏈遊戲邏輯幀的同步刷新率提高了一個量級,擴展了全鏈遊戲可製作的題材範圍。
AA 錢包#
因為全鏈遊戲的每一步操作都需要上鏈,這就在使用上帶來了巨大的不方便:總不可能讓用戶每一步都對交易進行簽名授權。對這一難題的解決,之前用的方法是設置 “Burner Wallet”。
所謂的 Burner Wallet,就是一個暫時性的钱包,用戶訪問遊戲網站時,自動生成,私鑰儲存在本地瀏覽器緩存中,並自動對每一筆交易進行授權。這只能看做一種臨時性的方案,畢竟只要用戶刷新一下瀏覽器緩存,該賬號就會永久消失。並且缺乏足夠的安全性和隱私性。
AA 賬戶抽象錢包的出現徹底解決了這一難題。我們知道目前以太坊上有兩種賬戶:第一種地址是外部擁有賬戶(EOA),通常被稱為錢包賬戶,由私鑰和公鑰組成,它需要自己為每一筆交易授權並支付 gas。另一種是智能合約賬戶,各種部署在以太坊上的 DApp 就是以智能合約的方式運行著。
賬戶抽象的兩個路線:兼容 4337 方案和原生賬戶抽象方案。目前 Arbitrum、Polygon、Optimism 和 BNB 沒有原生集成賬戶抽象。更多是通過 4337 相關產品進行支持(如 Biconomy、Stackup 等),基礎設施依舊搭建中;而 Starknet 和 zkSync 兩條鏈支持原生的賬戶抽象。
AA 錢包可在 Paymaster 集成 Session keys,即用戶根據一組參數預先批准一個全鏈遊戲的交易,如一個給定的持續時間,一個最大的 Gas,一個特定代幣的最大交易量,或一個特定合約的特定功能等。這樣可以達成玩家友好,即不間斷地進行遊戲,無需每個操作都需簽名確認。
另外一個進展是 ERC-6551。它為所有 ERC-721 Token 提供一個智能合約賬戶,這些賬戶不僅能夠使得 ERC-721 Token 擁有 ERC-20、ERC-721、ERC-1155 等各類資產,還能使 ERC-721 Token 能夠與各種應用程序交互。而在全鏈遊戲領域,可以實現遊戲資產和遊戲 ID 的同時轉移。
基於 ZKP 的鏈上信息隱藏#
"戰爭迷霧" 是一種常見於遊戲中的機制,典型的例子包括《星際爭霸》和《魔獸爭霸 3》。這種設計通過覆蓋遊戲地圖的某些區域來隱藏信息,只有當玩家探索這些區域時,這些區域才會顯示出來。這種機制增加了遊戲環境的不可預測性,是所謂的不完全信息遊戲的典型特徵。大多數流行的 MMO 遊戲都採用了不完全信息的遊戲機制,這為玩家提供了更多探索和制定戰略的空間。
然而,在區塊鏈技術中,數據通常是完全公開和透明的,這使得實現不完全信息機制變得困難。但是,Dark Forest 遊戲通過採用零知識證明技術 zkSNARKs,成功地在玩家需要公開提交可驗證的有效動作的同時,還能保持其隱私狀態。這樣,Dark Forest 在區塊鏈上創造了一個不完全信息的遊戲環境。
但是這種複雜的信息隱藏方法需要用到定制化的 ZK 電路編程,因此廣泛的信息隱藏就無法在全鏈遊戲中實現,這就是為什麼在 2023 年幾乎所有正在製作中的全鏈遊戲都沒有 “戰爭迷霧” 的原因。市場仍然需要一個能夠實現 “戰爭迷霧” 功能的通用 ZK 電路,有幾個團隊試圖在解決這個難題,比如 Zypher Games (@Zypher_Games),推出的 zk-Game SDK,通過優化的 wasm 和預編譯的合約,實現了高性能、低成本的去中心化洗牌過程。它的鏈上隨機性不再需要傳統的 VRF,實現去中心化,進行公平洗牌和博弈。同時推出的零知識遊戲引擎 UZKGE,擁有一個高度優化的 Plonk 庫,它是一個快速擴展的零知識 (ZK) 電路庫的補充,精心製作以滿足遊戲開發者的不同需求。這些電路促進了複雜的計算,確保了遊戲機制的完整性,同時保護了玩家的隱私,這些加密技術使遊戲開發者能夠在不洩露潛在細節的情況下驗證關鍵的遊戲數據。
十月份的時候,0xPARC 的 @FlynnCalcutt 發表了一篇文章,《ZK Hunt: an exploration into the unknown》,介紹了如何利用 “Commitment” 方法,ZK 電路並結合了代幣懲罰的方式來實現多種鏈上信息隱藏,為製作非對稱信息的全鏈遊戲提供了新思路。
敘事邏輯#
Jumpy Crypto 的 Shanav K Mehta 和 Dev Bharel 在一月份發表了名為《Gaming Infrastructure》的系列文章,提出了鏈上遊戲的分類,全鏈遊戲的具體定義,製作全鏈遊戲的好處,以及基於 ARC 的全鏈遊戲引擎架構。至此,全鏈上遊戲成為一個確定性的賽道。
我們現在知道,一個簡單的定義是這樣的:
全鏈遊戲(fully onchain game)是指:所有的遊戲邏輯、狀態(資產及其他)都在鏈上,通過智能合約來實現。有時候,我們也會使用 “鏈上遊戲”(onchain game)來指代。在鏈上遊戲的文獻中,我們經常會看到 “自治世界(Autonomous World)” 或等效的 “鏈上現實(On-Chain Reality)” 這樣的術語。
但是全鏈遊戲這種說法,更多的是從技術上來討論。而目前敘事上面比較流行的說法是 “自主世界(Autonomous World)”,來自於 Lattic 的 Ludens,他在 2022 年的時候寫了一篇小論文來闡述他的想法,題為《Autonomous Worlds》。
在文章中,Ludens 認為自主世界是具有 “區塊鏈底層的世界”,即自主世界有著嚴格的敘事邊界、正式化的引入規則,它不需要特權個體來維持其存在。
這句話描述了 "自主世界" 的三個核心特點:
- 嚴格 (Hard) 的敘事邊界: 這意味著這個世界有一套固定和不可變的基準規則。它們不會隨時間或情況而改變,為世界提供了一種穩定性。
- 正式化的引入規則 (introduction rule): 這表明進入和參與這個世界有一套明確和固定規則。這些規則包括如何成為這個世界的一部分,以及如何在其中進行互動。
- 不需要特權個體來維持其存在: 這個世界是自我維持的,不依賴於任何特定的個體或組織來維護或管理。
在 Autonomous World 的概念中,世界並不是特指人類生活的地方,而是一個容器,一個容納規則、敘事的地方。嚴謹一點來說,全鏈遊戲和自主世界的概念並不是完全等價的,所有的自主世界都是全鏈遊戲,但並不是所有的全鏈遊戲都是自主世界,當全鏈遊戲可以無權限地擴展時,它就成為了自主世界。
除了自主世界這個敘事之外,還有另外一個比較簡單的敘事來理解:全鏈上遊戲其實是一種 “去中心化遊戲”(Decentralized Game)。這種敘事主要是模仿去中心化金融(Decentralized Finance)的提法:既然把金融規則寫入智能合約稱之為 “DeFi”,那自然可以把遊戲規則寫入智能合約稱之為 “DeGame”。
全鏈上遊戲#
在這一年時間裡,有不少的全鏈上遊戲進入到測試階段,雖然大部分仍很粗糙,但已經初步完成了概念驗證,顯示出一定的可玩性和組合性。
Sky Strife#
Sky Strife (@skystrifeHQ)是一款全鏈上的即時戰略遊戲(RTS),使用 MUD 引擎構建。它由 Lattice 的內部遊戲設計師和開發人員製作。Sky Strife 的遊戲玩法與其他即時戰略類遊戲類似。以四人局地圖為例,開局後四個玩家分別位於地圖四角各自的主基地中。玩家的目標是爭奪更多的資源以生產士兵,並最終消滅其他玩家。遊戲中的資源為 Gold(黃金),以 g 為單位表示。玩家可以在主基地中消耗 Gold 以生產攻擊力與移動速度各異的兵種。
Sky Strife 在 11 月開始了 Season 0 的新一輪公測活動,並使用了 Lattice 發布的專為全鏈遊戲而設計的全新 Layer 2 擴容方案:Redstone。
Primodium#
Primodium (@primodiumgame)是一款基於 MUD 引擎開發的模擬建造類遊戲,該遊戲的機制參考了著名的模擬經營類遊戲 Factorio「異星工廠」。在 Primodium 中,你需要設計並建設出不同的自動生產流水線,將傳送帶、各類工廠以及地圖上的自然資源,相互結合,創造出屬於你自己的自動化流水生產建築群,在星球上壯大你的工業帝國,不斷生產出愈加複雜的工業品。遊戲行為可以分為採集,運輸,加工,建造,科研與戰鬥。而玩家就是需要在遊戲中不斷採集資源,升級科技,建造武器,打敗其他玩家,最終在星球上稱霸一方。
Cellula#
Cellula (@cellulalifegame)是一款全鏈上的人工生命模擬遊戲。玩家可以在遊戲中探索、培養、進化和收集獨一無二的 “生命”。在這個遊戲中,康威生命遊戲的規則被視為 “生命” 的基因代碼,決定了他們的形態和活力。通過使用遊戲的製作台(crafting table),玩家可以自由地創建各種基因序列,並孕育出自己的鏈上 “生命”。這些 “生命” 有著獨特的外觀和屬性,展現出多樣的生命形態。
以太坊區塊高度在遊戲中充當 “時間”,每個 “生命” 都會在以太坊時空生態系統中成長和進化,就像現實世界中的水生生物逐漸適應陸地生活並最終成為兩棲動物一樣。然而,生命的循環總是伴隨著誕生和死亡 — — 當一個 “生命” 失去活力時,他將在鏈上永久地死去,為新的 “生命” 的誕生讓出空間。
Loot Survivor#
Loot Survivor (@LootRealms)是一款文字地牢冒險類遊戲,基於 Starknet 的 Dojo 製作,是 Realms 自主世界生態系統的首款遊戲,由 Bibliotheca DAO 的資深成員 Loothero 開發,採用了獨特的 Play2Die 機制。該遊戲受到原始 Loot 項目社區的背景故事和玩法的啟發,玩家需要與野獸戰鬥、清除障礙、收集裝備以求生存,並爭奪排行榜中的更高位置。
Dark Frontier#
Dark Frontier (@DarkFrontierGG)是著名的全鏈遊戲《黑暗森林》的重製版,玩法一模一樣。在 Dark Frontier 中,每個玩家都掌握著自己的星球,並需要在星球上採集資源,建造基地和發展科技來提高自己的戰鬥能力。玩家可以使用資源生產建築、科技研究和武器製造設施,以便在戰鬥中獲得優勢。當玩家在星際空間中飛行時,他們需要通過不斷的偵察和探索來發現其他星球和資源。當兩個玩家同時發現同一顆星球時,他們可以選擇對該星球發起進攻或者選擇逃離。在進攻時,玩家需要使用自己的武器來攻擊對方的基地,並奪取對方的資源。
遊戲由 Argus 基於 World Engine 重新製作,畫面 UI 比初版進步極大,已在 12 月開啟了公測。
其他還有十幾款全鏈遊戲正在製作中,或者處於非常早期的測試階段,比如 Gabby World,Infuence,Mississippi,Dope Wars,Mithraeum,Word3,PixeLAW,Shaoshin,Pirate Nation 等等,這裡不再做詳細的介紹。
行業融資#
全鏈遊戲作為區塊鏈遊戲(Blockchain Gaming)中的一個子賽道,在 2023 年概念驗證階段,公開拿到融資的項目不太多,下面分個介紹。
- 遊戲引擎 Argus Labs 完成 1000 萬美元種子輪融資,Haun Ventures 領投,Elad Gil、Balaji Srinivasan、Siqi Chen、Kevin Aluwi、Sunny Agarwal、Calvin Liu、Scott Moore、Robot Ventures、Anagram 和 Dispersion Capital 參投。
- 遊戲引擎 Curio Research 完成 290 萬美元種子輪融資,Bain Capital Crypto 領投,TCG Crypto、Zonff Partners、Formless Capital、Smrti Lab、Robot Ventures 和多位天使投資人參投。
- 遊戲引擎 Paima Studios 獲得來自 Cardano 的 140 萬美元撥款,Paima 代碼已在 Github 上可用,允許創建與 NFT 相關聯的鏈上遊戲,其中遊戲狀態可以與 NFTs 相關聯。
- FarmVille 聯合創始人 Amitt Mahajan 創立的區塊鏈遊戲初創公司 Proof of Play 完成 3300 萬美元種子輪融資,a16z 和 Greenoaks 共同領投,參投方包括 Mercury、Firebase、Zynga 和 Alchemy,個人投資者包括 Ravikant、Balaji Srinivasan、Twitch 創始人 Justin Kan 和 Emmett Shear。Proof of Play 旨在創造有趣且易於使用的區塊鏈遊戲,其第一款名為「Pirate Nation」的社交角色扮演遊戲於去年 12 月發布了測試版,玩家可在其中戰鬥、製作、交易和探索,尋找標有 PGLD 的數字代幣。
- 全鏈遊戲 Citadel 11 月宣布完成 330 萬美元種子輪融資,1kx 領投,Shima Capital、Hashed、Matchbox DAO、Ready Player DAO 等參投。
參考資料#
https://jumpcrypto.com/writing/defining-on-chain-gaming/
https://0xparc.org/blog/autonomous-worlds
https://therealbytes.substack.com/p/presenting-ticking-optimism
https://0xparc.org/blog/zk-hunt