原文:Dojo on Starknet: Game On!

翻譯及校對:「Starknet 中文社區」

Starknet 的首個可證明的遊戲引擎

詳解Starknet 遊戲引擎 Dojo:鏈遊的起點

精選速覽

  • Dojo 是可證明的鏈上游戲引擎,賦予遊戲所有權、互操作性和可擴展性。
  • Dojo 在Starknet 上運行,為遊戲創作者提供軟件框架,幫助遊戲開發者創建高質量、無縫、快速的遊戲。
  • Dojo 通過實現快速且低價的交易來增強遊戲開發,這是生產級加密遊戲所必需。
  • ECS、Sozo、Torii 和Katana 等組件有助於遊戲開發和部署。
  • 未來的Dojo 增強功能包括L3 遊戲研究、樂觀更新、客戶端證明和跨鏈傳輸。
  • 由Dojo 驅動的Starknet 全鏈遊戲正在不斷增多,如《Dope Wars》、《Influence》、《Realms》和《CafeCosmos》等,標誌著鏈上游戲的增長趨勢。

區塊鏈遊戲並未達到預期的效果。規模的限制和昂貴的成本使得大多數鏈上游戲只能將游戲內資產的代幣化。但隨著Starknet 和新的Dojo 加密遊戲引擎帶來的低成本且快速的交易,擁有遊戲內資產並在鏈上證明遊戲邏輯正在成為現實。

截至2023 年,全球遊戲市場價值達2450 億美元,是全球娛樂行業最大的細分市場之一。區塊鏈遊戲承諾實現無限的互操作性,為遊戲世界提供了一個比當前場景更令人興奮的入口。如同多人遊戲為遊戲生態系統增加全新可能性,鏈上游戲可以變得更加有趣且有價值。

但這一承諾卻不得不面對區塊鏈「交易貴且慢」的現實。這是遊戲裡應該規避的兩個問題。正因為如此,創造成功的鏈上游戲幾乎不可能實現。

但隨著「有效性證明rollup」 技術的成熟,鏈上游戲的承諾終於得以兌現。

在本文中,我們將了解由Starknet 提供的高TPS 如何實現鏈上游戲的承諾。我們還將了解首個社區構建的可驗證遊戲引擎Dojo 如何使用Starknet 為創作者賦能。最後,還將探討Dojo 的未來及其以及它為區塊鏈遊戲帶來的樂趣。

加密遊戲

當我們談論區塊鏈遊戲時,區塊鏈支持的兩種最流行的理念是遊戲內資產的所有權和互操作性。

遊戲內資產所有權是指遊戲資產屬於用戶擁有的錢包。換句話說,遊戲資產它們不屬於遊戲開發者,也不屬於某個電子郵件帳戶,這些賬戶可能存儲在中心化服務器上,而且遊戲開發者可以遠程刪。在區塊鏈遊戲中,你創造或賺取的資產真正屬於你。

一旦這些資產屬於你,遊戲就可以實現互操作性。通過互操作性,一款遊戲中的角色和資產可以轉移到不同的遊戲或世界。如果你在一款遊戲中投入了數百個小時,但決定不再玩這款遊戲,你可以將這些來之不易的資產轉移到你選擇的新遊戲中。

為了實現這兩個概念,遊戲必須建立在鏈上。這意味著所有遊戲內資產、玩家採取的所有操作以及任何其他狀態更改都必須在區塊鏈上以交易的形式進行(每個操作可以單獨進行,也可以是定期推送的聚合交易)。在一個相當去中心化的區塊鏈上,單筆交易的成本可能是幾美分到幾百美元(在網絡擁堵時),並且需要花費幾分鐘或更長時間。顯然,這使得在此類平台上運營大型遊戲基礎設施變得極其昂貴、緩慢且不切實際。

Starknet 和低成本計算

但隨著Starknet 等「有效性證明rollup」 的出現,這一切都在改變。

Starknet 是StarkWare 開發的「有效性證明 rollup」 L 2 (通常稱為ZK-Rollup)。它使用稱為STARK 的加密系統來大幅降低計算和存儲成本。 (要了解有關Starknet 上的加密證明的更多信息,請查看此文。)

