全鏈版 2048:我們從 MUD 引擎使用中學到了什麽?

中級Jan 06, 2024
本文剖析 MUD 引擎如何用做全鏈游戲的細節討論,如何優下併繞過限製。
全鏈版 2048:我們從 MUD 引擎使用中學到了什麽?

TL; DR

  • MUD 引擎的設計遵循“數據庫本位”
  • 全鏈游戲的 AMM 時刻尚未到來
  • 加密原生是一種價值觀

開始之前

mud2048.fun 是我們爲穫得對全鏈游戲開髮的微觀體感展開的一次探索,旨在通過覆刻體驗無限接近原始 2048 游戲(play2048.co)的全鏈上版本,來實地感受全鏈游戲開髮的水溫,穫得一線的體感。

本文是對本次開髮過程中習得的經驗、展開的思考彙總,拋磚引玉,以饗讀者。

這大約是對全鏈游戲(Fully On-chain Games)開髮最簡單的嘗試,在此之前我們的曾嘗試實現 Chrome 離線恐龍游戲(Chrome Dino Game)的全鏈上版,後髮現沒有區塊鏈原生游戲 Tick 機製的支持,很難覆刻在體驗與原游戲接近的全鏈版本。


Chrome Dino Game 的在線版本,網址:https://dinorunner.com/

這裡可能涉及一個常見誤區:簡單游戲更容易實現全鏈上版本。實則不然,由於區塊鏈的交易確認時間(即便是主流 Layer 2)尚未達到中心化服務器的接口響應時間水平;加之將游戲邏輯上鏈之後,帶來了中心化場景裡未曾出現的工程覆雜度,導緻併非所有簡單的休閒游戲都能夠輕鬆實現全鏈版。這也一定程度上解釋了當前全鏈游戲生態的分野:

以 RTS(實時策略類游戲)爲主,如:Loot Survivor、Primodium、Sky Strife、Cellula等,以 Meta Rules(元規則類游戲/沙盒游戲)爲輔,如:PixeLAW、Briq、OpCraft等。這兩類游戲均在游戲形態上規避了區塊鏈交易確認時間較長帶來的弊端。


圖爲 Sky Strife 的啟動界麵,網址:https://playtest.skystrife.xyz/

爲什麽選擇 MUD 引擎?

MUD 是 EVM 生態首款全鏈游戲引擎(也是 EVM 生態首款應用程序開髮框架),引擎內置的 Session wallet ,以及可通過 API 調用的測試鏈 Faucet 可降低玩家進入門檻。

另一個原因是 MUD 開源,文檔及社區資料較多,易於上手。游戲引擎是否開源涉及到商業模式問題下文再專門討論。


MUD 簡介。來源:https://github.com/latticexyz/mud

下麵進入正題,將談論一些我們在使用 MUD 引擎過程中的一些心得體會,有宏觀感性的行業層麵、也有微觀理性的工程實操層麵,麵曏的受衆群體不衕,大家可自行取用(直接跳過不感興趣的部分)。

工程篇

總的來説,MUD 引擎是什麽?

MUD 引擎 = 鏈上關繫型數據庫 + 鏈上應用開髮框架。


MUD Features。來源:https://github.com/latticexyz/mud

這個是一個站在互聯網領域看區塊鏈領域的視角(有點類似站在陸權看海權),肯定不是最恰當的角度,但考慮到區塊鏈尚未實現 Mass Adoption,區塊鏈産品要出圈,依然需要吸引更多互聯網領域的用戶,所以不妨先從互聯網的視角來看分析。

不論是“鏈上關繫型數據庫”還是“鏈上應用開髮框架”,都對以太坊這颱“世界計算機”的髮展來説至關重要。

從互聯網應用開髮中我們學到:數據庫軟件的好用程度/數據庫錶結構設計的合理程度,很大程度上決定了整個項目開髮的覆雜度。換句話説,互聯網應用開髮是以數據庫爲核心的展開的,我們姑且稱之爲“數據庫本位”。

那麽我們看看,MUD 引擎的設計是否也遵循了“數據庫本位”的思想。從 MUD 引擎的設計思路看,它核心解決三個問題:

  1. 鏈上數據如何易於讀寫且以經濟的方式存儲,

  2. 鏈上/客戶端之間的自動數據衕步,

  3. 應用開髮的普遍覆雜性管理。

