陷入地缘危机的以色列 却
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实体组件系统
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