全链上游戏 :意志的传承之 MUD & Dojo
一、什么是全链上游戏的“引擎”?
1.1 游戏引擎
就如同汽车的发动机引擎是一辆车的动力来源,其控制着一切相关的模块如喷油、点火、进气等等,并且连通着油箱、驱动轴等组件,车厂造车时,围绕着同一个引擎,就能够制造出各种不同型号的车,而无需做大量重复的工作。
游戏引擎本质上就是一套按模块封装好的代码库和工具,游戏开发者只需要调用引擎中不同部分的接口,即可完成图形渲染、物理模拟、网络通信等任务,而无需再去进行相对底层和低级的编程,从而节省大量的时间,使之能够更好的专注于游戏设计和内容的创作。在商业游戏引擎领域,最常见的便是 Unity 和 Unreal。
1.2 全链上游戏引擎
随着玩家对游戏质量要求的提高和硬件设备性能的提升,目前 3D 游戏引擎的架构已经变得极其复杂,通常会包括模型编辑器、声音处理、光线渲染、物理模拟等等,重点往往会在画质的呈现,因为这类工作往往繁重,但对游戏的呈现又起到了至关重要的作用。
而全链上游戏则不太一样,目前全链上游戏的发展仍然非常的早期,开发者们普遍遇到的问题还是智能合约的部署和更新、不同合约间的可互操作性、客户端的同步模式等等涉及与底层区块链交互的问题。
因此,虽然全链上游戏的引擎同样是一套封装好的解决方案,但所聚焦的问题更多的是如何处理状态同步、如何在区块链环境下进行高效的内容增加和维护、如何更便捷的与其他合约做交互等等,以此来帮助开发者专注于游戏的部分,不需要过多的考虑如何兼容区块链,甚至从而降低 Solidity 的学习成本。
目前的全链上游戏引擎基本不涉及物理模拟、画面渲染等功能。
二、都在说的 ECS 是个什么?
当我们开始尝试了解全链上游戏引擎时,会发现经常出现一个叫 ECS 的名词,作为目前两大拿的出手的引擎 MUD 和 DOJO 都采用的架构,ECS 又是什么?
2.1 Enity-Component-System Framework(实体-组件-系统框架)
ECS 其实是一个在传统游戏行业中非常经典的框架,它是建立在通用引擎之上的一层,用于解决游戏对象之间的关系、交互和操作更新的一套模型。
其最早被 Scott Bilas 在 2002 年的 GDC 上提出,并运用在了当时开发的 ARPG 游戏《地牢围攻》中。由于其非常不错的性能表现,使其很快便得到的大量的关注,在后续的几年间,ECS 又衍生出了几个不同的变体,比较主流的则是 Adam Martin 于 2007 年在其*个人博客*中提出的对 ECS 的定义,基本成为了后续主流 3A 游戏所采用的框架。
- 星际资讯
免责声明:投资有风险,入市须谨慎。本资讯不作为投资建议。