我們先來看第一個問題:“鏈上數據如何易於讀寫且以經濟的方式存儲”。

這個問題可以拆解爲兩個要素:

1> 易於讀寫

2> 經濟存儲

“易於讀寫”這個點經過互聯網領域幾十年的實踐,“關繫型數據庫”被認爲是最優解。雖然區塊鏈是非常不衕於傳統數據庫存儲模式的鏈式存儲模式(見下圖),該模式即便對於單一場景的簡單操作都很不友好(比如對某 NFT Collection 的交易額求和/求均值/求最大最小值等),更別提更進一步的覆雜場景。

圖片來源:https://mempool.space/mining

因此,MUD 的解法是在鏈式存儲之上,實現“關繫型數據庫”(對應 MUD 引擎中 Store下的 Table)。對開髮者來説,使用體驗如衕操作常見的關繫型數據庫(如:MySQL、SQL Server、PostgreSQL、SQLite 等)。這一點確實對廣大互聯網開髮者比較友好。下圖爲我們基於 MUD 引擎開髮全鏈版 2048 時,對應的錶結構。


圖片來源:https://github.com/themetacat/MUD2048/blob/main/packages/contracts/mud.config.ts

“經濟存儲”這個點,我們可以從以太坊這颱世界計算機的角度來分析。

現代計算機均符合“馮諾依曼結構”,該結構分爲:輸入、輸出、運算、控製、存儲五部分(見下圖)。


圖片來源於網絡

從全鏈游戲引擎自身的角度講,它能優化其實也隻有“存儲”,因爲“輸入”、“輸出”在它的上層,它控製不了;“運算”、“控製”是以太坊區塊鏈自身在做的事情。全鏈游戲引擎作爲運行在這颱“世界計算機”之上的“基礎應用軟件”來説,它能優化的隻有經由它輸入的“存儲”。

對存儲的優化,具體方案是對輸入數據實現非常高效且緊湊的“位打包”(bitpacking),由於在區塊鏈上存儲數據是按數據體積收費的,因此,更小的數據體積意味著更低廉的存儲成本。充分優化過的存儲成本是,大規模覆雜鏈上應用出現的前提。下圖爲 MUD 對存儲優化的具體案例,詳見《全鏈游戲引擎 MUD 從0到V2》


圖片來源:https://lattice.xyz/blog/mud-zero-to-v2

綜上,對於問題一,MUD 主要就是從“數據庫本位”的角度切入,來解決問題的。

現在我們來到第二個問題:“鏈上/客戶端之間的自動數據衕步”。

這也是 MUD 引擎提供的一個核心功能,幫開髮者省去了自己管理覆雜狀態衕步的繁重工作。具體實現方案是:在客戶端對鏈上數據庫的實時衕步,換句話説,每個客戶端都有一個內置的、與鏈上數據庫實時衕步的本地副本。

這主要是通過 MUD 引擎中的 Indexer 實現的。下圖爲 MUD 官方對 Indexer 的介紹,主要麵曏想在搭建運行在項目方服務器上的場景(當然該描述也衕樣適用於,自動運行在全鏈游戲客戶端內的 Indexer)。

圖片來源:https://mud.dev/services/indexer

對開髮者來説,初步擁有了一個使用體驗接近本地數據庫的鏈上數據庫。不過就目前 MUD 的實現來説,客戶端難以實現諸如生成全局榜單這樣的功能;另外,讓每個客戶端生成一遍全局榜單,也不是一個經濟的做法。

説到這裡,這裡大家肯定會問:爲什麽不在鏈上生成全局榜單?原因是 MUD 引擎雖然實現了初步的關繫型數據庫,但關繫數據庫中的常見的求和/求均值/求最大最小值等功能,MUD 尚未支持。

因此,在 mud2048.fun 中,我們在中心化服務器上搭建 MUD Indexer 節點,來以成本收益相對平衡的方式生成全局玩家排行榜(見下圖)。

網址:https://www.mud2048.fun/

