橘汁仙剑网

标题: 【研究】仙三五灵仙术伤害均值公式 [打印本页]

作者: 橘汁    时间: 2008-4-22 16:52
标题: 【研究】仙三五灵仙术伤害均值公式
作者: 纤菱飞絮

一直以来,关于仙术伤害的问题都缺乏系统研究,争议很大,诸如星沉地动、举火燎天、烈焰燃雷哪个伤害更大大家也是各执己见,其实造成大家结果不同的原因是并不是仙术类型本身,而是一些其它因素(人物等级、阵形站位)的区别。此外由于伤害带有随机的波动也给研究带来了很大困难,我们只能退而求其次,研究伤害的平均值。(能研究出分布当然更好,但至少要明确均值)  

本来这样需要大量的样本支持,而且结果也未必精确,但本文另辟蹊径,推导出了仙三中五灵仙术伤害均值的精确公式(外传是不同的,但也可以用此法研究)。

我可以很负责的告诉你,仙三中五灵仙术伤害均值只和人物等级、仙术类型、阵形站位有关,其它诸如五灵属性,使用人物,敌人类型,武防速运之类均已被排除。

再次强调:问情篇里是不同的,本文所有结论只保证对仙三有效。(问情篇99级星沉地动平均伤害也只有1100左右,而且至少有战场环境和朱仙变两个额外因素的影响)

如果你只想知道粗略的结论(有误差,缺少取整过程,但精确公式较复杂,这个对一般的应用已经完全足够),只要看下面这个就行了,后面会给出推导过程和精确公式的算法。
作者: 橘汁    时间: 2008-4-22 16:52
简化公式:

仙术伤害=|人物等级+20| ×仙术类型系数×阵形站位系数×随机因子

1.|x| 表示x的绝对值

2.仙术类型系数(精确值)

炎咒,风咒,冰咒,土咒--------------------1.25

雷咒---------------------------------------1.5

飞岩术,惊雷闪----------------------------2.75

三昧真火-------------------------------------3

风卷尘生-------------------------------------5

罡风惊天,炼狱火海,雷动九天-----------------6

雨恨云愁-----------------------------------6.5

流星火雨,泰山压顶,天雷空破,风雪冰天-------7

举火燎天,星沉地动,烈焰燃雷---------------7.5

3.阵形站位系数(精确值)

属性相同(如火系仙术站火位)-----------------1.5

属性被克(如雷系仙术站火位)-----------------0.5  

其它-----------------------------------------1

双系法术双属性都要考虑和站位的关系。

特别的,烈焰燃雷在火位,火属性相同,雷属性被克--0.75

4.随机因子

随机值,分布函数未知,但均值为1,范围约在0.9~1.1之间。
作者: 橘汁    时间: 2008-4-22 16:53
理论推导部分(较抽象,慎入)
作者: 橘汁    时间: 2008-4-22 16:53
一、基本因素的确定和公式的雏形

首先,要大量取样,考察固定其它因素时,有哪些因素会对伤害造成影响,这部分并没什么技巧可言,切记一点,样本数目要足够多,通过对样本分析发现:

1 仙术伤害是个随机值,在均值的0.9~1.1之间波动(尚未确定分布类型);

2 仙术伤害均值与人物等级成线形关系;

3 仙术伤害均值因仙术类型的不同而不同;

4仙术属性与站位相同时伤害均值为平时的1.5倍,被克时为平时的0.5倍;

5仙术伤害的分布与五灵属性,武防速运精气神,敌人属性等因素一概无关。

(第5条要注意,测定时固定其它所有因素,用修改器直接来改,否则因素一多会乱,比如说五灵属性,我就取了约15个值,包括上千的,也有1,2等,每个值测一些数据,结果没有发现任何关系。)

通过以上分析,知道仙术伤害均值与人物等级成线形关系,而随机因素,仙术类型,阵形站位的影响可以用因子的形式描述。那么公式的基本形式应该是:

仙术伤害=(人物等级-零点)×仙术类型系数×阵形站位系数×随机因子

(令随机因子的均值为1,则常数可以融入仙术类型系数)

