矛盾与规则的结算

作者:茶多酚
2019-05-29
12 5 0

引言

规则的制定者往往很难完全看清楚自己所指定的规则的全貌,更别提将其精确而又完备地描述出来。

最典型的例子,就是“以子之矛攻子之盾”,桌面游戏如果有“无敌的矛”和“无敌的盾”,玩家们一定会产生争议。

电子游戏会以既定的程序来处理所有的规则问题,一定会有确定的结果(包括以一定规则进行随机,也是确定的结果),由于程序处理的确定规则的存在,这些误解倒也并不会引起争议。但也常常会出现“实际执行的规则”和“玩家理解的规则”乃至“作者设想的规则”存在冲突的情况。如果处理好这些冲突,是设计系统复杂的游戏的时候必须要考虑的。

矛与盾的层级

很多游戏里,装备上会有“提升 5 点攻击”和“提升 10% 攻击力”之类的描述。他们放在一起的时候就有可能会让玩家不知道到底怎么算的,不过具体的攻击力数值通常都会显示出来,玩家也懒得去管这个数值是怎么算出来的。

有些游戏会描述为“基础攻击力”以避开叠加的问题,不过还是有很多游戏里面会把其他装备/特技/增益提升的攻击力进一步按比例加成,这样先计算数值变化,然后再计算比例变化的情况。数值和比例的变化就分属不同的层级。

在程序中,不需要刻意划分层级,数值的计算也会按照确定的顺序自上而下。但是如果没有确定的层级,就可能会出现矛 A 的 5 点攻击力加在矛 B 的 10% 攻击力之前,而矛 C 的 5 点攻击力加在之后。使得 A 和 C 差了 0.5 的攻击力,而他们的文本描述却是一样的。

比如说有人装了两只矛(本来觉得这个例子挺奇怪的,后来想想这样的游戏不但有而且很火),效果分别是。

“装备者的攻击力等于 15”

“装备者的攻击力等于 20”

    

“装备者的攻击力等于 15”和“装备者的攻击力等于 20”这样的效应非常罕见,他们放在一起的时候的后果显然是矛盾的,而根据程序实现方式的不同,会有不同的结果,有的会主动判定优先级,谁大(小)算谁的/谁稀有度高算谁的。

也有很多是按照存放装备数据的数据结构依次判定每个装备的效应。决定装备效应结算顺序的方式有很多,或是按照装备栏顺序走或以主装备栏位为准,可能是后装备的排在后面生效,可能是根据固定的装备栏位走,也可能在数据结构里按某种规则进行排序。

将攻击力设为 15 和 20 的效应只能有一个生效,根据不同的实现方式,会有不同的表现形式,如果程序没办法准确地实现规则的描述,无法得到按规则文本想要的结果,可以考虑一下按照程序修改规则的描述,这样可能比较方便。

角色本身数值/将数值设成某个特定值/增减一定的量/增减一定的比例。同样的效应放在一起,确保一类效应结算完成后再结算层级更低的效应。需要注意的是层级低有时候因为后结算,会产生更大的影响力,请确保因此而产生的效果是理想的。

常识与特色

由于游戏的同质化,或者说得好听点叫趋同进化,很多游戏的规则都是不言自明的。基础的规则已经成为了玩家心中的“常识”,好好运用这些常识,能够省下不少描述规则的麻烦。  

而很多游戏也有自己的特色,会有一些专有名词,这些专有名词又可以简单地分为三类:

  1. 新玩家看不懂是啥的
  2. 新玩家看得懂是啥的
  3. 新玩家以为自己看懂了但其实没看懂是啥的

使用一些被普遍使用的名词或者符号可以让玩家很容易理解,虽然伤害算法不同,但玩家都知道“攻击力”越高造成的伤害越高,“防御力”越高受到的伤害越低。

