属性数值设定过程(二)——属性价值模型

发表于2018-03-02
评论5 1.32w浏览

属性价值模型是整个战斗平衡的基础,应该怎么一步步去建立这个模型呢?


1.确定核心体验

确定核心体验是建立属性价值模型的第一步,但是,究竟什么样的体验才是核心体验呢?是单纯的标准战斗时长吗?是的,这个很重要,但不是全部,要做好战斗,核心体验必须要细化,不同的游戏类型会有不同体验要求,设计者不但要对此有概念,而且要有经验,因为你需要知道玩家会重视什么,而且这种体验要怎么样才算好,这要求设计者对战斗有更深层的认识。

例如: Q5项目英雄要放技能,那么怎么样放技能体验才算好呢?

在炉石,我一个N费随从,比N-1费能优胜多少?

在Q1,总体战斗时长是核心节奏,但玩家其实更关心的还有自身职业的情况,例如我作为输出职业,我关注的是输出能力,那么我能多少回合锤死敌人? 这些与角色属性成长相关的体验,都是需要在一开始定义出来的。

所以体验游戏是很重要的,就算你知道怎么做,但你可能没有相关体验。

2.战斗时间——伤害与生存能力的桥梁

在角色能力中,伤害能力(Dps)和生存能力(cHp,这里值有效生命,而不是单纯生命属性)是两个完全不同的能力,他们严格来说是无法等价的。但由于我们对战斗的时间有特殊的需求,因此,可以通过时间将两种能力建立一个恒等关系:

cHp=Dps*T

这条公式的恒等逻辑显然易见。而属性的存在,最终都会转化为cHp和Dps的变化值,即 ∆cHp和∆Dps,而在恒等式里,不管是cHp变化或者Dps变化,最后都会引发T的变化,即 cHp+∆Hp=Dps*(T+∆T) cHp=(Dps+∆Dps)*(T-∆T)

为了保证我们战斗时间的恒定,我们会认为,对于造成相同的∆T变化的∆Hp与∆Dps,是等价的,他们的追求成本应该是一致。也就是说,导致相同的∆Hp的属性变化,是等价的,导致相同的∆Dps的属性变化,也是等价的。这就是属性价值模型的基础。

归根结底,属性成长的出现更多是内容消费的需求,不是游戏本质的需求。属性在不停成长,但我们要保证游戏体验不变,所以才会有这个恒等式。

3.公式体系的选择——属性效用的定义和连接器

属性的效用是建立于公式体系上,没有公式,属性价值无从说起。公式体系定义了各种属性的效用,也是通过公式体系,将所有的属性链接起来。公式体系包括伤害公式和一连串的配套公式,核心是伤害公式。在一般的RPG游戏设计中,流行着两种伤害公式形式:减法公式和乘法公式。要理解一点的是,公式是一种实现设计需求的工具,形式固然可以变化,但减法公式和乘法公式经过多年的验证和沉淀,有着其非常丰富的内涵。我们需要深刻理解两种伤害公式的特性和其适用范围,在理解的前提,再根据自身项目特点进行再修改。

减法公式特性:理解门槛低,可见性强,数字量级越小边界效应越强,外挂系数麻烦,有不破防问题,较强烈的属性获得感

适用情景:小数值量级,回合制(离散过程),注重htk的战斗,较固化的攻防投放

乘法公式特性:理解门槛较高,可见性差,没有边际效应,攻防效用稳定,外挂系数方便,无不破防问题。 属性获得感较弱

适用情景:全数值量级,即时制(连续过程),注重战斗时间的战斗,较灵活的属性投放,强调属性累积

根据项目的具体情况选择合适的公式体系,根据具体需求对公式进行调整


4.减法公式下,属性的效用计算

根据我们前面所说,当确定了战斗时间T和战斗公式后,我们就可以根据恒等式cHp=Dps*T来确定具体属性的效用。

例如在减法公式里

可以看到,1点Hp和1/T点Def的效用是绝对等价的,可以合并为cHp,最后还原为cHp=Atk*T,1点Atk对T的影响为:

所以,正常来说,1点Hp的效用与1/T点Def等价,1点Atk的效用与T点cHp等价,貌似没啥问题,但当你外挂一个系数时,

