原子对象系统:用于可组合性物体制作的自平衡机制

作者:opnpc@Downstream;编译:MetaCat

原子对象系统是一种设计模式,允许创建新颖且可组合的对象,同时保持世界的整体平衡。世界中的每个对象都由一小组基本粒子组成,其特性或统计数据继承自这些组成原子。与由设计师指定对象的传统游戏世界不同,这些世界的居民可以创建具有新属性的全新对象。

动机(Motivation)

游戏世界中通常都会有一组规定的物品,因为设计师需要优先考虑玩家的乐趣而不是玩家的自主性。为玩家提供可靠的有趣体验需要平衡各种系统,以确保他们能够在正确的时间获得正确的物品。强大或有价值的物品通常需要花费大量金钱才能获得,或者被技能树和升级路径所限制,以防游戏玩法不平衡。游戏设计师精心调整这些系统,以优化玩家体验并保持挑战感和奖励感。

这在多人游戏中尤其困难。单人游戏可以根据玩家的个人进度和技能进行调整,悄悄地改变游戏世界的规则,但多人游戏无法轻易改变一个玩家的现实,而不会让另一个玩家感到沮丧。一个玩家可以跨能力水平互动的共享空间,需要更接近正常运转的经济系统,而这在历史上一直很难实现。让玩家能够在没有适当限制的情况下创造新物品,可能会导致大量物品“破坏”其他玩家的游戏体验,甚至破坏他们自己的游戏体验。

自治世界的部分吸引力在于,居民可以自由地共同设计、建造和设计全新的东西。为了实现这一点,我们不能依赖游戏设计师,在新物体添加到世界时仔细改进机制。手动平衡系统成本高昂,随着新物体添加到世界,测试物体之间交互的成本会成倍增加。相反,自治世界依赖于明确的叙事规则或数字物理法则,这些规则限定了世界中物理法则上可能发生的事情,并定义了它可以扩展的条件。良好的数字物理法则应该能够提供各种可能的对象,而无需游戏设计师手动平衡每个对象。

“原子物体系统”(Atomic Object System)是一种数字物理形式,它提供了一种易于理解且可自我平衡的可组合性机制。玩家可以自由发明他们想要的任何功率级别的新物体,但他们必须首先通过摧毁现有物体来获取所需的原子。通过将基本原子视为构建块,玩家可以发明超出硬编码制作树限制的物体。同时,在游戏世界中获取这些原子所需的努力,通过施加与所创建物体的复杂性成比例的成本来保持平衡。

机制(Mechanics)

我们在开发 Downstream 时构思了原子对象系统。游戏由玩家控制的单位(units)组成,这些单位生活在六边形平铺地图上,每个状态变化都是一个链上交易。单位使用建筑物来制作物品,每个物品由一组特定的基本粒子组成,由不同颜色的粘性物表示。玩家首先收集粘性物,使用建筑物基于该粘性物中制作新物品,然后使用这些物品来加强他们的单位,与其他人交易,并设计新的游戏模式。

基本制作流程包括:

  • 从提取器中收集粘性物质。

  • 使用建筑物来制作物品。

  • 将物品添加到玩家的库存中。

提取器的功能相当于粘性物的水龙头。它们会分配基本物品:完全由纯红色、蓝色或绿色粘液组成的液滴。

建筑允许进行制作,将多个物品作为输入,以便输出由粘性物质组成的新物品。不同类型的建筑与不同的制作配方和输出物品相关联。一些粘性物质在制作过程中作为一种吸收剂被烧毁

物品最常见的用途是提升单位的属性,物品中粘性原子的数量决定了属性提升的类型和数量。红色粘性增加力量,蓝色粘性增加防御力,绿色粘性增加生命力。例如,一件好武器会有很多红色原子。一个好的盾牌需要很多蓝色原子。只要单位拥有所需的资源,一个平衡的物品就可以同时拥有这三种属性。

玩家还可以使用“建筑制造机”建造新建筑,进而生产新物品:

  • 使用新的制作配方设计 buildingKind。

  • buildingKind 部署为智能合约。

  • buildingKind 在地图上构建该实例。

使用他们的新建筑来制作全新的物品。

物品不需要独特的原子构成。也许你的朋友已经拥有一栋建筑,可以用 100 个单位的红色粘性物质制造出雷神之锤。没有什么可以阻止你建造一栋新建筑,输出一种新物品,圣剑,也是用 100 个单位的红色粘性物质制成的,这些物品在战斗中的作用相同。