不過讓每個客戶端擁有一個鏈上數據庫的實時副本,也有弊端的。比如在應用啟動前需要先從鏈上衕步數據,以在本地建立鏈上數據庫的最新副本,這會增加玩家進入游戲的等待時間。MUD 官方也意識到了該問題,在 MUD V2 版本中提到了相關優化方案(分段數據衕步和客戶端緩存),不過在我看來都屬於臨時方案,不能徹底解決隨時間推移,待衕步的鏈上數據越來越多的問題。

這個問題暫時看是無解的(短期很難在公網數據傳輸效率和鏈式數據檢索方麵取得大的突破),希望隨著 MUD 的迭代,能找到更恰當的解決方案。如果這個問題得到很好的解決,也能爲其他鏈上覆雜應用的誕生鋪平道路。

現在我們來到問題三:“應用開髮的普遍覆雜性管理”。

在此之前,以太坊生態的鏈上應用多數比較簡單(一個客觀指標是,不論DeFi/NFT/DAO 單一産品所涉及的合約數量有限,且多數情況下部署後更新的可能性很小)。但對於覆雜應用開髮來説,邏輯更新、訪問控製、權限管理都是需要從頭做一遍的重覆勞動。因此非常需要一個通用型框架/引擎,統一幫開髮者處理這些問題,以便開髮者可以全身心投入應用開髮。

MUD 引擎提供的另一個核心功能便是,通過 World 模塊幫助開髮者省去處理上述問題的時間,具體而言,World 提供了在 Store 之上的邏輯和訪問控製,下圖爲 MUD 官網對 World 的描述,這是一般應用開髮框架都會提供的功能,這裡不再贅述。

圖片來源:https://mud.dev/world/introduction

對覆雜應用開髮來説,訪問控製(或者叫路由)是決定總體工程量很重要的環,訪問控製設計的優劣,直接決定了應用開髮的覆雜度和易維護性。MUD 顯然也很重視這一點,下圖爲 MUD v1 和 v2兩個版本中對其訪問控製模塊的優化。

以上是我們在使用 MUD 引擎開髮 mud2048.fun 的過程中,在工程方麵的一些思考與體會。總體來看,MUD 引擎也遵循了“數據庫本位”的思想,這跟互聯網應用開髮的方法論高度一緻,因此對互聯網應用開髮者來説,MUD 引擎不會讓他們感到陌生。接下來我們將探討對全鏈游戲行業方麵思考。

行業篇

當我們進入全鏈游戲領域的時候,不斷追問自己的三個問題是:

  1. 爲什麽需要全鏈游戲?

  2. 什麽樣的游戲適合全鏈上?

  3. 全鏈上(Fully on-Chain)與加密原生(Crypto native)到底什麽關繫?

接下來我們逐一討論:

對於第一個問題:爲什麽需要全鏈游戲?

這個問題可以進一步拆解爲兩個子問題:

1> 區塊鏈行業爲什麽需要全鏈游戲?

2> Crypto 市場爲什麽需要全鏈游戲?

從區塊鏈行業看:

以太坊生態髮展到了需要覆雜鏈上應用出現的階段(過去的鏈上應用DeFi/DAO/NFT均較爲簡單,支撐一個應用的合約數量可見一斑),另一個反曏的例證是以太坊 Layer 2 對全鏈游戲的扶持。從內在邏輯看,沒有瓷器活,煉不成金剛鑽,Layer 2 需要全鏈游戲這些瓷器活來成就自己。

NFT 領域在 PFP 泡沫後一直沒有新的範式促進其髮展,而 NFT 區別於 ERC-20 的點是可組合性,游戲場景是 NFT 天然的可組合性場所。

全鏈游戲的終極目標“自主世界”,是對數字世界終極形態又一次闡述(上一次闡述是被過度營銷化後爛大街的“元宇宙”)。自主世界作爲人類對美好未來的共衕想象,具有很好的號召力,而全鏈游戲作爲實現該目標的重要途徑,也被寄予厚望。


Autonomous Worlds 官網:https://aw.network/

從 Crypto 市場看:

回顧互聯網髮展史,游戲總是最先採用新技術領域,游戲屬於 Consumer App,更容易觸達終端用戶。

鏈游/GameFi 模式暫時被證僞,對區塊鏈游戲的探索重新回到了游戲的本源:游戲性。基於區塊鏈的游戲性(完全繼承了區塊鏈的優點和缺點)有望提供過去沒有的全新體驗和範式,從而吸引用戶。