麻烦来了,任何一个系数都会跟着Def,不管这个系数是不是防御属性。例如如果有技能系数s,那么就会有

自身的有效血量会被一个敌人的攻击属性挂钩,意味着敌方的攻击越强,你的有效生命会越高。这是很麻烦的事情,意味着你很难去量化Def的效用。

解决方案:

a.固化属性投放。让Def=aAtk,那么公式将会成为Hp=(1-a)Atk*T*r,在连乘的公式下,cHp和Dps都非常好定义。

b.将公式改为Hp=((Atk+a1+a2)*a3*a4-(Def+d1+d2)*d3*d4)*T,但这个公式从体验层面是不行的,比较违背常规认知,而且这样做了公式的可见性明显就差了。但如果游戏没有命中闪避,只有暴击,还真有游戏这么做。有些游戏暴击或使用技能可以破防,就是用的这类型的公式。

c.用乘法公式


5.乘法公式下,属性的效用计算

在减法公式的一些缺陷下,乘法公式是如何做的呢?为什么会出现A/(A+k)这种公式类型?

可以看到,1点Hp和1/a点Def的效用时绝对等价的,可以合并为cHp,最后还原为cHp=Atk*T,1点Atk对T的影响为:

所以,在乘法公式下,1点Hp的效用与1/a点Def等价,1点Atk的效用与T点Hp等价。而且乘法公式本身就是连乘结构,理论上每个属性都互相独立,cHp和Dps都很好定义。由于A/(A+1)的结构,cHp最后都会最后都会转化成Hp+a*Def+b*Dodge+c*Parry(想想魔兽为何有圆桌机制的说法)


对于其他属性,也可以先假定其他属性和∆T不变的情况下,求得其效用(注意,属性效用,价值和属性投放权重都不是一个东西,虽然他们有关系)。


6.A/(A+K)形式的特点

a.由于K是成长的,根据A/(A+K)的形式,要保持在某个百分需要越来越多的A,这个对挖坑非常有利,也就是你可以投放越来越多的属性,却不用担心影响节奏。

b.有上限,A/(A+K)是无限趋近于某个值的。

c.K的计算可选择自身等级或对方等级,以实现不同的设计目的。

d.如果要实现生存能力的差异,需要设计几种投放曲线,例如魔兽分布甲皮甲锁甲板甲,装备的基础护甲不算入属性池,只是为了实现不同的生存能力差异。嗯,暗黑三设计师更省事一点,他们直接固化到角色特色上了,这样他们的装备护甲就不需要有多套数值了。


7.战斗力——给玩家看的战斗力和实际战斗力

战斗力是我们耳熟能详的设定。但要说明一下,我们一般说的战斗力,实质是一个服务于玩家自评和攀比的系统,为了符合直觉,给玩家看的战斗力一般是累加型公式(其实就是一般就是属性量*属性权重之和了,这里的属性权重更多是考虑投放角度的),不管你什么属性涨了,战斗力都会涨,但从我们上面说的定义,战斗力应该是f(自身cHp/标准Dps*自身Dps)的形式,生存能力和输出能力是相乘关系,而不是相加关系。为什么是这样呢,我们不妨用一个极端情况去假设,假如战斗力是生存能力和输出的相加关系,那么0攻N血的角色是否拥有战斗力呢?很明显,是没有战斗力的,除非他带嘲讽或一些其他效果,如果他带嘲讽,那么实质是增加了队友的生存能力,可以用他为队友增加的战斗力去计算其真实战斗力。


在这里,我们不妨用炉石卡牌去说明一下。炉石白板随从有其身材标准,和很多人想的一样,3费标准的身材是攻+血=7,但事实上,不会总是这样,如果出现0/7身板的白板,他必然是个废卡,1/6和2/5基本上也挺废的,对于这些卡,大部分人的想法是必须配个嘲讽的贴片才能用。为什么呢?因为一张白板随从卡的强度,其实是看他在能放上场的时期能提供多少点伤害,也就说,1个3/4的,按在2,3费时期,随从的平均攻击大概是3.5攻,也就是一个4血的随从大几率能站2回合的,因此他大概率能提供6点伤害,反正会比4/3要好点,更加不用说1/6啊,2/5啊甚至6/1这种垃圾身材了。


下一章

属性数值设定过程(三)——属性规划和投放

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引