下面要做的就是确定零点了:

实验发现,当人物等级为-20时仙术伤害为0,而在-19时和-21时都有伤害,可以确定-20为零点,还有一个发现,就是伤害均值关于-20级基本对称,也就是 -20-x 级和 -20+x 级伤害均值基本相同,所以这里要取绝对值,改进后公式:

仙术伤害=|人物等级+20| ×仙术类型系数×阵形站位系数×随机因子
作者: 橘汁    时间: 2008-4-22 16:53
二、仙术类型系数的测算

下面最关键的就是测出仙术类型系数了,通过大量取样能够得到,但未必精确,所以这里我们采用另一种方法,而把取样得到的值作为参考和验证。

以下测定是在阵形站位系数为1时测定的(为什么这样测,第三部分会有解释,这涉及计算过程的先后)

我测定了在-30~-10级时各仙术伤害范围(考虑随机),所有仙术只有9种情况(看前面的系数值你应该知道哪些是一类),每种只取一个作为代表(其它数据完全相同),分-19~-10和-21~-30两部分给出:

-19~-10级(仅列出需要部分)

炎咒 1 2 3 4 6 7 8 9 11 12

雷咒 1 2 4 5 7 8 10 11 13 14

飞岩术 2 5 8 10 13 15-17 18-20 20-22 23-25 25-29

三昧真火 2 5 8 11 14 ......

风卷尘生 4 9 14 18-20 23-25 ......

罡风惊天 5 11 16-18 22-24 27-31 ......

雨恨云愁 6 12 18-20 24-26 30-34 ......

流星火雨 6 13 19-21 25-29 32-36 ......

星沉地动 7 14 21-23 27-31 34-40 ......

-21~-30级(仅列出需要部分)

炎咒 1 2 3 5 6 7 8 10 11 12

雷咒 1 3 4 6 7 9 10 12 13 15

飞岩术 2 5 8 11 13 15-17 18-20 21-23 23-25 25-29

三昧真火 3 6 9 12 14-16 ......

风卷尘生 5 10 14-16 19-21 24-26 ......

罡风惊天 6 12 17-19 23-25 28-32 ......

雨恨云愁 6 13 18-20 24-28 30-34 ......

流星火雨 7 14 20-22 26-30 32-38 ......

星沉地动 7 14-16 21-23 28-32 34-40 ......

这里阵形站位是固定的,排除随机因素,考虑平均值,那么对每个特定的仙术,伤害均值总体随等级而线形变化,显然这里有一个取整的问题,原来的系数并非整数,乘以等级后再取整就得到上面数据,那么我们现在反其道而行之,根据上面的数据来推导原本的系数(游戏制作人员并没有必要选择非常怪异的系数,这是采用这一方法的想法来源)

取整无非三种情况:取上整,取下整,四舍五入,先不考虑两组数据为何有差异,考察-19~-10一组,无论采用哪种取整方法都是用正常系数解释不了的。(四舍五入用星沉地动排除,取下整炎咒没有“好”系数,见随后分析)

然而考察-19~-10一组,星沉地动仍可排除四舍五入,而这时取下整的情况就可以得到非常好的系数:

整数系数 三昧真火3 风卷尘生 5 罡风惊天 6 流星火雨 7

半整数系数 雷咒 1.5 雨恨云愁 6.5 星沉地动 7.5

四分之一整数系数 炎咒 1.25 飞岩术 2.75

所有数据(包括省略数据)完全支持了这一结论。

(与我从取样得到的系数比较,相差均不超过0.1,验证了这一结论)

那么此时再来看等级大于-20的情况,(细心的读者可能已经发现,-19~-10取下整能解释炎咒的系数比1.25略小,这意味着什么呢?)仔细观察两组中哪些数据不同,可以发现,当且仅当按上述系数~21-~-30中伤害均值原本取到整数时,-19~-10中对应的伤害均值小1。(这可能是由计算机浮点计算的舍入误差在取下整时导致的)数据完全支持了这样的分析,也就确定了精确的系数。
作者: 橘汁    时间: 2008-4-22 16:53
三、各个因子的计算顺序

