魔兽攻击力随机值分析
2007-09-21 12:29:16
神评论
17173 新闻导语
大家都知道,war3里面攻击力是有范围的,DH的闪避、BM的暴击等都是有概率的。所以在war3里,随时随地都是有随机事件发生的。但大家可能没注意过,攻击力的随机值是怎样产生的呢?是全范围内的等概率事件,还是如二项式曲线一样中间概率高、两边概率低?正确的答案是:中间的数值概率高,两
大家都知道,war3里面攻击力是有范围的,DH的闪避、BM的暴击等都是有概率的。所以在war3里,随时随地都是有随机事件发生的。但大家可能没注意过,攻击力的随机值是怎样产生的呢?是全范围内的等概率事件,还是如二项式曲线一样中间概率高、两边概率低? 正确的答案是:中间的数值概率高,两边的概率低。至于具体的分布概率,请看下面详解。
大家应该都看过魔兽的中文帮助,细心的朋友可能发现了,有些版本的帮助中,对攻击力的数值的表述不是一个由下限到上限的具体数字范围,而是用的类似这样一个式子:
A+BdC(其中ABC均为自然数)
比如0攻rm吧,用前一种表述方法就是18-24,而用后一种表述方法则为:16+2d4。有人可能会问了,这种表述方法是什么意思呢?
这其实表示,war3中攻击力的概率分布使用的是d&d色子系统。通俗一点的理解就是:任何兵种都是有一个基础攻击力数值A(比如rm就是16),B则代表色子数量(比如rm就是2),C则代表色子的面数(比如rm就是4,这里不一定是6啊,war3不是搓麻)。rm每攻击一次,系统就扔出两个4面的色子(色子扔出1-4的概率是相同的),假如扔出来的数值是2、4,那么这一次攻击的数值就是16+2+4=22。当然啦,当扔出的都是1时,就是最小值18,当都是4时,就是最大值24。
现在来研究一下攻击力分布概率的问题。继续拿0攻的rm举例,其他的兵种道理是一样的。
18(24):一种可能性1/10——1+1(4+4)
19(23):两种可能性2/10——1+2、2+1(3+4、4+3)
20(22):三种可能性3/10——1+3、2+2、3+1(2+4、3+3、4+2)
21:四种可能性4/10——1+4、2+3、3+2、4+1
可以看出来,越居中的数值随机出来的可能性越高,而两边的数值概率是对称的,越远概率越低(正态分布)。也许可能有人要问了,那rm18-24的攻击力为什么不能表示为17+1d7或者15+3d3呢?这两个式子也代表了18-24这个攻击范围啊?这是一个好问题,如果各位war3er看到这里能提出这个问题的话,说明你是个善于动脑、善于思考的人。
答案是这样的,大家想一下,war3对攻击力的升级是怎么实现的呢?很简单,就是加一个色子。再拿rm举例,1攻的rm攻击力是19-28,用先前的表示法就是16+3d4。而如果是17+1d7或者15+3d3的话升一攻加一个色子后变成17+2d7或者15+4d3,这分别对应于19-31、19-27,这与事实是不符的。同理,2攻3攻的rm的攻击力分别为16+4d4(20-32)、16+5d4(21-36)。
现在大家再看一下这个式子:A+BdC,升1、2、3级攻后B分别为B+1、B+2、B+3。
可以看出,A越大、B越小、C越大,那么升级攻后对攻击力的提升更加显著。下面列表看一下各族各个兵种的攻击力数值(召唤生物、法师没有列出,因为他们不能升级攻防,于本文没有讨论意义):
HUM: ORC: NE: UD:
民兵:11+1d2 大G:17+1d4 ac:15+1d3 小g:10+2d2
fm:11+1d2 猎头:22+1d5 ht:15+1d3 zz:25+1d6
rm:16+2d4 粉碎者:71+1d18 投刃车:35+1d18 天g:17+1d4
74:25+2d5 狼骑:22+1d5 小鹿:16+1d3 骷髅:13+1d2
破法:12+1d3 飞龙:34+2d5 doc:18+1d4 绞肉车:70+1d18
飞机:6+1d2 蝙蝠:12+1d3 熊形态:26+3d6 胖子:32+1d7
13+1d2 牛头:29+1d7 角鹰:49+1d8 des:18+1d3
小炮:51+1d13 角鹰骑:15+1d3 冰龙:91+2d12
坦克:44+1d11 精灵龙:13+1d3
12+1d2 奇美拉:66+1d17
49:44+1d11 44+1d11
龙鹰:17+1d3 山岭:26+2d7
32+2d8
dot鸟:34+1d7
可以看出,初级兵里zz的A、C值最高,而49、奇美拉、小炮、三种CAT都符合A大、B小、C大的原则,也就是说,对于他们升攻对攻击力的提高是显著的。还有一个不得不提的就是熊,它是唯一B值为3的,而C值也只有6,升攻对它并不显著,只是因为B值较大,攻击力范围很大而已。而C值小于4的(比如des、龙鹰),升攻对它们是没什么太大作用的。还有要强调的一点就是:对于B=1的兵种来说,升攻前因为只有一颗色子,所以它们的攻击力概率分布是均匀的,当B〉1后就符合前文所说的中间概率高,两边概率低的规律了。
下面的内容,是有关war3本身程序原理的,而且我本人也正在探索中,所以不关心的朋友,以下的可以跳过去不看。
我们都知道,rep记录的是时间序列,即什么时间什么坐标的单位,以什么样的命令,指向目标坐标;而对于这个动作所造成的结果,是在播放rep时实时演算的。比如,坐标(1,1)的fm,以动作指令“A”,指向坐标(3,3)的DH;而对于这次攻击实际造成的伤害,rep里是不会、也没有必要、甚至是不能记录的。于是问题就产生了,由于随机系统的存在,每一次动作指令造成的结果是不定的,fm可能给dh造成8点伤害,也可能被dh闪避掉,怎么才能保证播放rep时真实的重现当时的情况呢?
一种解释是:对于每一个动作,rep都记录下对应于它的随机数。但这显然是不合理的,因为其数据量过于庞大了,要知道一次攻击通常都会产生不止一个随机数。
学过basic的可能都知道,对于随机函数randonmize如果不指定随机种子的话,其产生的随机数列是不会改变的,也就是说不同的随机种子对应于不同的随机数列。依据这个原理,我认为是这样的,一次游戏开始前,war3先随机产生一个随机种子,而这个种子和随机数列之间是唯一对应的,当一个随机事件产生的时候,系统就按照先后顺序分配事前已产生好的随机数。rep也只须记录这个随机种子,当播放rep的时候,系统根据记录的随机种子重新产生出这个随机数列,由于时间顺序是确定的,所以一个随机事件对应的随机数也是确定的,这样就可以真实的重现当时的情况,而且也可以大大的缩小数据量。
【编辑:左side拉杆横排两颗星】
关于的新闻
- (2015-10-30) H5网游《糖果碰碰车》画面及玩法全面升级
- (2015-09-14) 121212
- (2014-12-24) 爆笑图集:同事的茶叶盒,感觉英语全白学了
- (2014-12-24) 爆笑图集:老婆太任性!我抬手就是一巴掌
- (2014-12-24) 爆笑图集:说好了不约,你特么快点放开我!
版本专题
今日头条
17173发号
精华推荐
日期
游戏
状态
下载
礼包
-
01-10新逆水寒·黄金时代主题服务器
-
01-09公测
-
12-27公测
-
12-25刻印庆典
-
12-22神武乾坤
-
12-21姜饼城奇妙夜
-
12-20岁寒内测
-
12-20向云端
-
12-20恶紫夺朱
-
12-20剑鸣首测
-
12-19公测
-
12-18定山河
-
12-18超新星首测
-
12-15惠普渡
-
12-14决战迪亚波罗
-
12-13云海仙踪
-
12-13人间理想
-
12-11乾坤终炼
-
12-10银装素裹
-
12-10宠物情缘
-
12-09一折内测
-
12-09入世测试
-
12-07雪域仙踪
-
12-06大雪
-
12-06国际服测试
-
12-05雄霸
日期
游戏
状态
评分
礼包
-
11-15硬核测试5
-
12-01新版首发5.7
-
12-06悟道飞升5.6
-
12-06逆天改命6
-
12-06全服高爆5.8
-
12-05骷髅打金5.8
-
01-05挂机神装5.9
-
01-04超爆打金5.8
-
01-04最新公测6.1
-
05-20最新资料片6.8
-
03-09最新资料片4.5
-
03-03新版本资料片5.5
-
03-01新版本资料片5
-
11-30行云资料片5
-
11-30清芳资料片5
-
11-29沧海资料片4
-
11-29蜉蝣资料片4.8
-
11-28羽翼资料片5
-
11-27萦绕资料片5
-
11-26鹏程资料片5
-
11-25沧海资料片5
-
11-25逐日资料片5.2
-
11-24静微资料片5.3
-
11-24轩然资料片5
-
11-23幽然资料片5.1
-
11-23蝉羽资料片5