笔者之前做的游戏 Dog Jam 因为题材比较偏门,不得不使用专有名词,“设计”,“实现”和“构思”大家都知道是什么意思,但是放在游戏里就非常不直观,玩家很难理解到底是什么意思。如果是“技能/招式”,“怪物”,“生命值”之类的词汇,玩家就很容易理解“技能”用来打“怪物”以降低“生命值”,“生命值”归零会“死亡”。而对于“对着‘构思’使用‘设计’以提高‘实现’”就比较难以理解了。

很多游戏当中都有一些关键字,老玩家只需要看到词就知道意思,而新人则会看得云里雾里。

比如万智牌刚出的这张牌。

完全可以只写“倾曳追溯”四个字就够了,但是还是为这两个关键字加上了注释。毕竟新手根本不可能知道倾曳(Cascade)和追溯(Retrace)到底是什么东西。

不过这种完全不知道是啥意思的词,玩家反而相对比较容易去理解全貌,会认真阅读说明。使用常见的名词,但在某些地方又有些特殊,则可能让玩家陷入更大的迷茫之中。

例如防御力,不同的游戏里会有“按比例减伤”“定量减伤”的做法,但是有个游戏里“防御力”是“使用防御指令的效果”,如果玩家不做出防御动作则完全没有效果。

这种设计本身也不坏,但因为这个游戏的其他方面都太过常规了,以至于玩家根本不会用心去研究游戏的规则,加上这游戏里“防御力”高的角色“生命值”也高,以至于笔者通关了都没发现防御力不是那么用的。

如果它的“防御力”不叫“防御力”,而是起了一个专有名词“XX 力”或者是和常见用法稍有区别的“防护力”之类的名字,玩家就更容易留心这项数值的具体效果,而不是像看到“防御力”时一样想当然。

使用“常识”可以省下介绍规则的功夫,而在展现特色的时候,请注意“常识”是否会让玩家对你的特色产生误解。

恶魔城使用“心”来作为使用副武器的能量而不是回复生命值的道具,现在的玩家很容易产生困惑。即使是恶魔城诞生的 1989 年,电子游戏的少年期,玩家们也对此感到不能理解。这个设定倒是一直流传了下来,成为了恶魔城的一个特色(也是因为根本没什么别的游戏这么做)。

无敌只是个词

矛盾的故事里,盾的描述是“物莫能陷之”,矛的描述是“于物无不陷也”。在很多桌游中,都有“不能大于能”这样的规则,例如万智牌里,矛的“消灭”是消灭不了盾的“不灭”的。

“什么都能穿透”穿透不了“不能被穿透”,听上去的确是挺别扭的。而这别扭的来源,就是“无不”这种远称不上严谨的描述。

在规则的设计上,应该避免“什么都能”这种描述。设计了"什么都能穿透的矛",意味着“不能被穿透的东西”就不能出现。这就成了设计师需要自己进行规避的东西,而非能够交由规则本身进行处理。

“无敌”这个词因为比较常用,大家也不会纠结于“无敌”有些情况下还是会出岔子,比如平台跳跃游戏无敌状态下还是会掉进坑里摔死之类的。一切形式的“无敌”总会有办法对付,除非设计师主动避开所有能够触碰无敌的东西。

如果平台跳跃游戏,所有可能拿到无敌状态的地方,在无敌时间结束之前玩家都找不到坑,或者其他可以杀死无敌的手段,那么无敌就会成为真的无敌。如果游戏中所有的盾牌都会被某把枪穿透,那把枪就是真的“于物无不陷也”,虽然游戏的扩展性可能会出些问题,但是……毕竟,“无敌”“什么都能穿透”“绝对不会死”这种描述,真的用起来还是很有表现力的。   

这些描述可能看上去含混不清模棱两可,但是作为“游戏文本”来说他们很可能更加优秀。可以有更多有趣的描述,玩家有时也愿意享受“无敌”这个词的霸气,以及在矛的背景叙述里放“不知道它和那面盾碰上会怎么样”的冷笑话。

不是所有玩家都喜欢阅读比课本还复杂的游戏规则的。就像恶魔城,再迟钝的玩家也能很快理解心不是回血而是用来使用武器的。玩家从尝试中理解规则的能力是很强的。