Pantera 合夥人:瞭解Dojo生態系統及主要遊戲專案

作者:Paul Veradittakit,Pantera Capital合夥人; 翻譯:金色財經xiaozou

摘要:

  • Dojo是基於Cairo語言開發的Starknet鏈上遊戲引擎,旨在利用Cairo的STARK友好語言特性,為高品質的區塊鏈遊戲提供一流的開發平臺。
  • Dojo將ECS遊戲開發與區塊鏈開發堆疊相結合,由Torii(自動索引器),Katana(遊戲排序器)和Sozo(開發和部署工具鏈)組成。
  • Dojo生態系統應用程式涵蓋了開放經濟的RTS、MMO、TCG和RPG遊戲,特別是那些玩家之間可以交易資源的遊戲。 例如Realms Eternum、Roll Your Own和Briq。
  • Dojo創建了使用者定義的區塊鏈“自治世界”,為創造性表達提供了一種新的媒介,Dojo和Starknet很有可能成為該垂直領域領先的技術力量。

1、簡介

Dojo是運行在Starknet上的可驗證鏈上遊戲引擎,為開發者提供了一個創建高品質鏈上遊戲的工具包,在這樣的遊戲內,所有資產、使用者操作和交易都在Starknet鏈上進行。 在深入瞭解Dojo的功能特性之前,讓我們先來看一下Dojo對Cairo語言的使用方式。 然後,我們將研究一些使用這種新穎的鏈上遊戲框架構建的應用程式,最後再來討論Dojo對鏈上遊戲發展的影響。

2、Dojo的功能特性

Dojo作為遊戲引擎包含各種各樣的子元件,包括Cairo原生ECS(實體元件系統)、Torii自動索引器、Katana遊戲排序器以及Sozo開發部署工具鏈。 讓我們一個一個來簡要瞭解。

(1)ESC實體元件系統