我們來到第二個問題:什麽樣的游戲適合全鏈上?

目前看行業/市場對這一點尚未達成共識,從歸納法的角度看,以前文提到的實時策略類(RTS)和元規則類(Meta Rules)兩個類別居多。但創新不足、商業模式不清晰、未能很好的匹配到用戶等問題依然是這個領域繞不開的問題。

個人認爲,元規則(Meta Rules)類相對更有潛力,因爲至少能在規則層麵、互操作性層麵有更多原生的可能性,不過現在還很早期,尚難以評估其確定性,下圖爲元規則類全鏈游戲 PixeLAW 的界麵。


圖片來源:https://twitter.com/0xPixeLAW/status/1704375844674912515

游戲間的互操作性,相當長的時間內可能都是個僞命題。雖然全鏈游戲繼承了區塊鏈的互操作性,但從商業/産品/生態角度,短期很難想象兩個獨立産品間麵曏互操作性來開髮,以及這個點也在之前“元宇宙”周期內被一定程度上證僞。

現在我們來談論第三個問題:全鏈上(Fully on-Chain)與加密原生(Crypto native)到底什麽關繫?

首先,過度強調“全鏈上”會使人陷入原教旨主義的怪圈,區塊鏈現在的基礎設施難以支撐廣泛類別的游戲將數據/邏輯全部上鏈。另外《黑暗森林》創始人 GubSheep,最初的提法是“Crypto-Native Games”,以期從 Crypto-Native 的角度,思考游戲如何最大程度上促進區塊鏈行業的髮展。下圖爲 GubSheep 原文局部。


來源:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

加密原生(Crypto native)是個內涵不斷變化,且邊界相對模糊的概念。在區塊鏈髮展的不衕階段,有不衕的詮釋。

在 2017 年,CryptoKitties 被認爲是加密原生的典範;

在 2018 年,Uniswap 是加密原生的典範;

在 2020 年,CryptoArt 是加密原生的典範;

在 2021 年,DAO 是加密原生的典範;

到了 2023 年,數據和邏輯都在鏈上的全鏈游戲,被看作是加密原生的典範。

但本質上加密原生是一種思想,而非一種教條。

全鏈上(Fully on-Chain)是踐行加密原生(Crypto native)的方法論,但不能因之作繭自縛,就像中心化/去中心化、革命/反革命一樣,都是相對概念,過於糾結字麵容易走入死鬍衕。

那麽,無論全鏈上游戲還是加密原生游戲,到底帶來了哪些新的可能性?

我認爲,將游戲邏輯/規則通過上鏈透明化後,所有游戲策略可以真正公平競爭,當然還需要找到能夠體現這種優勢的場景。舉例來説,因爲游戲邏輯都在鏈上,可以直接寫合約代碼來玩游戲,再加上 AI 生成玩法策略,可能會讓我們擁有一個高於平均水平/不眠不休的虛擬玩家代理(這個想法受 Shoshin 啟髮)。

此外,像 MUD 這樣的全鏈游戲引擎(其實叫它全鏈應用開髮框架更合適),作爲數據庫 + 應用開髮框架合體的存在,在 EVMs 生態的重要性不言而喻。但數據庫/應用開髮框架都屬於公共物品,本身毫無商業模式可言。不過好在有區塊鏈原生的 Token 機製,以及像 EIP-6969 這樣的開髮者版稅方案,能夠幫助這些公平物品開髮者,以一種外部的方式捕穫價值,這是區塊鏈優於 Web2 的點。

“共識”不單是 51% 的算力,更是存乎社會/群體間的共有價值觀,從這個意義上説,加密原生是一種價值觀。

附録:

  1. MUD 2048 官網: https://www.mud2048.fun/

  2. MUD 2048 項目代碼:https://github.com/themetacat/MUD2048

  3. MUD 引擎官網: https://mud.dev/

  4. Autonomous Worlds 聖經官網:https://aw.network/

  5. GubSheep 加密原生游戲理論:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

聲明:

  1. 本文轉載自[MetaCat],著作權歸屬原作者[CK],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。

全鏈版 2048:我們從 MUD 引擎使用中學到了什麽?

中級Jan 06, 2024
本文剖析 MUD 引擎如何用做全鏈游戲的細節討論,如何優下併繞過限製。
全鏈版 2048:我們從 MUD 引擎使用中學到了什麽?

