作者: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實體組件系統
ECS是一種通常用於遊戲設計的設計模式,它將遊戲內互動分為「實體」、「組件」和「系統」三個部分。
本質上,實體就是遊戲中的agent,例如皮卡丘。這個agent有若干組件,這些組件實質上是功能的模組化分組。某些組件可能包含位置、動作和攻擊。這些元件不包含任何邏輯,只包含資料。邏輯是在遊戲系統中定義的,使用者可以與之互動。例如,使用者可以與「使用者係統」交互,從「攻擊」元件讀取數據,然後觸發「動作系統」中的某個更新,更新動作和位置元件。此外,不同的實體或不同類別的實體可以共用這些元件的模組化分組。例如,NPC(非玩家角色)可能只有動作和位置組件,沒有攻擊組件。
因此,ECS是一個非常靈活、直覺且強大的框架,遊戲開發人員可以使用ECS來設定所有這些不同的agent在遊戲環境中如何相互作用。 Dojo的亮點之一就是將這個靈活且熟悉的框架部署到Cairo中,這樣遊戲開發人員就可以在熟悉的過程中快速開發遊戲。
(2)Torii:自動索引器
有Cairo原生ECS框架的加持確實很棒,但我們的任務不是開發普通的遊戲,而是開發區塊鏈遊戲,遊戲內所有的資產、狀態和邏輯都儲存在像Starknet這樣的公鏈上。為此,我們需要某種方式與公共區塊鏈互動並監控鏈上訊息,那就是:區塊鏈索引器。
這就是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)Loot Realms
由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開發多少資源,所有這些資源都可以在流動性市場上交易。由於玩家需要不斷做出決策並平衡資源,這提供了一種玩家掌控感,並支持遊戲中的戰略深度。
另一款基於Loot IP的遊戲是Loot Survivor,這是一款以文字為主的生存遊戲,靈感來自Loot的文字起源。從本質上講,玩家製定RPG策略,與他人競爭戰利品,以即時戰略方式進行遊戲。
(2)Roll Your Own
Roll Your Own是一款由Cartridge遊戲公司發行的多人策略遊戲,該公司是Dojo的主要開發商之一。它最初是在2021年使用Cairo Zero開發,但隨著Starknet升級到Cairo,智能合約必須重寫,於是Cartridge使用了Dojo來重寫合約。實際上,Dojo最初是專為重構RYO而開發的,這是由Cartridge團隊領導的一個過程。
最近在Katana排序器上部署的遊戲測試中,RYO在2500多個回合中記錄了超7萬次交易。這極大地展示了Dojo工具包支援處理遊戲應用程式典型的大型運算負載的能力。
(3)Briq
Briq是在Starknet上運行第三個有趣的遊戲項目,其團隊是維運Dojo軟體的開發團隊之一。從本質上講,Briq試圖創造一種「鏈上樂高」的理念,支持玩家鑄造「briq」收藏並創建自己的NFT作品。現有的「briq」結構也可以解構成組件磚,用來搭建其他結構。
4.Dojo對鏈上遊戲的影響
從Dojo的體系結構和應用程式中,我們可以看到對開放遊戲設計的重視,在開放遊戲設計中,玩家可以相互交換交易。事實上,這可能是區塊鏈承諾新全新遊戲體驗的關鍵方面——在這種全新的遊戲體驗中,因為資源是在公共區塊鏈(如Starknet)上共享和註冊的,這便增強了遊戲的多人互動性。
可以說,這種區塊鏈所支持的多人遊戲體驗的強化是「自治世界」的核心承諾。自治世界裡的「世界」是一個自成一體的空間,有自己的規則和獨特的文化。擁有一個記錄在鏈上的但由用戶自定義的“自治世界”,為創造性表達提供了一個新的平台,這可能是區塊鏈遊戲發展的一個重要的長期價值主張。
在這個宏大的構想中,Dojo和Starknet生態系統已準備好成為支持這一發展的行業領先的技術堆疊。無論是憑藉Cairo語言相對於Solidity的語言優勢、Starknet的複雜且高效能的STARK證明系統,還是Dojo全面的測試套件和體系結構,這似乎是一個具有強大技術能力的生態系統,可以釋放鏈上游戲和「自治世界」的全部潛力,並最終使Cairo成為一種易於使用且廣泛採用的通用程式語言。