去中心化应用程序(DApp),包括游戏应用程序,因其透明度、安全性和用户资产所有权而受到关注。然而,通过 DApp 提供高质量的 AAA 游戏体验面临着挑战。
现有的 2D 游戏 DApp 在区块链网络上运行,使用智能合约进行资产管理。虽然它们因其简单的机制和资源效率而受到青睐,但随着游戏体验复杂性的增加,它们的局限性也变得显而易见。
可扩展性是以太坊等传统区块链的主要障碍,由于交易吞吐量和延迟的限制,影响了实时互动游戏。
性能也是一个问题。AAA 级游戏需要高性能计算和卓越的图形渲染。然而,现有的 DApp 很难满足这些需求,导致视觉体验不佳。
此外,由于资源密集型任务和区块链执行费用,开发 AAA 游戏 DApp 成本高昂。平衡沉浸式体验和用户友好的费用使得 AAA 游戏的传统 DApp 框架的使用变得复杂。
参与者模型是什么?
参与者模型是一种通信模型,可在区块链协议内实现并行计算和异步消息传递,使开发人员能够轻松构建复杂的 DApp。
Actor 模型在 Gear Protocol 中使用,开发由 Gear Protocol 和 Vara 的创始人、Polkadot 和 Substrate 框架的主要开发人员之一 Nikolay Volf 领导。
模型内有参与者——向协议中的其他程序发送消息的程序或用户。每个参与者都有一个邮箱和一个私有状态,不能由另一个参与者直接更改,而只能通过接收来自另一个参与者的消息来更改状态。
Actor 之间的消息从邮箱中取出并循环处理。一旦参与者接收并处理了消息,他们就可以向另一个参与者发送消息、创建参与者或更改其状态。
这对DApp开发有何好处?
区块链编程中的异步消息处理提供了几个显着的好处,有助于提高 DApp 的整体效率、可扩展性和可靠性。
首先,异步消息处理允许事务和智能合约的非阻塞处理。与每个事务必须按顺序执行的同步处理不同,异步消息传递可以并发执行多个任务。
这种并行处理能力增强了区块链网络的性能,因为它可以同时处理大量交易和计算,从而减少交易处理时间并提高整体吞吐量。
Hypersphere(一家投资游戏项目的加密风险投资基金)的联合创始人 Jack Platts 告诉媒体,在传统的同步系统中,多个任务通常必须相互等待,导致处理大量任务时速度变慢。在区块链网络的背景下,这种并行处理能力对于维持高交易吞吐量至关重要。随着用户发起更多交易,系统可以同时处理这些交易,从而确保更快的确认时间并整体提高网络性能。这对于区块链游戏尤其重要,实时交互和快速处理对于提供流畅、愉快的游戏体验至关重要。
一些区块链游戏,例如《Ember Sword》,已经将并行处理集成到其开发过程中。游戏开发公司 Bright Star Studios 的联合创始人兼首席执行官 Mark Laursen 告诉媒体:“在《Ember Sword》的开发中,我们利用我们的 ECS(实体组件系统)解决方案采用并行处理。通常,需要手动集成多线程并在逐个系统的基础上做出复杂的决策。但是,在我们的场景中,指定了读取、写入和排序依赖关系的要求,使我们的引擎能够识别最有效的方法来调度和并行化这些系统。”
假设区块链游戏的玩家想要以不可替代代币的形式转移游戏内物品,例如将传奇剑从他们的胸部(用于长期存储的钱包)移动到他们的库存(用于游戏的钱包)。
转移过程可以立即发生,费用低廉或接近零,就像玩家可以简单地从库存中单击并拖动一把剑,然后将其移动到传统游戏中的商人或箱子中一样。
此外,通过异步消息传递,区块链开发人员可以设计更能适应网络条件波动和临时故障的 DApp。
Gear Foundation(Gear Protocol 背后的组织)的首席增长官 Pavel Salas 告诉媒体,参与者模型实际上提高了在区块链上运行的应用程序的可靠性,由于参与者独立处理消息,一个参与者的故障或问题不会影响其他参与者,从而防止级联故障并提高系统的整体稳健性。假设出现中断或网络故障,参与者模型可以让系统快速恢复并继续无缝运行。
如果出现网络中断,这对区块链游戏 DApp 来说是有益的,允许游戏在区块链出现任何问题的情况下继续运行。此外,异步消息处理增强了区块链网络的可扩展性。随着用户和事务数量的增加,传统的同步方法可能会导致瓶颈和性能下降。
相比之下,异步消息传递允许跨多个节点分配任务,使系统能够更有效地扩展并处理更高的事务量,而不会牺牲性能。
Salas 表示:“随着 DApp 内用户群和活动的增长,系统可以轻松管理增加的消息流量,而不会造成瓶颈或速度减慢。即使单个应用程序增长,它仍然会按顺序管理消息。”
这种可扩展性至关重要,因为区块链网络旨在支持不断增长的用户群并适应不同的用例。
通过参与者模型,各个参与者程序充当分片,确保随着程序数量的增长,系统可以通过设计进行共享。Vara 处理所有交易,无需在节点群之间进行分片;每个节点处理所有事情。然而,在Vara内部,每个程序都是独立运行的,包含自己的状态,根据其特定的逻辑处理和发送消息。
在区块链游戏中,实时交互和快速处理至关重要,参与者模型的分片功能可确保快速处理游戏相关的动作和事件,支持无缝的游戏体验。随着参与者程序数量的增加,系统会分片和分配工作负载,有效地适应不断增长的用户群并维护响应迅速且高效的网络。
异步消息处理的另一个好处是它支持 DApp 中的事件驱动架构。DApp 可以订阅特定事件或消息,而不是不断轮询更新,从而使它们能够迅速有效地响应区块链上的变化。
这种事件驱动模型减少了不必要的计算开销并节省网络资源,从而使应用程序更加高效和响应迅速。
此外,实施参与者消息传递功能可以通过减少交易验证的延长等待时间来显着增强整体用户体验。采用异步处理允许参与者接收其事务的消息确认以及待处理的事务 ID。
随后,任何计算任务或外部数据依赖项都可以由后续区块中的相同或替代参与者进行管理,从而确保高效处理,而不会影响区块链网络的响应能力。
这种实时反馈对于需要快速确认的应用程序尤其重要。
随着区块链生态系统的不断发展和多样化,利用异步消息处理对于创建强大的 AAA 型游戏 DApp 至关重要,这些 DApp 可以满足不断扩大的用户群的需求并满足跨行业的各种用例。
通过采用这种方法,开发人员有机会扩大去中心化游戏的限制,并有可能在游戏领域实现区块链技术的完整功能。