TL; DR

  • MUD 引擎的設計遵循“數據庫本位”
  • 全鏈游戲的 AMM 時刻尚未到來
  • 加密原生是一種價值觀

開始之前

mud2048.fun 是我們爲穫得對全鏈游戲開髮的微觀體感展開的一次探索,旨在通過覆刻體驗無限接近原始 2048 游戲(play2048.co)的全鏈上版本,來實地感受全鏈游戲開髮的水溫,穫得一線的體感。

本文是對本次開髮過程中習得的經驗、展開的思考彙總,拋磚引玉,以饗讀者。

這大約是對全鏈游戲(Fully On-chain Games)開髮最簡單的嘗試,在此之前我們的曾嘗試實現 Chrome 離線恐龍游戲(Chrome Dino Game)的全鏈上版,後髮現沒有區塊鏈原生游戲 Tick 機製的支持,很難覆刻在體驗與原游戲接近的全鏈版本。


Chrome Dino Game 的在線版本,網址:https://dinorunner.com/

這裡可能涉及一個常見誤區:簡單游戲更容易實現全鏈上版本。實則不然,由於區塊鏈的交易確認時間(即便是主流 Layer 2)尚未達到中心化服務器的接口響應時間水平;加之將游戲邏輯上鏈之後,帶來了中心化場景裡未曾出現的工程覆雜度,導緻併非所有簡單的休閒游戲都能夠輕鬆實現全鏈版。這也一定程度上解釋了當前全鏈游戲生態的分野:

以 RTS(實時策略類游戲)爲主,如:Loot Survivor、Primodium、Sky Strife、Cellula等,以 Meta Rules(元規則類游戲/沙盒游戲)爲輔,如:PixeLAW、Briq、OpCraft等。這兩類游戲均在游戲形態上規避了區塊鏈交易確認時間較長帶來的弊端。


圖爲 Sky Strife 的啟動界麵,網址:https://playtest.skystrife.xyz/

爲什麽選擇 MUD 引擎?

MUD 是 EVM 生態首款全鏈游戲引擎(也是 EVM 生態首款應用程序開髮框架),引擎內置的 Session wallet ,以及可通過 API 調用的測試鏈 Faucet 可降低玩家進入門檻。

另一個原因是 MUD 開源,文檔及社區資料較多,易於上手。游戲引擎是否開源涉及到商業模式問題下文再專門討論。


MUD 簡介。來源:https://github.com/latticexyz/mud

下麵進入正題,將談論一些我們在使用 MUD 引擎過程中的一些心得體會,有宏觀感性的行業層麵、也有微觀理性的工程實操層麵,麵曏的受衆群體不衕,大家可自行取用(直接跳過不感興趣的部分)。

工程篇

總的來説,MUD 引擎是什麽?

MUD 引擎 = 鏈上關繫型數據庫 + 鏈上應用開髮框架。


MUD Features。來源:https://github.com/latticexyz/mud

這個是一個站在互聯網領域看區塊鏈領域的視角(有點類似站在陸權看海權),肯定不是最恰當的角度,但考慮到區塊鏈尚未實現 Mass Adoption,區塊鏈産品要出圈,依然需要吸引更多互聯網領域的用戶,所以不妨先從互聯網的視角來看分析。

不論是“鏈上關繫型數據庫”還是“鏈上應用開髮框架”,都對以太坊這颱“世界計算機”的髮展來説至關重要。

從互聯網應用開髮中我們學到:數據庫軟件的好用程度/數據庫錶結構設計的合理程度,很大程度上決定了整個項目開髮的覆雜度。換句話説,互聯網應用開髮是以數據庫爲核心的展開的,我們姑且稱之爲“數據庫本位”。

那麽我們看看,MUD 引擎的設計是否也遵循了“數據庫本位”的思想。從 MUD 引擎的設計思路看,它核心解決三個問題:

  1. 鏈上數據如何易於讀寫且以經濟的方式存儲,

  2. 鏈上/客戶端之間的自動數據衕步,

  3. 應用開髮的普遍覆雜性管理。

我們先來看第一個問題:“鏈上數據如何易於讀寫且以經濟的方式存儲”。

這個問題可以拆解爲兩個要素:

1> 易於讀寫

