游戏行业的进步总是随着技术的进步而不断发展。 从图形、音效的变化,到游戏设计、交互方式的变化,一切都在推动着游戏的发展。 Pong 是 Atari 开发的第一款游戏,被认为是第一款商业上成功的视频游戏。 它一炮而红,掀起了电子游戏的潮流。 20世纪70年代是集成电路快速发展的时期。 1975年,摩托罗拉推出6502处理器,为后来家用电脑的辉煌奠定了基础。 最著名的家用电脑先驱Atari 2600由此诞生,吃豆人从此成为家喻户晓的名字。
现代游戏既是一门综合艺术游戏引擎架构 完整版,也是一门复杂技术。 早期的游戏从代码逻辑到界面交互都比较简单,开发者更习惯从0到1制作。但随着功能的完善,游戏玩法越来越多样化,技术也越来越复杂,使得开发从从头开始是一个缓慢而繁琐的过程。 效率低。 20世纪90年代,CD-ROM和3D图形加速卡的出现将游戏内容和屏幕性能带到了新的高度,导致开发游戏所需的代码量急剧增加。 在此背景下游戏角色,游戏引擎的概念应运而生。 出生。 游戏开发者将一些底层技术标准化,整合成高效的工具集,以缩短开发周期,降低开发复杂度,支持游戏在不同平台和设备上的发布。 可以说,游戏引擎的出现给开发者带来了极大的便利。 这些模块化、通用化、标准化的功能让开发者能够更加专注于游戏内容和玩法设计。 如今3D道具,一个成熟的游戏引擎可能包括图形、物理、场景等系统。
1993年,Id Software使用DOOM引擎(Id Tech 1)制作了游戏《毁灭战士》,获得了巨大成功,当年销量达到350万份。 Doom 的成功很大程度上归功于其软件架构的设计。 其游戏软件架构分为核心软件组件、美术资产、游戏世界和游戏规则。 这种清晰的架构划分使得不同的开发者可以使用同一个引擎,通过产生新的美术、关卡、角色、游戏世界和游戏规则来创造新的游戏作品。 DOOM引擎的成功分割激发了社区对MOD制作的兴趣,它也成为第一个商业游戏引擎。 接下来的十年里,游戏引擎变得非常流行,从Epic Games的Unreal引擎,到CryTech的CryEngine,再到在iOS端大放异彩的Unity。 除了商用引擎之外,很多厂商也打造了自研引擎供自己使用,比如Valve的Source引擎、Infinity Ward的IW引擎、Ubisoft的Anvil引擎等。
02 Web3游戏引擎的ECS架构
目前最知名的两款全链游戏引擎MUD和DOJO均采用ECS架构。 ECS 代表 Entity-Component-System,是 Web2 游戏开发中常用的一种架构模式,用于管理游戏对象(实体)及其属性(组件)和行为(系统)。 这种架构模式的好处是:
MUD V1是典型的ECS架构。 在V1框架中,Entities也是游戏中的基本单位。 它们可以是各种对象、道具或钱包地址。 它们通过唯一的 ID 进行识别。 Components组件是实体的数据部分,用于描述实体的不同属性,如物体的位置、角色的属性等。通过给实体附加不同的组件,可以实现丰富多样的游戏物体被创建。 Systems系统处理组件的逻辑并实现游戏的各种规则和行为。 它们以智能合约的形式存在于链上。 实体、组件、系统都在一个Worlds世界契约中,每个Worlds相当于一个独立的游戏环境。
这个架构如何体现可扩展性? 假设我们需要升级游戏中的某个功能或者社区想要添加新内容。 首先,我们需要让新的游戏功能/逻辑(系统)获得相关组件的写入权限,然后在游戏中创建升级版本和其他内容。 保持原样即可。 如果不给予写权限,也可以考虑创建包含新功能的新组件和新系统。 玩家可以选择不同的版本进行游戏,同时与相同核心组件的数据进行交互。 因为从世界的角度来看,任何人都可以创建组件和系统,就像任何人都可以创建新的 ERC-20 代币并将其“附加”到地址一样。
03 Web3游戏引擎对区块链游戏发展的意义
尽管区块链技术尚未完全落地到日常应用中,但其确权透明等独特特性势必会给游戏领域带来重要变革。 尤其是人们看到了DeFi带来的巨大魔力。 如果游戏完全上传到区块链上会发生什么? 从 DeFi 开始,我们不难介绍区块链将给游戏带来的改变:
区块链游戏一直备受期待,尤其是在 DeFi 和 NFT 两大区块链应用领域爆发之后。 但实施过程中仍存在诸多障碍:
以上只是目前可以预见的一些难点,也是现阶段几乎所有全链游戏都以SLG为主的原因——游戏机制简单、TPS要求不高、不完整所需的信息可以通过现有技术来完善。 应用。 如果我们期待一款MMORPG,那无疑是相当具有挑战性的。 借鉴游戏引擎给Web2游戏带来的改变游戏引擎架构 完整版,如果链游也采用ECS架构,或许可以解决:
04 Web3全链游戏预览
全链游戏还存在很多困难,游戏引擎只能解决一小部分问题。 然而,挑战与机遇并存。 全链游戏等复杂应用可能成为区块链技术真正落地的敲门砖。
目前,全链游戏引擎还处于非常早期的阶段。 正如前面提到的,我们已经看到了复杂应用程序的原型,但缺乏工具实现。 目前开发进度为MUD V2和Dojo。 MUD V2 相比 V1 改进了 ECS 架构,但 V2 仍在开发中。 Dojo 是目前 Starknet 社区构建的唯一可验证的游戏引擎,并且借助 Cairo 语言可以原生实现战争迷雾。 Dojo还采用了ECS架构,并计划为Starknet上的独占游戏开发L3,以进一步提高可扩展性。
此外,链游所依赖的基础设施也在不断演变。 L2已经强大到可以一键发链了。 也许一款热门游戏可以通过构建自己的 Rollup 来赚取差价,以维持耗散结构并避免死亡螺旋。 全链游戏利用ERC-4337账户抽象技术,让玩家可以在一个账户中进行游戏交易、创建角色等,有助于简化用户体验。 不同的游戏机制还可以封装成可升级的合约账户,让开发者可以轻松更新或优化游戏规则、内容等。