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