2> 經濟存儲

“易於讀寫”這個點經過互聯網領域幾十年的實踐,“關繫型數據庫”被認爲是最優解。雖然區塊鏈是非常不衕於傳統數據庫存儲模式的鏈式存儲模式(見下圖),該模式即便對於單一場景的簡單操作都很不友好(比如對某 NFT Collection 的交易額求和/求均值/求最大最小值等),更別提更進一步的覆雜場景。

圖片來源:https://mempool.space/mining

因此,MUD 的解法是在鏈式存儲之上,實現“關繫型數據庫”(對應 MUD 引擎中 Store下的 Table)。對開髮者來説,使用體驗如衕操作常見的關繫型數據庫(如:MySQL、SQL Server、PostgreSQL、SQLite 等)。這一點確實對廣大互聯網開髮者比較友好。下圖爲我們基於 MUD 引擎開髮全鏈版 2048 時,對應的錶結構。


圖片來源:https://github.com/themetacat/MUD2048/blob/main/packages/contracts/mud.config.ts

“經濟存儲”這個點,我們可以從以太坊這颱世界計算機的角度來分析。

現代計算機均符合“馮諾依曼結構”,該結構分爲:輸入、輸出、運算、控製、存儲五部分(見下圖)。


圖片來源於網絡

從全鏈游戲引擎自身的角度講,它能優化其實也隻有“存儲”,因爲“輸入”、“輸出”在它的上層,它控製不了;“運算”、“控製”是以太坊區塊鏈自身在做的事情。全鏈游戲引擎作爲運行在這颱“世界計算機”之上的“基礎應用軟件”來説,它能優化的隻有經由它輸入的“存儲”。

對存儲的優化,具體方案是對輸入數據實現非常高效且緊湊的“位打包”(bitpacking),由於在區塊鏈上存儲數據是按數據體積收費的,因此,更小的數據體積意味著更低廉的存儲成本。充分優化過的存儲成本是,大規模覆雜鏈上應用出現的前提。下圖爲 MUD 對存儲優化的具體案例,詳見《全鏈游戲引擎 MUD 從0到V2》


圖片來源:https://lattice.xyz/blog/mud-zero-to-v2

綜上,對於問題一,MUD 主要就是從“數據庫本位”的角度切入,來解決問題的。

現在我們來到第二個問題:“鏈上/客戶端之間的自動數據衕步”。

這也是 MUD 引擎提供的一個核心功能,幫開髮者省去了自己管理覆雜狀態衕步的繁重工作。具體實現方案是:在客戶端對鏈上數據庫的實時衕步,換句話説,每個客戶端都有一個內置的、與鏈上數據庫實時衕步的本地副本。

這主要是通過 MUD 引擎中的 Indexer 實現的。下圖爲 MUD 官方對 Indexer 的介紹,主要麵曏想在搭建運行在項目方服務器上的場景(當然該描述也衕樣適用於,自動運行在全鏈游戲客戶端內的 Indexer)。

圖片來源:https://mud.dev/services/indexer

對開髮者來説,初步擁有了一個使用體驗接近本地數據庫的鏈上數據庫。不過就目前 MUD 的實現來説,客戶端難以實現諸如生成全局榜單這樣的功能;另外,讓每個客戶端生成一遍全局榜單,也不是一個經濟的做法。

説到這裡,這裡大家肯定會問:爲什麽不在鏈上生成全局榜單?原因是 MUD 引擎雖然實現了初步的關繫型數據庫,但關繫數據庫中的常見的求和/求均值/求最大最小值等功能,MUD 尚未支持。

因此,在 mud2048.fun 中,我們在中心化服務器上搭建 MUD Indexer 節點,來以成本收益相對平衡的方式生成全局玩家排行榜(見下圖)。

網址:https://www.mud2048.fun/

不過讓每個客戶端擁有一個鏈上數據庫的實時副本,也有弊端的。比如在應用啟動前需要先從鏈上衕步數據,以在本地建立鏈上數據庫的最新副本,這會增加玩家進入游戲的等待時間。MUD 官方也意識到了該問題,在 MUD V2 版本中提到了相關優化方案(分段數據衕步和客戶端緩存),不過在我看來都屬於臨時方案,不能徹底解決隨時間推移,待衕步的鏈上數據越來越多的問題。