Starknet(以及Starknet 的智能合約語言Cairo)允許dApp 在利用以太坊的安全性的同時,可以以極低的成本處理高TPS。這些低價而快速的交易正是實現區塊鏈遊戲承諾的必備條件。這些遊戲現在可以完全上鍊、運行快速且經濟實惠。

但即使具備鏈上能力,區塊鏈遊戲要蓬勃發展,還需要第二個關鍵構建模塊:可證明的遊戲引擎。

什麼是遊戲引擎

遊戲引擎是一種軟件框架,它可以在您喜愛的遊戲中實現精美的設置、迅捷的遊戲行動和逼真的角色行為。遊戲引擎通常包括為開發人員提供框架的庫和支持程序,這樣他們就不必從頭開始重新創建每款遊戲的基本系統(例如物理、圖形和遊戲機制)。遊戲引擎還可以包括音頻和視頻處理、3D 效果渲染和AI 功能。

遊戲引擎是構建遊戲的基礎。

我們喜歡玩的大多數遊戲都得益於世界上最流行的兩個遊戲引擎:Unity 和Unreal Engine。由Epic Games 開發的Unreal Engine 已用於《堡壘之夜》、《街頭霸王V》和《戰爭機器》系列等熱門遊戲。另一位遊戲引擎行業的重要玩家Unity,則賦予了《爐石傳說》、《奧日與黑暗森林》和《Pokémon Go》等遊戲以生命力。

由於Starknet 實現了加密遊戲的承諾,一大批項目已經開始在Starknet 上構建遊戲。但目前仍然缺少加密遊戲引擎,讓開發者無需為基本的物理、邏輯和遊戲機制編寫自定義代碼就能構建遊戲,並且所有這些都保持在鏈上。

Dojo 是首個可證明的遊戲引擎

Dojo 就是這個加密遊戲引擎,它是一個社區構建的、可證明的遊戲引擎和工具鏈,用於構建鏈上游戲和自治世界。讓加密遊戲的承諾變為現實。

Starknet 上使用Dojo 的遊戲數量正在快速增長。其中最受歡迎的包括:

《Influence》— 一款大型戰略MMO,遊戲背景設定在遙遠的小行星帶,玩家擁有開放的經濟。用戶可以購買NFT 來探索和開發小行星。所有的小行星同處一個世界中,玩家之間互動。

《Realms》— 一款策略遊戲,擁有8,000 張具有特定名稱、形式、大小和地理特徵的土地地圖,為用戶(土地的所有者)提供鏈上效用,如資源生成和可交易的住房基礎組件,玩家之間可以進行經濟貿易。

《CafeCosmos》— 一款全鏈的土地遊戲,用戶必須有效地管理資源,包括收集資源、耕種和飼養動物、製作器具和家具、交易資產等等。

Dojo 組件

Dojo 生態系統包含以下組件:

用Cairo 編寫的ECS(實體組件系統)

Sozo 遷移規劃器

Torii 網絡和索引堆棧

Katana RPC 開發網絡

我們來逐個解釋。

ESC 系統屬於遊戲開發中的設計模式,讓代碼更易於維護。 ESC 系統允許遊戲開發者賦予遊戲對象(實體)獨特功能(組件),並允許整個場景作為集成系統運作。這樣使得在區塊鏈上構建複雜、動態的遊戲成為可能,支持多種遊戲機制和交互的同時,還利用了區塊鏈技術透明、去中心化的優勢。

此外,由於Dojo 採用Cairo 編寫,能最大程度提高需被證明的代碼的效率。 (了解更多有關Cairo 複雜性和可證明含義請參閱這篇文章。)

Sozo 是專門用於構建和遷移計劃的工具鏈。簡而言之,Sozo 可以用於將開發的遊戲部署到Starknet。通過簡單的sozo migrate 命令完成在鏈上部署遊戲「世界」的示例。 Sozo 僅作為命令行接口(CLI) 工具,圖形用戶界面仍處於開發階段。