到此为止,主要的计算方法已经确定,那么阵形站位因子和随机因子又是在何时计算的呢?

为此,先看一组数据(阵形因子为1.5时测定):

等级 -19 -18 -17 / -21 -22

炎咒 1 3 4 / 1 3

雷咒 1 3 6 / 1 4  

飞岩术 3 7 12 / 3 7  

三昧真火 3 7 12 / 4 9  

风卷尘生 6 13 21 / 7 15

罡风惊天 7 16 24-27 / 9 18  

雨恨云愁 9 18 27-30 / 9 19  

流星火雨 9 19 28-31 /10 21  

星沉地动 10 21 31-34 /10 21-24

结合这些数据的几个特点分析计算顺序:

1.对应前面阵形站位系数为1时的情况,此时数据均为原来的整数乘以1.5取下整。

2.大于20和小于20的两部分,有些差距不再是1,比如罡风惊天,-19和-21分别为7和9,也就是由5,6而来,这说明是原先已经取整后(两组取整不同),才乘1.5取下整。

(从此数据很难进行合理的解释,特别是两边差2的情况,所以阵形占位系数为1是更根本的情况)

3.与前面正好相反,范围往往呈现不对称(上下界差为奇数),范围上下界为原来上下界乘以1.5取下整。而原先上下界关于均值对称,说明进行随机波动是在原先取整之后。(否则应出现上下界差1情况)

4.有随机波动的伤害值,如星沉地动-17级,31-34中只出现31,33,34,不可能出现32,而原先取整后界为21-23,21对应31,22对应33,23对应34,所以随机波动是在乘以阵形站位系数之前进行的。(原先范围内所有伤害都可能出现)

5.阵形站位系数为0.5时,先乘0.5再取上整(这里就不给出数据了)

6.对于烈焰燃雷在火位的情况,要乘两个阵形站位因子,烈焰燃雷-17在火位16-17,原先21-23,直接乘0.75后15.75-17.25,取上整下整都不对,先乘0.5取上整的话最后为16-18,所以正确的计算过程是先乘1.5取下整,31-34再乘0.5取上整,得到16-17。
作者: 橘汁    时间: 2008-4-22 16:54
四、仙术伤害算法的归纳

由于过程较复杂,所以不是用公式表示,而是用自然语言给出其算法:

1.计算 (人物等级+20)×仙术类型系数 得到a;

2.如果a为正整数,a的值减1,b等于a的绝对值取下整;

3.将b乘以满足一定分布,范围在0.9~1.1以内的随机因子,并取整;  

4.如果仙术类型与站位属性相同, b乘以1.5取下整;

5.如果仙术类型被站位属性克制, b乘以0.5取上整;

最后的b即为仙术伤害。
作者: 橘汁    时间: 2008-4-22 16:55
到此推导过程就结束了,如果你仔细看懂了推导过程,就应该了解这一方法的可靠性了。实际上我最初研究的过程中由于疏忽错记了两个数据,而我用上述方法分析时推出矛盾,猜测那两个数据可能有误,再试验时果然发现那两个就是错记。

如果你仍然要验证的话,注意固定其它因素,并且样本数目要足够多,因为带有随机因子。而且,再次强调,外传是不一样的(如果有空我会再分析外传的公式)不过对于一般的应用,只要知道简化公式就足够了。

全文结束.
作者: 小六子    时间: 2008-4-22 17:22
这篇文章的作者好强啊!
作者: xianjian    时间: 2008-4-22 18:48
我晕。。这么厉害。。这样都能总结出。。
作者: 三思之后省    时间: 2008-4-23 21:22
好厉害!!!!!!!!!!!!:han :han :han :han :han :han :han
作者: 广陵隐月    时间: 2008-6-28 13:23
对取整的技巧很感兴趣
作者: 妖狐蝶裳    时间: 2008-7-4 20:43
能推出这东西的人绝对是牛人!




欢迎光临 橘汁仙剑网 (https://ojpal.com/) Powered by Discuz! X3.3