這個問題暫時看是無解的(短期很難在公網數據傳輸效率和鏈式數據檢索方麵取得大的突破),希望隨著 MUD 的迭代,能找到更恰當的解決方案。如果這個問題得到很好的解決,也能爲其他鏈上覆雜應用的誕生鋪平道路。

現在我們來到問題三:“應用開髮的普遍覆雜性管理”。

在此之前,以太坊生態的鏈上應用多數比較簡單(一個客觀指標是,不論DeFi/NFT/DAO 單一産品所涉及的合約數量有限,且多數情況下部署後更新的可能性很小)。但對於覆雜應用開髮來説,邏輯更新、訪問控製、權限管理都是需要從頭做一遍的重覆勞動。因此非常需要一個通用型框架/引擎,統一幫開髮者處理這些問題,以便開髮者可以全身心投入應用開髮。

MUD 引擎提供的另一個核心功能便是,通過 World 模塊幫助開髮者省去處理上述問題的時間,具體而言,World 提供了在 Store 之上的邏輯和訪問控製,下圖爲 MUD 官網對 World 的描述,這是一般應用開髮框架都會提供的功能,這裡不再贅述。

圖片來源:https://mud.dev/world/introduction

對覆雜應用開髮來説,訪問控製(或者叫路由)是決定總體工程量很重要的環,訪問控製設計的優劣,直接決定了應用開髮的覆雜度和易維護性。MUD 顯然也很重視這一點,下圖爲 MUD v1 和 v2兩個版本中對其訪問控製模塊的優化。

以上是我們在使用 MUD 引擎開髮 mud2048.fun 的過程中,在工程方麵的一些思考與體會。總體來看,MUD 引擎也遵循了“數據庫本位”的思想,這跟互聯網應用開髮的方法論高度一緻,因此對互聯網應用開髮者來説,MUD 引擎不會讓他們感到陌生。接下來我們將探討對全鏈游戲行業方麵思考。

行業篇

當我們進入全鏈游戲領域的時候,不斷追問自己的三個問題是:

  1. 爲什麽需要全鏈游戲?

  2. 什麽樣的游戲適合全鏈上?

  3. 全鏈上(Fully on-Chain)與加密原生(Crypto native)到底什麽關繫?

接下來我們逐一討論:

對於第一個問題:爲什麽需要全鏈游戲?

這個問題可以進一步拆解爲兩個子問題:

1> 區塊鏈行業爲什麽需要全鏈游戲?

2> Crypto 市場爲什麽需要全鏈游戲?

從區塊鏈行業看:

以太坊生態髮展到了需要覆雜鏈上應用出現的階段(過去的鏈上應用DeFi/DAO/NFT均較爲簡單,支撐一個應用的合約數量可見一斑),另一個反曏的例證是以太坊 Layer 2 對全鏈游戲的扶持。從內在邏輯看,沒有瓷器活,煉不成金剛鑽,Layer 2 需要全鏈游戲這些瓷器活來成就自己。

NFT 領域在 PFP 泡沫後一直沒有新的範式促進其髮展,而 NFT 區別於 ERC-20 的點是可組合性,游戲場景是 NFT 天然的可組合性場所。

全鏈游戲的終極目標“自主世界”,是對數字世界終極形態又一次闡述(上一次闡述是被過度營銷化後爛大街的“元宇宙”)。自主世界作爲人類對美好未來的共衕想象,具有很好的號召力,而全鏈游戲作爲實現該目標的重要途徑,也被寄予厚望。


Autonomous Worlds 官網:https://aw.network/

從 Crypto 市場看:

回顧互聯網髮展史,游戲總是最先採用新技術領域,游戲屬於 Consumer App,更容易觸達終端用戶。

鏈游/GameFi 模式暫時被證僞,對區塊鏈游戲的探索重新回到了游戲的本源:游戲性。基於區塊鏈的游戲性(完全繼承了區塊鏈的優點和缺點)有望提供過去沒有的全新體驗和範式,從而吸引用戶。

我們來到第二個問題:什麽樣的游戲適合全鏈上?

目前看行業/市場對這一點尚未達成共識,從歸納法的角度看,以前文提到的實時策略類(RTS)和元規則類(Meta Rules)兩個類別居多。但創新不足、商業模式不清晰、未能很好的匹配到用戶等問題依然是這個領域繞不開的問題。

