AO 是游戏开发者的乐土

This article is not available in the current language yet. Showing the original version.
AO 测试网已经运行了半年,吸引了许多原 EVM 生态的开发者。在开发过程中,许多开发者仍然使用以太坊的编程思维,但 AO 的 process 更像计算机进程,有便宜的存储和并行执行的特点。AO 编程范式在游戏开发中展示了独特优势,例如玩家角色和游戏装备可以作为独立 process 持续存在,即使玩家下线或游戏停运,角色和装备仍保留所有历史记录并继续运行。此外,AO 系统的独立 process 状态和并行计算消除了状态爆炸和交易拥堵问题。AO 的弹性扩展存储和计算资源,让游戏开发者无需担心服务器运维问题。AO 生态需要不断丰富和更多开发者的加入,才能实现其潜力。

AO 是游戏开发者的乐土

作者:ungigdu

审阅:outprog

来源:内容公会 - 新闻

AO 测试网已经运行了小半年,应用越来越多,生态也在不断繁荣。不少原本在 EVM 生态上的开发者(包括我),在陆续尝试使用 AO 做产品。在开发过程中,不少开发者仍然习惯于以太坊的编程思维和习惯,直接把 process 当作智能合约使用。当然这样的做法没有错,像 token blue print,atomic asset 这些实现基本是可以直接对应 ERC-20 和 ERC-721。可以说,AO 上大部分 process 的代码都很像智能合约。

在 AO 的白皮书中,AO 的定义就是 Actor Oriented Machine,所以 Actor,即 process 是这个系统的基础组成单位。比起智能合约,process 更像计算机进程,有便宜的存储,可以并行执行。开启一个 process 的成本不高,甚至可以即开即用即弃。低成本加可并行,使得 AO 编程范式(actor oriented programming)和智能合约有相当大的不同。在这里,我想就游戏场景展开联想,看一下 AO 编程范式在其中的应用。

AO 游戏的新玩法

想象一下我们在一个类似魔兽世界的多人在线 RPG 游戏中,我们就叫它 AO 世界吧。玩家操作的每个角色,都是一个 process,玩家可以操作这个 process 在游戏世界中打怪升级,买卖装备,对战竞技。当玩家下线的时候,魔兽世界的做法是保存角色当前的位置和状态,从服务器的内存中把角色占用的资源释放掉。在其他玩家眼里,看到的就是这个角色变透明,系统提示好友下线。但是在 AO 世界中,玩家下线,process 依然存在,并不会被释放掉。当然,我们可以在代码中添加逻辑,让 process 拒绝处理任何收到的 message 来做到“伪下线”。但更好的做法是让 process 有“自动驾驶”模式,角色可以在玩家 AFK 的时候自己打怪升级,赚钱,甚至可以买卖装备,从玩家变成了 NPC。这套“自动驾驶“的代码可以由玩家自己编写,甚至可以由 AI 驱动,作出类似真人玩家一样复杂的行为。这样的设计,AO 世界就不会出现因玩家流失而产生的鬼城现象,AO 世界永远生机勃勃。更好玩的是,玩家可以出租角色,而不用担心像魔兽世界一样需要暴露用户名密码给对方。

再来说游戏装备,AO 世界的每个游戏装备也可以是一个单独的 process,和真实的物理世界一样。角色 A 手中的铁剑,和角色 B 手中的铁剑,在刚被铸造的时候可能一模一样(除了铸造时间),但随着时间推移,铁剑的 process 记载了换手信息和击杀记录,变得越来越不同。铁剑 A 杀了 3 只鸡,铁剑 B 却砍倒了恶龙,铁剑 B 就具有了”人文价值“。当然,我们也可以真的让沾了恶龙血液的铁剑增加属性。给每件装备完全记录历史,这在传统游戏和链游中都不曾出现,而 AO 编程范式是天然能做到的。在魔兽世界中,经常有玩家社区自己设计挑战,比如 1 级暗黑精灵从达纳苏斯(精灵出生地)跑到暴风城(人族出生地),整个过程要全局录像直播,才能保证不作弊。在 AO 世界中,同样的挑战直接做即可,因为整个历史是无法作弊的,做到本身即验证。当然为了娱乐性,还是全程录像比较好。

AO 性能如何?

链游的开发者们此时也许会问。这么多玩家和装备,都是独立的 process,AO 世界的状态会不会爆炸?同时在线玩家增多会不会让 AO 世界交易拥堵?

我的答案是不会,AO 世界仍然会流畅的运行。先看状态爆炸问题,和 EVM 的全局状态不同,每一个 process 的状态都是独立的,并不存在全局状态,所以不需要一个物理机器存储所有 AO 的数据。AO 的计算资源可由 CU 动态分配,是可横向弹性扩展的。开发者只需专注于游戏逻辑,无需关心繁琐的服务器运维问题。

关于交易拥堵问题,由于 EVM 是串行计算,无论采用什么 layer 2 技术加速,它总是有一个处理速度的天花板,铁剑 A 砍中了小鸡,和铁剑 B 砍中了恶龙,两个事件必须是先后发生的。而 AO 则不同,铁剑 A,小鸡,铁剑 B,恶龙,这四个 process 并没有共享内存,也不需要世界时钟,铁剑 A 的砍中事件和铁剑 B 的砍中事件,完全可以并行计算。所以 AO 在架构上并没有交易拥堵的问题。

永不停机 + 自由组合

在传统游戏中,一旦游戏不赚钱,或者版权到期,游戏的运营公司是会停服的。有的时候,为了让停服有戏剧性,整出一个灭世事件来,让一个无敌的 boss 杀光所有玩家。在 AO 中,一旦游戏角色,装备开发出来,它就是永存的(起码和 AO 存在一样长),永远在线的。就算开发者决定不持续维护,其他开发者也可以无缝接手。甚至开发者可以在游戏一开始就开放让玩家自建 DLC,自建角色和武器,一起协作 build 整个游戏。

在 AO 上,所有的 process 都是可以互相通讯的,这说明了什么?说明 AO 上的所有应用,包括所有游戏,天生就是打通的。让我们发挥想象,玩家 A 从大富翁游戏中购置了一个铁矿厂,拿着生产的铁矿到 AO 世界中铸造了铁剑,最后跑到马里奥世界中用铁剑扎死了蘑菇怪。任何奇怪的组合都能实现,就像电影玩家一号中的高达和奥特曼同时上阵一样。传统游戏开发者经常做的事情就是去搜罗素材库,换皮。美术资源开销经常占整个游戏的一半以上。在 AO 游戏世界中,素材的丰富程度会随着时间推移单向增长,可用的编写好的素材,物品越来越多,后续的开发者上手就越来越容易,以至于最后变得和搭乐高积木一样简单,人人都可上手做游戏。

总结

让我们总结一下,AO 在游戏上有独到的优势,角色,道具永不下线,永不销毁,历史记录全部保留。所有的游戏资源可以做到全流通高复用,越开发越容易。AO 的存储和计算资源可弹性扩展,不用担心服务器配置和管理。Process 并行处理,无拥堵。这些特性让 AO 能成为游戏开发者的乐土。但是要达到这一目标,还需要生态不断丰富,游戏开发者不断加入,一起 build。

Share to:

Author: PermaDAO

Opinions belong to the column author and do not represent PANews.

This content is not investment advice.

Image source: PermaDAO. If there is any infringement, please contact the author for removal.

Follow PANews official accounts, navigate bull and bear markets together
PANews APP
The United States doubled the size of its Strait of Hormuz reinsurance program to $40 billion.
PANews Newsflash