c***k 发帖数: 1589 | 1 暴雪作为一个游戏公司,所采用的随机算法即使再先进,也一定是伪随机算法。想了解
具体内容的可以参考wiki
http://en.wikipedia.org/wiki/Pseudorandom_number_generator
但是简单的说,软件的随机算法没有真随机的。真随机的生成器必然是基于硬件设备的。
伪随机数的问题是它的输出是deterministic,比方说随机生成从1到100的数,不管你
运行多少次,结果虽然是“随机”的,但是顺序却是一定的。为了解决这个问题,伪随
机数需要一个种子。不同的种子产生的结果就不一样了,但是相同的种子其结果却是一
致的。
在这里插个题外话,玩文明的时候,战争的胜负也是随机的,但是只要你试图用S/L大
法你会发现战斗的结果永远是一致的,我个人的猜想就是随机数的种子也被存起来了。
那么回到游戏中来,有人就想问了,有没有“好”的种子和“坏”的种子呢?答案是
Yes and No。否定的原因是,游戏进行足够长的时间,掉率必然回归设定,T6说掉率为
0.01%,你跑个1000000次,结果必然在100左右。T6比T5掉率高10倍,你各跑各1000000
次,结果必然相差10倍左右,我相信暴雪是测试过这个随机算法的。相信挂机党说每一
个半小时出一个光就是这个回归的结果。但是说有好种子的原因是,大家很少一个游戏
打那么久, 所以有的人一个小时出了一大堆,有人一个小时死活不出货,就是因为这
个种子的pattern分布不同造成的。在概率是如此低的情况下,几个小时不出货是完全
正常的,不能归咎于暴雪的脑残随机算法。但是玩家不高兴了,所以才会有低保这个东
西出来。
根据这个分析,我敢比较负责的说,好房间好IP是纯迷信活动。算法的输出是如此一致
,如果一个好种子是给整个IP或者房间的,每个玩家的掉率应该都很接近。但是我没法
确定种子是在新建房间的时候重置,还是在玩家登录的时候重置。
至于流行的各种掉率揣测,包括我之前贴过的那个啥共享经验池的文章,我的看法是,
如果他十分复杂的话,多半就是感觉党。作为一个程序猿,最恨的就是复杂的逻辑,不
仅写起来容易出bug,测试更是要了命了,掉率调整也非常麻烦。一个简单的可验证的
随机函数,加上一个目标掉率是最靠谱的。
最后,强调一下,本文只讨论随机数产生,并不讨论影响掉率的因素,比如穿MF装,高
T开箱子是否会影响掉率的问题。我觉得掉率被各种因素影响是有可能的,也是可以被
验证的。
看完了,您可能觉得很失落,因为没有任何建设性的方法,其实反过来想,如果有的话
,你不觉得那反而是一个bug吗? |
y***g 发帖数: 1492 | 2 我觉得很可能所有怪物掉落在地图生成时已经决定了
不然每个怪物死亡都要计算随机 服务器压力不是很大吗 |
d**********6 发帖数: 4434 | 3 随机数是超级轻松的运算
【在 y***g 的大作中提到】 : 我觉得很可能所有怪物掉落在地图生成时已经决定了 : 不然每个怪物死亡都要计算随机 服务器压力不是很大吗
|
c***k 发帖数: 1589 | 4 随机算法超级快的
难道你觉得攻击伤害的随机值就是生成地图的时候就产生好了的?
【在 y***g 的大作中提到】 : 我觉得很可能所有怪物掉落在地图生成时已经决定了 : 不然每个怪物死亡都要计算随机 服务器压力不是很大吗
|
f******1 发帖数: 99 | 5 封建迷信也是乐趣之一么,哈哈
的。
【在 c***k 的大作中提到】 : 暴雪作为一个游戏公司,所采用的随机算法即使再先进,也一定是伪随机算法。想了解 : 具体内容的可以参考wiki : http://en.wikipedia.org/wiki/Pseudorandom_number_generator : 但是简单的说,软件的随机算法没有真随机的。真随机的生成器必然是基于硬件设备的。 : 伪随机数的问题是它的输出是deterministic,比方说随机生成从1到100的数,不管你 : 运行多少次,结果虽然是“随机”的,但是顺序却是一定的。为了解决这个问题,伪随 : 机数需要一个种子。不同的种子产生的结果就不一样了,但是相同的种子其结果却是一 : 致的。 : 在这里插个题外话,玩文明的时候,战争的胜负也是随机的,但是只要你试图用S/L大 : 法你会发现战斗的结果永远是一致的,我个人的猜想就是随机数的种子也被存起来了。
|
k******g 发帖数: 1212 | |
g*******s 发帖数: 2963 | 7 迷信的问题不是纠结纯随机算法,而是是否有除了几个显性因素(难度,mf,组队)意
外的隐藏条件可以加权。 |
t********u 发帖数: 4469 | 8 恩 ,就是看有没有什么条件可以影响当前的随机数种子或者是直接buff最后的影响因
子:比如换小号刷,进高难度房间等等。纯算法角度没什麽好纠结的。
【在 g*******s 的大作中提到】 : 迷信的问题不是纠结纯随机算法,而是是否有除了几个显性因素(难度,mf,组队)意 : 外的隐藏条件可以加权。
|
u******a 发帖数: 7843 | 9 以玩家的数据采集能力, 不大可能研究出是否有隐藏条件, 以及如果有, 如何控制隐藏
条件. 因为掉率是如此之低, 需要极大的数据量才能分析出有意义的结论...
要加强玩家的数据采集能力才可以做科学的迷信分析. 比如挂机时要统计时间, 杀怪数
和掉光数. 这样容易得出有意义的结论...
【在 g*******s 的大作中提到】 : 迷信的问题不是纠结纯随机算法,而是是否有除了几个显性因素(难度,mf,组队)意 : 外的隐藏条件可以加权。
|
c***k 发帖数: 1589 | 10 我已经分析了,随机数种子对掉率是没有影响的,随机数种子对掉落有影响,但是这个
pattern完全是不可控的。
所以大家关心的迷信活动就纠结于一些隐藏条件是否会影响掉率。
我个人看法是,这些统统都是迷信活动,我完全没法想像暴雪的设计师会设计一堆复杂
的方案来影响潜在掉率。因为只要设计出来,程序猿就要实现,QA就要测试,维护就会
更加困难,但是有什么好处呢?
比如这个小号掉落好的迷信。如果暴雪真要这么做,就必须设计一个系统,给小号额外
高的掉率,如果判断是小号?到底该buff多少?都是要写要测试的,目的呢?鼓励玩家
玩小号?那不如直接发一个蓝贴说我们鼓励玩家多开几个角色好了。
我自己有时也觉得小号掉落好,但是想想可能真的是心理因素,因为用小号玩的时候本
来就是期望低,突然掉了东西,自然就特别高兴。
随机就是随机,有时高有时低,完全趋向于统一反而不是随机了。
当然,游戏可能有bug造成掉率不正常,那就另当别论了。
【在 t********u 的大作中提到】 : 恩 ,就是看有没有什么条件可以影响当前的随机数种子或者是直接buff最后的影响因 : 子:比如换小号刷,进高难度房间等等。纯算法角度没什麽好纠结的。
|
|
|
s*******h 发帖数: 1361 | 11 抽奖游戏不用太纠结,故意不故意的bug肯定遍地都是,理论和实际的差别不是一点点.
当年我一个地方掉三个一模一样的leg我都不敢跟人说,怕被人举报说我dupe. |
w******n 发帖数: 13202 | 12 没错,类似的bug我也碰见过,在两秒钟之间,给我掉了两个一模一样的传奇项链。
【在 s*******h 的大作中提到】 : 抽奖游戏不用太纠结,故意不故意的bug肯定遍地都是,理论和实际的差别不是一点点. : 当年我一个地方掉三个一模一样的leg我都不敢跟人说,怕被人举报说我dupe.
|
t********u 发帖数: 4469 | 13 没人说种子会影响掉率,但种子会影响掉落表(至少不少人相信如此,又是迷信,嘿嘿
).
也没人说暴雪会设计这样一个小号系统来buff掉率...大家玩迷信是因为相信比如,
种子生成的过程中用到了当前使用的帐号作为一个参数种子生成的一个参数(直接或者
间接),这样通过改变账号来玩游戏而改变了种子的生成,进而影响了掉落.
【在 c***k 的大作中提到】 : 我已经分析了,随机数种子对掉率是没有影响的,随机数种子对掉落有影响,但是这个 : pattern完全是不可控的。 : 所以大家关心的迷信活动就纠结于一些隐藏条件是否会影响掉率。 : 我个人看法是,这些统统都是迷信活动,我完全没法想像暴雪的设计师会设计一堆复杂 : 的方案来影响潜在掉率。因为只要设计出来,程序猿就要实现,QA就要测试,维护就会 : 更加困难,但是有什么好处呢? : 比如这个小号掉落好的迷信。如果暴雪真要这么做,就必须设计一个系统,给小号额外 : 高的掉率,如果判断是小号?到底该buff多少?都是要写要测试的,目的呢?鼓励玩家 : 玩小号?那不如直接发一个蓝贴说我们鼓励玩家多开几个角色好了。 : 我自己有时也觉得小号掉落好,但是想想可能真的是心理因素,因为用小号玩的时候本
|
D********2 发帖数: 2153 | 14 不完全同意, 确实不可控,但是不代表程序没问题, 伪随机做的不好,就有可能造成,某
个角色特别容易掉某些物品,而另外一些很难出,这个是很明显的,
【在 c***k 的大作中提到】 : 我已经分析了,随机数种子对掉率是没有影响的,随机数种子对掉落有影响,但是这个 : pattern完全是不可控的。 : 所以大家关心的迷信活动就纠结于一些隐藏条件是否会影响掉率。 : 我个人看法是,这些统统都是迷信活动,我完全没法想像暴雪的设计师会设计一堆复杂 : 的方案来影响潜在掉率。因为只要设计出来,程序猿就要实现,QA就要测试,维护就会 : 更加困难,但是有什么好处呢? : 比如这个小号掉落好的迷信。如果暴雪真要这么做,就必须设计一个系统,给小号额外 : 高的掉率,如果判断是小号?到底该buff多少?都是要写要测试的,目的呢?鼓励玩家 : 玩小号?那不如直接发一个蓝贴说我们鼓励玩家多开几个角色好了。 : 我自己有时也觉得小号掉落好,但是想想可能真的是心理因素,因为用小号玩的时候本
|
g*******s 发帖数: 2963 | 15 这些加权因素应该靠一些简单的script随时调整就够了,主程序里就几个乘号罢了。 |
c***k 发帖数: 1589 | 16 没有啥伪随机数好不好的问题。随机数的算法都已经很成熟了,现在的新算法已经可以
做到最终的分布非常均匀了。老的算法会成簇,但是也没有说某些点就是随不到的问题
。而且如果是随机算法的问题,换种子是没用的,种子只是决定了pattern,并不会改
变真正的分布。
至于你说的某些角色特别容易掉某些东西,我觉得如果所有的角色都会掉一样的东西,
那才不叫随机……
打开所有的传奇列表,我不相信有任何玩家(或者多数玩家吧)能把所有的传奇都打到
了,那每个人都有打不到的传奇,我能说,我都打了几百个小时了,可是就是死活不出
XX吗?
【在 D********2 的大作中提到】 : 不完全同意, 确实不可控,但是不代表程序没问题, 伪随机做的不好,就有可能造成,某 : 个角色特别容易掉某些物品,而另外一些很难出,这个是很明显的,
|
D********2 发帖数: 2153 | 17 不是说所有东西都打出来, 而是某些东西反复掉, 如果你说,ok,这些掉率高,出的概率
大,那么换个号,应该也是这些出来的概率大吧, 别以为就你懂概率
【在 c***k 的大作中提到】 : 没有啥伪随机数好不好的问题。随机数的算法都已经很成熟了,现在的新算法已经可以 : 做到最终的分布非常均匀了。老的算法会成簇,但是也没有说某些点就是随不到的问题 : 。而且如果是随机算法的问题,换种子是没用的,种子只是决定了pattern,并不会改 : 变真正的分布。 : 至于你说的某些角色特别容易掉某些东西,我觉得如果所有的角色都会掉一样的东西, : 那才不叫随机…… : 打开所有的传奇列表,我不相信有任何玩家(或者多数玩家吧)能把所有的传奇都打到 : 了,那每个人都有打不到的传奇,我能说,我都打了几百个小时了,可是就是死活不出 : XX吗?
|
u******a 发帖数: 7843 | 18 人类直观上所认为的随机应该是乱序吧, 音乐播放器一般都做成乱序而不是随机以避免
用户觉得不爽...
【在 c***k 的大作中提到】 : 没有啥伪随机数好不好的问题。随机数的算法都已经很成熟了,现在的新算法已经可以 : 做到最终的分布非常均匀了。老的算法会成簇,但是也没有说某些点就是随不到的问题 : 。而且如果是随机算法的问题,换种子是没用的,种子只是决定了pattern,并不会改 : 变真正的分布。 : 至于你说的某些角色特别容易掉某些东西,我觉得如果所有的角色都会掉一样的东西, : 那才不叫随机…… : 打开所有的传奇列表,我不相信有任何玩家(或者多数玩家吧)能把所有的传奇都打到 : 了,那每个人都有打不到的传奇,我能说,我都打了几百个小时了,可是就是死活不出 : XX吗?
|
M******k 发帖数: 27573 | 19 这假设根本就不成立,你怎么知道暴雪是用最简单的随机数来生成掉落的,随便加点隐
藏的逻辑就行.
暴雪又没有承诺掉率一定准确,玩家也无从验证,测试什么的就更不用说了,菠萝的测
试.... |
l*****g 发帖数: 2731 | 20 对,俺就从来没有打过娜姐,连垃圾的都没见过。
【在 c***k 的大作中提到】 : 没有啥伪随机数好不好的问题。随机数的算法都已经很成熟了,现在的新算法已经可以 : 做到最终的分布非常均匀了。老的算法会成簇,但是也没有说某些点就是随不到的问题 : 。而且如果是随机算法的问题,换种子是没用的,种子只是决定了pattern,并不会改 : 变真正的分布。 : 至于你说的某些角色特别容易掉某些东西,我觉得如果所有的角色都会掉一样的东西, : 那才不叫随机…… : 打开所有的传奇列表,我不相信有任何玩家(或者多数玩家吧)能把所有的传奇都打到 : 了,那每个人都有打不到的传奇,我能说,我都打了几百个小时了,可是就是死活不出 : XX吗?
|