一个关于游戏设计的误区:属性的换算问题分析
在游戏设计领域,关于游戏属性价值的计算,不少人习惯用游戏币来衡量。但首先需要明确的是,属性和金钱是两个不同的概念。玩家花钱购买的是游戏体验,而非单纯的属性。属性的主要作用是为玩家带来成长体验,它与金钱之间并没有必然的联系。不过,当属性成长所带来的体验达到玩家的固定预期时,属性在一定程度上可以等同于金钱,具体的等价数值则取决于玩家的消费能力、玩家群体规模等因素。
金钱和在线时间在某种意义上是可以划等号的。当把游戏过程视为一种劳动时(尽管我并不认同这种观点,但有些玩家会这么认为),这种等价关系就更为明显。
接下来,重点探讨属性和游戏币之间的关系。由于属性和游戏币都是游戏数值设计体系的一部分,所以它们是可以相互挂钩的。
属性价值的赋予
1 点属性的价值,原则上是由战斗规则和战斗公式决定的。在属性上下限的投放规则下,也可以由投放规则来赋予。
以魔兽世界(WOW)中的护甲属性为例,在其乘法伤害公式下,1 点护甲实际上可以转化为一定数量的有效血量。具体公式如下:
- 免伤率% = 护甲 / (护甲 + k),其中 k 是一个与标准血量成长成正比的函数。
- 有效血量 = 实际血量 / (1 - 免伤率%) = 实际血量 + 实际血量 * 护甲 / k。
- 所以,△有效血量 = 实际血量 * 护甲 / k。
从上述公式可以看出,最后 1 点护甲所带来的效果,实际上是增加了一定数量的有效血量。因为实际血量和 k 在计算过程中是可约的。
根据标准战斗时间和标准模型 HP = dam * t,可以得知 1 点护甲对战斗时长的实际影响。属性的数值意义就在于对战斗时间产生影响。理论上,只要不同属性对战斗时间的影响相同,那么它们就是等价的。
加减法公式下的属性价值平衡问题
在加减法公式中,由于存在边际效应问题,1 点攻击对战斗时间的影响是不确定的。例如:
- 角色 a:攻击力(atk)为 10,生命值(hp)为 100。
- 角色 b:攻击力(atk)为 20,生命值(hp)为 50。
a 和 b 在数值上是平衡的。但当分别为 a 和 b 各增加 1 点攻击时,它们对战斗时间的影响却不同。
- 角色 b 的战斗时间:50 / 11 ≈ 4.54。
- 角色 a 的战斗时间:100 / 21 ≈ 4.76。
结果显示,同样增加 1 点攻击,角色 a 的战斗时间更长,即 a 在这种情况下更具优势。
因此,在加减法公式中进行属性价值平衡,只能采用上下限的方法。也就是说,在游戏设计之初,就需要设定好人物在达到 n 级时,生命值(hp)和攻击力(atk)的最大值和最小值,并且它们的投放要成比例。例如,当人物达到 30 级时,最多投放 100 点生命值,20 点攻击力(假设控制战斗时间为 5),那么在这个阶段,1 点攻击力就相当于 5 点生命值。此时,需要从整体角色平衡的角度来考虑问题。由于加减法平衡本身就具有一定难度,自由加点的加减法平衡则更具挑战性。
游戏币与属性的挂钩
游戏币与属性之间的挂钩是通过时间来实现的。在相同的一段时间内,玩家在游戏中既可以获得游戏币,也可以获得带有属性的装备。它们之间的性价比实际上是由游戏数值设定的,这就导致了不同成长途径在性价比上存在差异。而这种成长途径的性价比差异,也是玩家选择成长途径的重要判断依据之一。