制作配方还可以将任何玩家制作的物品作为原料。这样就可以开发广泛的科技树。如果你有 10 把雷神之锤和 10 把圣剑,你可以创建一个新的,以buildingKind 为它们的输入,并吐出一把超强大的锤剑。

合约(Contracts)

Downstream 使用节点图架构,将所有实体(玩家、建筑物等)表示为具有自己地址的合约,将物品表示为 ERC-1155,并带有名称和余额,可将其分配给这些实体地址。每个对象的基本原子组成都被编码为元数据,允许制作合约检查所需的组成材料。

当创建新的建筑 buildingKind 及其随附的制作配方和输出项目时,建筑制造商会生成三个文件:

  • NewBuilding.yaml:清单,包含建筑物和物品的参数。

  • NewBuilding.js:建筑 UI,在游戏中点击建筑实例时调用,控制显示的 html 和按钮。

  • NewBuilding.sol:链上逻辑,实现 BuildingKind 接口的 Solidity 合约,可以代表建筑物调度操作。

基本工厂(Basic Factory)和鸡尾酒小屋 (Cocktail Hut)可能是 Downstream中最易读的例子。

应用(Applications)

目前,虚拟世界可组合性系统最广泛的应用是游戏中的制作机制。自主世界在游戏化程度方面各不相同,我们可以想象一个没有固定游戏目标的世界,在那里,居民仍然可以从允许创造新类型物体的系统中受益。然而,值得注意的是,许多具有制作机制的游戏已经区分了游戏和生活世界之间的区别。

提供类似功能的游戏类型的显著例子包括:

  • 类似 Minecraft 和 Terraria 的生存沙盒游戏

  • 以农场为主题的生活模拟游戏,例如《动物之森》和《星露谷》

  • 类似 Factorio 和 RimWorld 的工厂或殖民地管理模拟游戏

  • 魔兽世界和 EVE Online 等 MMORPG

许多其他游戏都将制作作为特定子系统的一部分,例如《辐射》或《龙腾世纪》中的武器制作,以及《塞尔达传说:荒野之息》或《东方向往》中的烹饪机制。

备选方案(Alternatives)

这种设计模式有许多替代方案,主要区别在于它们对数字物理法则的处理方式。世界的设计者必须考虑他们需要什么复杂程度的数字物理法则。更深层次、底层或“细粒度”的数字物理法则更像世界,牺牲可用性和即时性,以优先考虑可在其上构建的内容的多样性和复杂性。更浅层次、高级或“粗粒度”的数字物理更像游戏,牺牲多样性和复杂性,以优先考虑可在其上构建的内容的可用性和即时性。

一方面,世界可以拥有更多底层或细粒度的数字物理法则,倾向于模拟和涌现。例如, Tenet 的 Zuse “世界计算机”赋予物体局部性,从而可以引入传播因果关系的系统。这种系统更复杂且更难访问,但可以实现更丰富的模拟和更深入的工程机会。

另一方面,一个世界可以拥有更高级或更粗粒度的数字物理,更倾向于真实感和沉浸感。例如,《Moving Castle》的《This Cursed Machine》就具有输入和输出的组件的概念,这些组件可以构建成“可组合电路”,并用作更大世界的构建块。这种系统更具主观性,灵活性可能较低,但可以实现更丰富的世界构建,并更专注于游戏玩法。

扩展和未来的工作

扩展系统的一种方法是增加原子类型。Downstream 中的原子对象系统目前有三种原子类型,但我们计划至少再添加两三种。John Carmack 谈到,在 Doom 和 Minecraft 等游戏中,模组的持续流行源于足够的“图灵完备设计自由度”。我们还不知道需要多少原子才能实现“图灵完备设计空间”。我们很容易想到整个元素周期表有更多类型,但我们怀疑这种复杂性的系统在实践中会很笨重。

另一种可能性是原子不仅仅影响战斗数据。这在理论上已经是可能的,因为玩家可以使用自定义逻辑创建建筑物和组件,以不同的方式利用原子值。建筑物可能需要玩家携带带有 100 多个红色原子的物品才能看到其制作配方。但如果不添加可以真正与原子系统挂钩的额外玩家动作和特征,这似乎没有什么吸引力。一旦我们有了控制移动速度或 RPG 式技能获取的数字物理法则,也许会有更多令人兴奋的互动值得考虑。

By zhinian

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注