《沙盒,模拟游戏,和全链上游戏引擎》是这个系列的第一篇文章,第二篇可能叫做《UGC,功能型设计,和创作公式》,我想通过这个系列论证两件事情:
1)为什么我认为基于物理规则的全链上游戏没有意义;
2)创作公式将成为我未来衡量一个产品是否具有UGC潜力的一个重要指标。
事情要从两三个月前说起。
当时我正在设计一个全链上游戏,为了区分所有被称为“沙盒”或“开放世界”的游戏有什么区别,研究了包括Minecraft, Roblox, Dwarf Fortress, Screep: World在内的产品。我始终认为人类被自己发明的名字蒙蔽了,事实上这些被统称为“沙盒”的游戏,它们的底层交互逻辑,目标用户,玩家ugc作品,都各不相同。
所以我按照玩家交互方式和深度把它们分成了这几类:
编辑器(Roblox): 编辑器是用来搭建场景和交互逻辑和环境,大多数指的是物理层面的交互逻辑,例如碰撞体,碰撞效果,重力,摩擦力,事件触发器,事件触发顺序等等。
低真度模拟器(Minecraft):只具有物理和化学逻辑的模拟器,物体之间的交互大部分遵循自然规则。例如水往低处流,元素合成实验等。
高真度模拟器(矮人要塞): 不仅仅具有物理和化学逻辑,还有人文逻辑,并且大部分模拟效果是隐性的,随着时间流逝而发生的。例如酒馆里的猫因为酒精中毒而死,矮人村落中自动生成的传奇故事等。
游戏现实模拟器(塞尔达荒野之息): 不强行遵循全部自然规则,而是在游戏引擎中强化了部分交互反应的的画面表现,因此也构建出了现实世界中不存在的交互。用塞尔达制作人自己的话来说这叫做“欺骗物理系统”。例如时间静止,利用磁力抓取器,和即将推出的穿墙术等等。
游戏现实模拟器和编辑器 (Screep: World): 时间的流逝速度,程序的执行,玩家可调用的指令,调用各指令的成本,都是该游戏世界中的“现实”。玩家需要遵循“游戏现实”,并发挥能动性对各类主体进行编程以达到目标。例如编程设计负责建筑/防御/开采等不同任务的机器人,并扩张领土,占领服务器。
这些游戏极具可组合性的特质和其不竭的UGC内容生态时刻吸引着投资者和全链上游戏的制作人,但接下来我将论述为什么我认为在区块链上复制这些游戏的意义是极其有限的,并且提出我对全链上游戏引擎设计的想法。
Minecraft - 成功的计算机原生的沙盒游戏,但或许不意味着它在区块链上能以同样的效果推动游戏产业发展并带来商业上的成功。
如果我们回过头去看Minecraft被制作出来的年代,那个时候没有Unity和Unreal,也没有显卡和计算机渲染能力的军备比赛,所以Minecraft是一款完全依靠CPU进行计算并渲染在客户端的游戏,是电脑完成了所有的逻辑运算和渲染。
并且,基于其计算速度快且便宜,资源无限生成的特点,玩家在彼此的世界中建造和毁灭东西是常事,在化学实验室尝试各种元素合成也是常事,甚至是快感的核心来源。他们可以玩无限微量化的原子和分子,也可以用红石制作计算机,人工智能,神经网络。并且玩家激励来源于自我成就感和对外部社交媒体的炫耀,他们也并没有“这个世界随时会被中心化服务器摧毁”的焦虑。
这个游戏的核心乐趣不是永久存在,而是玩家可以不计较算力和成本地在自己电脑的客户端瞬间毁灭和重建任何东西,这才是沙盒游戏的意义。
如果将Minecraft全部放在区块链上运行,从根本上来说就是在用区块链的运算速度和存储能力和计算机的CPU和GPU做比较。这的确是一个有趣的商业展示(证明一条链的速度可以有多快),但其中基于区块链的优势特性不一定能吸引玩家,也不一定能整个游戏产业带来根本性的变革。
矮人要塞 - 如果真的可以创造无数个永久存在的世界,对玩家而言意味着什么?
在矮人要塞开发的时候同样也没有成熟的物理引擎,所以催生出了矮人要塞这样一个自然+人文引擎自动生成故事的游戏,这是任何在物理引擎成熟之后的开发者不会轻易想到和做到的伟大游戏构想。
两位开发者用了几乎二十年将种种细碎的自然和人文逻辑融入其中,如果仔细查看开发者访谈和设计手册,并且将之与《塞尔达荒野之息》进行对比就会发现:
矮人要塞花了绝大多数精力去设计玩家看不到的逻辑,使得整个游戏称为“被动游戏”(指玩家无法主动交互,只能被动接受结果/观看)。例如大气变化和水流如何影响土壤结构,并进一步影响当地的自然地貌;例如文化和自然逻辑交织,最终诞生一个不错的故事,矮人爱喝酒,矮人不保持环境清洁——酒馆的地板上全是酒精——酒馆里的猫身上沾满了酒精——酒精对猫有毒——猫总是舔毛——毒液在猫体内蓄积——猫死于酒精中毒。
但塞尔达荒野之息却专注于设计玩家看得到并且可互动的逻辑,将玩家感受到的逻辑和引擎底层运行的逻辑分开,创造了“主动游戏”。
所以从游戏设计的角度来讲,矮人要塞是电子游戏史上的文化遗产,但这并不意味着未来的游戏开发者都要遵循同样的逻辑来制作出好的游戏作品。
那么,如果我们将矮人要塞全部迁移到区块链上,并且将其变成一个基于智能合约的开源逻辑库,会不会诞生出一部更伟大,更成功的作品?
所有的开发者都可以撰写自然或人文逻辑,也都能调用其他玩家贡献的逻辑,而不仅仅是两个人进行封闭式开发,所有的小说和神话都可以成为虚拟世界的素材。
——起初,我也对这个概念非常兴奋。然而,一篇名为《Dwarf Fortress 会压垮你的 CPU,因为创造历史很难》的文章为我描绘出另一幅画面,也让我知道游戏背后过于复杂的逻辑也许不是一件好事。
“...…在一个虚拟世界生成时,游戏要使用现代四核计算机总 CPU 功率的一半,并且游戏引擎要一直占最大 RAM ,而一切才刚刚开始。” 文中也提到,从生成地形开始,到一个世界产生文明,最终文明终结,整个过程是非常复杂的逻辑交互和运算,但并不能给设计师和玩家带来同等的回报(经济和精神上的)和游戏乐趣。
“它只能让玩家坐下来几个小时,像看电影一样观看一个虚拟的世界。‘该死的。刚刚在那里弹出了一个世界’......这也许这就是人们看到矮人要塞和游玩时所感受到的一切。”
这让我想起游戏是关于体验的,而体验来自于有意义的互动,玩家可以在互动中主动做出重大改变,而不是被动地接受一个随机生成的故事,无论剧情多么优秀。
荒野之息的制作人Hidemaro Fujibayashi曾经分享过:“我们觉得,动作游戏=碰撞+人物移动+物体状态,而碰撞和人物移动的核心都是物理。在游戏中,我们往往需要让游戏有更好的操纵性,更好的反馈以及充分满足游戏设计的需求,所以我们不想要得到真实世界中的物理,而是需要适合游戏的物理,我们将其称作游戏物理,也可以称为欺骗物理系统或者骗子物理。”
因此,如果将矮人要塞和类似基于逻辑自动生成的世界放到区块链上,首先极有可能过度使用和浪费区块链的计算能力和速度来满足原本由 CPU 满足的需求,其次并未考虑到游戏是一门交互的艺术,也许能吸引一大批编程爱好者,但要说它能吸引多少游戏玩家并带来多好的游戏体验实在牵强。
Screep: World - 制作出娱乐大众的游戏仍需简化交互,且逻辑结构难以设计。
基于上一部分的结论,我认为全链上游戏不应该在模拟或沙盒游戏中寻找答案,而是转向编程游戏寻找灵感,比如 Screep: World。
Screep 是一款关于资源管理和系统优化的游戏。玩家需要用八个身体部位(八个动作指令)巧妙地组建他们的 Creep 军队,以在有限的时间、精力和计算能力下尽可能地扩大殖民地。
当我第一次看到这个游戏时,我认为成为一个完全链上的游戏将是完美的,因为它与围绕公共执行时间和单个 GPU 的区块链具有相同的价值。
执行时间或“滴答”是指完成多人服务器中所有模块所需的时间。可以预见,随着玩家和游戏活动的增加,完成一个“tick”需要更多的现实世界时间,因此游戏执行时间会变慢。一旦某个服务器执行时间变慢,可能会影响玩家的体验并促使部分玩家转移到新服务器。如果有一个多维空间隧道(一个用户创建的插件,正如我们之前设想的那样),将会有很多有趣的不确定性:谁可以离开?人们可以携带什么离开?如何处理迁移到新服务器的人?它可能会引出一些伟大的科幻文明故事,比如亚洲舰队的军官在世界末日之战中劫持了自然选择,为黑暗森林中的人类保留了一丝希望。
“GPU”是有限的,以避免滥用执行时间。它非常符合区块链的计算价值(挖块作为 PoW),也符合传统游戏货币化(“能量”以法币定价)。在此基础上,可以量化玩家活跃度的价值,越是省时、增效的外挂越有价值。
然而,Screep的交互逻辑仍然是基于简单的物理规则,所以玩家编程的基础单位(即动作)是能够被罗列出来的,仍然停留在物理引擎的范畴,仍然在重复着CPU和GPU可以完成的事情。
所以,我试图让玩家使用一些基本命令来构建他们的智能合约,进行交易或更复杂的金融行为交互,因为这更符合区块链的特性,并且不用回到CPU的老路上去。但模块化所有可能的金融活动比起简单的物理层面的交互要困难得多活动,因为玩家产生金融交互的动机是多种多样的。
我的朋友@Curio 在构建“Treaty”系统时遇到了同样的问题:事先列出所有可能的情况和人们的需求并设计底层架构似乎是不可能的。(但似乎他们最近有一些新的进展,强烈建议阅读@Curio的研究博客。)
所以,针对全链上游戏引擎,我有一个酝酿中但尚未实践的想法:
首先,解构无实体的价值:计算价值的单位,计算劳动的单位等。
我们熟悉的游戏中,价值单位也许是道具/武器/角色资产等,但在单机模拟游戏中,玩家控制的不是个体行为,而是一个群体性行为的指标,这个指标通常只是一个数字。例如在冰汽时代中,人口的数量,人们的幸福感,钢铁的生产率,建造和开采的效率等等……
这些指标其实都可以被包装成NFT/FT,代表了某玩家的发展状态。就跟卡牌,英雄,武器一样,它们只是用不同的载体包装了不同的技能,属性,数值,从而成为大家所熟悉的虚拟资产。
更重要的是,这些指标是随时可以被消耗,被影响,被改变的,其NFT/FT因此有了更强的波动性和消耗属性。例如我购买了一个代表劳动力数量和生产率的指标,但由于我颁布了严苛的管理政策,一段时间后劳工幸福感降低,导致劳动力增长率和生产率降低。如果我购买的只是某时某刻的一个生产指标,我就不能因此要求卖家退款;但如果我购买的是在某一段时间周期内拥有最低生产率保障的指标,那我就可以依照合约要求赔偿……这些都可以在玩家的自定义合约中体现。
其次,将规则隐藏起来,只给玩家提供道具。
塞尔达首创了开放世界游戏的物理和化学引擎,但这不意味着任天堂告诉玩家磁力和时间的条条框框的规则,更不可能让玩家去写一段关于磁力和时间复杂的代码。他们做的是将这两种交互的可能性制作成道具:定时炸弹和磁铁,如果玩家了解其背后的规则,就可以用这些工具去大自然里探索和实验。
同样的,如果我们想达成第一点提到的效果,不用去发明或罗列金融规则,只要制作出能让玩家与这个底层规则交互的道具,以及能承载这一规则的环境(即,一个由无数AI算法支撑的拟真的金融环境)。
举一个比较形象的例子:我有一根绳子可以打包有价值的资产,但每个包裹都要减去整体包装的三分之一来打结,越粗的绳子越牢固,绳子在使用的过程中会被磨损,而细的绳子在搬动的过程中容易遗失物品,遗失的物品有几率被别人捡到,再用他们的绳子打包带回家……
所以,如果我们设计出绳子和基础价值单位这两个核心机制,并计算出每种绳子打包某个体积单位的物品所需绳长和时间,玩家就会主动按照利益最大化的原则对物品进行打包和出售,创造出他们需要的合约去和别人交易;或者再简化一些,他们可以把绳子+物品打包成NFT。
实际上,NFT和FT都是包裹,它们就像英雄/卡片一样被打包好等待挑选,但我更希望有一个绳子,每个人都可以决定自己的包裹里装着什么。
当我们完成了前两步,也就完成了我对时间引擎的设想:
所有传统游戏几乎都是基于物理引擎,而物理引擎又衍生出了化学引擎,但没有什么电子游戏可以让玩家共享同一个世界的时间流逝。其原因一方面是顾及游戏体验,不要求所有玩家同步游戏;另一方面是在游戏存储的历史上,个人主机对应个人游戏进程,而个人进程对应个人存档,所以玩家甚至可以无限手动存档,自主把握时间流逝和游戏进程。
但是基于区块链的唯一真实性,在区块链时间上发生的事情都具有不可修改/不可逆的效果,加之在游戏设计中,时间和空间一样,都是限制游戏环境和游戏规则中的重要内容,所以基于“时间”的引擎突破性或许和物理引擎是类似的。
物理引擎:物体1攻击物体2造成了x点伤害;
化学引擎:物体1和物体2产生的化学反应可以对物体3造成x点伤害;
时间引擎:物体1在物体2的条件下,经过了x段时间,如果y1情况没有发生,但y2发生了两次,那么对物体3造成x点伤害。
时间引擎能被很好地用于各种模拟游戏中,例如在公会战争来临前向邻国借兵,或者租借一块土地进行生产种植,收获后自动将一部分归还给土地所有者。
然而,游戏是反人类的艺术。
时间引擎的概念虽然很有意思,也能解决颇多存在于目前SLG当中的玩家矛盾,但与跟传统游戏设计师交流之后,我们都一致认为人治成为一种游戏机制不一定会对游戏产生积极的影响。
信守承诺或约束机制其实相当容易实现,但设计师故意不设计类似的监督功能,目的就是为了强化社交。所有的监督都要由集体的领导者通过外部的社交来执行,而不是在游戏中直接完成。恰恰因为机制的不完善,更容易出现矛盾和争端,反而容易创建社交场景,活跃玩家社区。
所以,我会先把时间引擎的构想放在这里,等学有余力(干活有余力)的时候再来思考这个创新对电子游戏行业是否起到了真正的作用,又抑或只是一小部分人的狂欢。
Last but not least, 如果你也对这个主题感兴趣,想要一起头脑风暴或者分享更多新点子,随时欢迎在Twitter DM @0xAikoDai (https://twitter.com/0xAikoDai)。