![F2M5tKAdTJldtbaBLHzzpRCGpB7xQcCwybNroKMD.png](https://img-cdn.gateio.im/webp-social/moments-40baef27dd-dc8e2e5fdf-dd1a6f-69ad2a.webp“7115136”)

ECS是一種通常用於遊戲設計的設計模式,它將遊戲內互動分為“實體”、“元件”和“系統”三部分。

本質上,實體就是遊戲中的agent,比如皮卡丘。 這個agent有若干元件,這些元件實質上是功能的模組化分組。 某些元件可能包含位置、動作和攻擊。 這些元件不包含任何邏輯,只包含數據。 邏輯是在遊戲系統中定義的,用戶可以與之互動。 例如,使用者可以與「使用者系統」交互,從「攻擊」元件讀取數據,然後觸發「動作系統」中的某個更新,更新動作和位置元件。 此外,不同的實體或不同類別的實體可以共用這些元件的模組化分組。 例如,NPC(非玩家角色)可能只有動作和位置元件,沒有攻擊元件。

因此,ECS是一個非常靈活、直觀且強大的框架,遊戲開發人員可以使用ECS來設定所有這些不同的agent在遊戲環境中如何相互作用。 Dojo的亮點之一就是將這個靈活且熟悉的框架部署到Cairo中,這樣遊戲開發人員就可以在熟悉的過程中快速開發遊戲。

(2)Torii:自動索引器

有Cairo原生ECS框架的加持確實很棒,但我們的任務不是開發普通的遊戲,而是開發區塊鏈遊戲,遊戲內所有的資產、狀態和邏輯都存儲在像Starknet這樣的公鏈上。 為此,我們需要某種方式與公共區塊鏈交互並監控鏈上資訊,那就是:區塊鏈索引器。

![ay0ziUQrfVvUFesqUUuy4jSPGvndIOp2PHtIKkEq.jpeg](https://img-cdn.gateio.im/webp-social/moments-40baef27dd-30063ae118-dd1a6f-69ad2a.webp“7115137”)

這就是Torii作為Dojo專用自動索引器的用武之地。 Torii可以自動索引Dojo Worlds,為遊戲用戶端提供低延遲、高性能的GraphQL和GRPC介面,允許客戶端實時呈現遊戲狀態變化。 使用Torii,用戶可以快速索引部署在Dojo上的鏈上遊戲世界中發生的任何事件。 因此,使用Dojo Torii,開發者就不必再為他們的遊戲編寫自己的索引器了,而編寫索引器會帶來不必要的開銷和錯誤。

(3)Katana:遊戲專用排序器

Dojo工具組中的下一個特性就是Katana遊戲專用排序器。 Katana是圍繞鏈上遊戲開發部署的獨特需求而設計的。 它旨在作為中央排序器運行,針對低延遲和高輸送量進行優化,支援本地開發和生產部署。 在生產部署過程中,其架構支持執行分片和區域部署,這些部署將形成一個規範的母鏈,支援遊戲向大型使用者群橫向擴展。

(4)開發部署工具鏈

最後,Sozo是一組scaffolding腳手架代碼,開發人員可以輕鬆構建、開發、測試及部署腳本。 Sozo有一個專案命令清單,例如init、build、test、migrate等,可以節省開發人員開發樣板代碼的時間,特別是在部署端。 憑藉一個簡單的sozo migrate命令,使用者可以快速地將他們的遊戲世界部署到鏈上,Sozo庫將協調現有鏈上數據和新部署代碼之間的狀態差異。

3、Dojo生態中的應用程式

從上文我們可以看出,Dojo提供了一個全面的開發基礎設施,融合了傳統遊戲開發的一些常見實踐(如ECS模型)以及區塊鏈開發(Torii、Katana、Sozo)。 現在我們將討論在Starknet上運行的Dojo生態系統中的一些應用程式,這些應用程式要麼目前正在使用Dojo,要麼計劃在未來版本中使用Dojo。

(1)戰利品領域

由BibliothecaDAO開發的Loot Realms並不是一款單機遊戲。 更確切地說,它是一個鏈上IP的鬆散集合,這些鏈上IP被用來不斷創建許多相關遊戲集合,保留自己的lore和經歷。 誕生於2021年基於文本的Loot NFT系列,今天的Loot已經成為眾多遊戲的基礎。 作為全鏈IP的主要來源,基於Loot的遊戲和文化可能在未來成為Dojo生態系統以及更廣泛的鏈上遊戲場景中的重要力量。

使用Loot Realms IP開發的主要遊戲之一是Realms: Eternum,這是一款基於玩家的Loot Realms NFT的MMO策略遊戲。 Realms NFT本質上是一個地理區域的地圖,該地圖示有城市、分區、港口、河流以及銅、石料、煤炭和紅寶石等資源。 這些決定了玩家可以在他們的Realm開發多少資源,所有這些資源都可以在流動性市場上交易。 由於玩家需要不斷做出決策並平衡資源,這就提供了一種玩家掌控感,並支持遊戲中的戰略深度。

另一款基於LootIP的遊戲是Loot Survivor,這是一款基於文本的生存類遊戲,靈感來自於Loot的文本起源。 從本質上講,玩家制定RPG戰略,與他人競爭戰利品,以實時戰略方式進行遊戲。

(2)自己動手

Roll Your Own是一款由Cartridge遊戲公司發行的多人策略遊戲,該公司是Dojo的主要開發商之一。 它最初是在2021年使用Cairo Zero開發,但隨著Starknet升級到Cairo,智慧合約必須重寫,於是Cartridge使用了Dojo來重寫合約。 實際上,Dojo最初是專為重構RYO而開發的,這是由Cartridge團隊領導的一個過程。

最近在Katana排序器上部署的遊戲測試中,RYO在2500多個回合中記錄了超7萬次交易。 這極大地展示了Dojo工具包支援處理遊戲應用程式典型的大型計算負載的能力。

(3)布里克

Briq是運行在Starknet上第三個有趣的遊戲專案,其團隊是運維Dojo軟體的開發團隊之一。 從本質上講,Briq試圖創造一種「鏈上樂高」的理念,支援玩家鑄造“briq”藏品並創建自己的NFT作品。 現有的「briq」結構也可以被解構成元件磚,用於搭建其他結構。

4、Dojo對鏈上遊戲的影響

從Dojo的體系結構和應用程式中,我們可以看到對開放遊戲設計的重視,在開放遊戲設計中,玩家可以相互交換交易。 事實上,這可能是區塊鏈承諾新全新遊戲體驗的一個關鍵方面——在這種全新的遊戲體驗中,因為資源是在公共區塊鏈(如Starknet)上共用和註冊的,這便增強了遊戲的多人交互性。

可以說,這種區塊鏈支援的多人遊戲體驗的強化是「自治世界」的核心承諾。 自治世界裡的“世界”是一個自成一體的空間,有自己的規則和獨特的文化。 擁有一個記錄在鏈上的但由使用者自定義的「自治世界」,為創造性表達提供了一個新的平臺,這可能是區塊鏈遊戲發展的一個重要的長期價值主張。

在這個宏大的構想中,Dojo和Starknet生態系統已準備好成為支援這一發展的行業領先的技術棧。 無論是憑藉Cairo語言相對於Solidity的語言優勢、Starknet的複雜且高性能的STARK證明系統,還是Dojo全面的測試套件和體系結構,這似乎是一個具有強大技術能力的生態系統,可以釋放鏈上遊戲和“自治世界”的全部潛力,並最終使Cairo成為一種易於使用且廣泛採用的通用程式設計語言。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 轉發
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate App
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)