Torii 是Dojo 世界中的綜合索引和網絡層。 Torii 系統構建在Dojo 上,因此設計成用於檢索部署在鏈上游戲世界中的任意事件。 Torii 能係統組織Dojo 世界狀態,使客戶端的數據查詢更方便高效。鑑於遊戲中包含許多狀態變化,設想每次點擊都是一次狀態變化,所以高效的檢索系統成為Dojo 堆棧上的重要功能。可在Torii 上使用GraphQL 進行查詢。

Katana 是高速的本地Starknet 節點,用於支持Dojo 本地開發。 Katana 允許開發者在devnet 上測試應用程序,實現高效本地開發。開發者可以採用Katana 網絡測試遊戲中發送交易。 Katana 能提供便捷的RPC 方式,根據需求更改網絡配置(例如,更改區塊時間或允許0 gas 交易等)。此外,Katana 還支持Starknet JSON-RPC 規範v0.3.0 版本(截止2023 年6 月的最新版本)。原生Starknet JSON 調用,如starknet_getTransactionReceipt、starknet_getStorageAt 都可以在Katana 使用。

展望Dojo 和加密遊戲的未來

Dojo 社區將持續研究和建設,以推動加密遊戲發展。除改進現有組件外,開發者正在進行以下工作:

  • 專屬遊戲的L3
  • 樂觀更新
  • 客戶端證明
  • 跨鏈資產轉移

來探討一下這每一項對全鏈遊戲的意義。

屬於遊戲的L3 — Dojo 正在研究在Starknet 上開發L3 遊戲的可行性。這意味著要在Starknet 上部署一條單獨的鏈,該鏈定期證明其交易的執行情況,並將證明提交至Starknet(L2)。 Starknet 將此證明與網絡上的其他交易匯總,並將證明提交給以太坊L1,並進行驗證。該解決方案可以將游戲的可擴展性提高數倍。 (作為額外的步驟,請考慮如果每次玩家嘗試遊戲中的一個關卡時,都會在遊戲層上構建一個一次性使用的新層的情況。)

樂觀更新— 我們有多少次默默地等待錢包中的「交易正在進行中…」的文字變成綠色並顯示交易「已驗證」?答案是:經常。如果玩家在遊戲中採取的每一步都作為單獨的交易發送,則玩家將浪費大量時間等待交易被接受。

樂觀更新(Dojo 正在努力將其作為額外功能添加到其堆棧中)通過在客戶端(在瀏覽器本身)樂觀地運行交易,讓玩家繼續遊戲,從而擺脫這個問題。如果由於某種原因,交易的結果與瀏覽器中運行的結果不同,遊戲會加以調節。

客戶端證明— 除了在客戶端運行的樂觀更新外,Dojo 還在探索客戶端證明部分上鍊交易的可能性。這將允許建立在Dojo 上的遊戲有效地隱藏用戶傳遞的某些輸入,因為可以在客戶端創建接收這些輸入的零知識證明(ZK proof)。反過來,這個零知識證明可以發送到鏈上的排序器,排序器執行其餘交易。

利用存儲證明— 存儲證明是利用加密學存儲區塊鏈信息實現跨鏈信息共享。與預言機類似,存儲證明提供信息真實性的證明。但與預言機不同的是,存儲證明不需要信任第三方來證明。有了存儲證明,信任是內置於存儲中的。存儲證明還可以證明建立在以太坊之上的其他鍊或其他層的狀態的有效性。

Dojo 正在與Herodotus 團隊合作,在Dojo 中實現存儲證明,從而不再需要跨鏈資產轉移。來自不同鏈上的資產的所有權可以通過存儲證明來證明,用戶可以在不同鍊或不同層上的不同遊戲中使用他們的資產。 (請參閱上文討論的關於在Starknet 上建立獨立的L3 遊戲的部分。)

結語

Dojo 是世界上首個可證明的遊戲引擎,其它的實現得益於Starknet 和Cairo 的可用性。有了像Dojo 這樣的可證明遊戲引擎,真正的鏈上加密遊戲開始嶄露頭角。 「互操作性和所有權」的承諾正在逐步實現。