资源描述:
《新手数值学习心得——公式是怎样炼成的、mmo游戏数值建》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、新手数值学习心得——公式是怎样炼成的、MMO游戏数值建模-明澈流风-V1.0、MMO游戏数值框架概述(偏模拟方向)——归纳,总结,疑问!一伤害判定逻辑与平均伤害伤害判定逻辑是游戏如何确定玩家某一行为的结果的计算,举个例子,玩家操作角色攻击怪物,是出现未命中、闪避、暴击还是别的情况(具体有哪些每种游戏都不同),平均伤害则是在该逻辑模型下计算出伤害的期望值。伤害判定逻辑通常采用两种模型,瀑布概率模型与圆桌概率模型。瀑布模型会按照优先级的顺序对每种情况进行独立判断,而圆桌概率模型则将所有情况放在一起,只进行一次判断。这两
2、种概率算法各有各的适用范畴。瀑布概率适合各概率间相互影响较小,概率发生有先后优先级顺序的概率系统;圆桌概率适合各概率间相互影响较大,各概率间无次序或重量均等的概率系统。下面通过一个例子对两种模型下进行平均伤害的计算,观察其中的不同。设一个角色跟怪物对战,单次攻击的结果有如下情形:攻击未命中、怪物闪避、怪物招架、命中并且出现暴击,攻击命中造成普通伤害,设攻击的未命中率=a,闪避率=b,招架率=c,暴击率=d,暴击伤害为普通攻击伤害的一倍,普通攻击伤害=D,招架与闪避都不会造成伤害。瀑布模型下的判定优先级为,未命中->
3、闪避->格挡->暴击->普攻。单次攻击伤害的期望如下:平均伤害=(1-a)*(1-b)*(1-c)*d*2*D+(1-a)*(1-b)*(1-c)*(1-d)*D=>平均伤害=(1-a)*(1-b)*(1-c)*(1+d)*D在圆桌模型下的各种情况判定优先级相同,单次攻击伤害的期望如下:平均伤害=d*D*2+(1-a-b-c-d)*D=>平均伤害=D*(1-a-b-c+d)可以看出在不同的判定模型下,游戏的平均伤害计算结果是不同的。许多游戏在设计数值时,都会采用“生存时间”来测算角色的战斗力强弱,根据“生存时间”引
4、申出有效生命与有效攻击两个概念。生存时间=有效生命(EHP)有效攻击(EDPS)公式(1)EHP可以表示一切防御类型的属性带来的效果集合,EDPS可以表示一切攻击类属性带来的效果集合,读过青木公的《公式是怎样炼成》文的都应该对此不陌生,在文中青木公用了如下公式:EHP=MHP1-总减伤比例×1-闪避价值×总闪避率-招架价值×总招架率公式(2)EDPS=DPS×暴击价值×总暴击率+命中价值×总命中率公式(3)青木公通篇强调了采用圆桌模型作为游戏的伤害判定逻辑模型,通过有效生命与有效攻击来推导公式中的各个常数参数,但是
5、青木公随后的文档更新中否定了这一推导:20110831Version1.2重要更新:作者最近在整理自己现在项目(猎天)的战斗公式,彻底改用了圆桌机制来计算各种率值.在整理的过程中,发现了文档模型思路存在一个大错误,以及极大的不完美.错误在于,我在原文中提到,文档中的模型是圆桌模型.这里大错特错了,文档中所调用的实际上是一个"先ROLL命中与暴击",然后ROLL"闪避招架"的模型.这真的不是圆桌模型......我错了.作者自己也记不清为啥当时会称之为圆桌模型了......下面我们青木公重新推导验证一下:结合公式(1)
6、、公式(2)、公式(3)推导如下:EHP1-总减伤比=生存时间×DPS×(命中率×命中价值+暴击价值×总暴击率)×(1-闪避价值×闪避率-招架价值×招架率)公式(4)在将我们在开头举得例子采用先ROLL命中与暴击,在ROLL闪避与招架这种混合了圆桌模型与瀑布模型的判定方式来计算平均伤害:平均伤害=d×(1-b-c)×2×D+(1-a-d)×(1-b-c)×D=>平均伤害=(1-b-c)×(1-a+d)×D将未命中率=a,命中率=1-a,带入上述公式中,使用中文表达为:平均伤害=伤害*(命中率+暴击率)*(1-闪避率
7、-招架率)公式(5)比较公式(5)与公式(4),发现其表达是一致的,由此可见,《公式是怎样炼成的》中的推导采用的战斗伤害判定模型是瀑布模型与圆桌模型的混合使用,并非纯粹的采用圆桌模型的算法。那么我们是否可以得出一个简单的结论:当项目的数值设计采用的有效生命(EHP)与有效伤害(EDPS)来推导公式中的各个系数与对应属性的价值时,那么这个模型从原理上来讲就不会是纯粹意义上的圆桌模型!青木公在随后的更新中也提到了这一点,但是没有给出具体的解决方案,而是给出了一个大概思路:在圆桌模型下,EDPS和EHP抽象不出来了...
8、...现在的EDPS里面需要考察对方的防御,EHP里面需要考察对方的攻击.所以作者自己又修改了模型,在此给一个新的计算各种属性价值的思路:1.使用生存时间作为关键值(这是核心改变)生存时间=MHP*f(攻强,暴击,命中,护甲,招架,闪避)2.如上所示,我以MHP属性作为价值标准3.求攻击类属性(攻强,暴击,命中)的A值公式变形为MHP=生存时间/f(攻强,暴