個人認爲,元規則(Meta Rules)類相對更有潛力,因爲至少能在規則層麵、互操作性層麵有更多原生的可能性,不過現在還很早期,尚難以評估其確定性,下圖爲元規則類全鏈游戲 PixeLAW 的界麵。


圖片來源:https://twitter.com/0xPixeLAW/status/1704375844674912515

游戲間的互操作性,相當長的時間內可能都是個僞命題。雖然全鏈游戲繼承了區塊鏈的互操作性,但從商業/産品/生態角度,短期很難想象兩個獨立産品間麵曏互操作性來開髮,以及這個點也在之前“元宇宙”周期內被一定程度上證僞。

現在我們來談論第三個問題:全鏈上(Fully on-Chain)與加密原生(Crypto native)到底什麽關繫?

首先,過度強調“全鏈上”會使人陷入原教旨主義的怪圈,區塊鏈現在的基礎設施難以支撐廣泛類別的游戲將數據/邏輯全部上鏈。另外《黑暗森林》創始人 GubSheep,最初的提法是“Crypto-Native Games”,以期從 Crypto-Native 的角度,思考游戲如何最大程度上促進區塊鏈行業的髮展。下圖爲 GubSheep 原文局部。


來源:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

加密原生(Crypto native)是個內涵不斷變化,且邊界相對模糊的概念。在區塊鏈髮展的不衕階段,有不衕的詮釋。

在 2017 年,CryptoKitties 被認爲是加密原生的典範;

在 2018 年,Uniswap 是加密原生的典範;

在 2020 年,CryptoArt 是加密原生的典範;

在 2021 年,DAO 是加密原生的典範;

到了 2023 年,數據和邏輯都在鏈上的全鏈游戲,被看作是加密原生的典範。

但本質上加密原生是一種思想,而非一種教條。

全鏈上(Fully on-Chain)是踐行加密原生(Crypto native)的方法論,但不能因之作繭自縛,就像中心化/去中心化、革命/反革命一樣,都是相對概念,過於糾結字麵容易走入死鬍衕。

那麽,無論全鏈上游戲還是加密原生游戲,到底帶來了哪些新的可能性?

我認爲,將游戲邏輯/規則通過上鏈透明化後,所有游戲策略可以真正公平競爭,當然還需要找到能夠體現這種優勢的場景。舉例來説,因爲游戲邏輯都在鏈上,可以直接寫合約代碼來玩游戲,再加上 AI 生成玩法策略,可能會讓我們擁有一個高於平均水平/不眠不休的虛擬玩家代理(這個想法受 Shoshin 啟髮)。

此外,像 MUD 這樣的全鏈游戲引擎(其實叫它全鏈應用開髮框架更合適),作爲數據庫 + 應用開髮框架合體的存在,在 EVMs 生態的重要性不言而喻。但數據庫/應用開髮框架都屬於公共物品,本身毫無商業模式可言。不過好在有區塊鏈原生的 Token 機製,以及像 EIP-6969 這樣的開髮者版稅方案,能夠幫助這些公平物品開髮者,以一種外部的方式捕穫價值,這是區塊鏈優於 Web2 的點。

“共識”不單是 51% 的算力,更是存乎社會/群體間的共有價值觀,從這個意義上説,加密原生是一種價值觀。

附録:

  1. MUD 2048 官網: https://www.mud2048.fun/

  2. MUD 2048 項目代碼:https://github.com/themetacat/MUD2048

  3. MUD 引擎官網: https://mud.dev/

  4. Autonomous Worlds 聖經官網:https://aw.network/

  5. GubSheep 加密原生游戲理論:https://gubsheep.substack.com/p/the-strongest-crypto-gaming-thesis

聲明:

  1. 本文轉載自[MetaCat],著作權歸屬原作者[CK],如對轉載有異議,請聯繫Gate Learn團隊,團隊會根據相關流程盡速處理。
  2. 免責聲明:本文所錶達的觀點和意見僅代錶作者個人觀點,不構成任何投資建議。
  3. 文章其他語言版本由Gate Learn團隊翻譯, 在未提及Gate.io的情況下不得覆製、傳播或抄襲經翻譯文章。
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!