口袋妖怪VS乱数孵闪原理分析
产生蛋的时候,3ds先抽出一个数,来选定性别,然后扔掉这个数,再往后拿一个数来决定性格,以此类推。数字都是随机的数字,但是位置不一样决定了一个蛋的20到30帧数字的处理方式和决定的意义不同。
当你拒绝一个蛋的时候,为了不让你的命运完全固定,3ds扔掉现在的1帧。这也就是127个鲤鱼王的方法的原理所在,通过连续127帧的性格所对应的随机数的奇偶来确定你的seed的具体位置。这个位置一旦你找到了以后基本上就不会丢掉了。因为一旦你找到了,即使你丢失了当前seed位置,从之前一个你已知的seed大概估一下过了多少帧,你随便孵一个蛋根据性格和个体很容易就可以找回位置。因为从某一个已知的seed开始的几十万帧不会出现重复的完全相同的蛋的情况,所以很容易找回位置。
那么开始解释闪光。当一个随机数用来判断是否闪光时,它除以4096的余数跟你的训练师的闪值相同时就会闪。在没有闪符和异国的时候,就只判定一次,那么很明显这个蛋判定的这一次相同就闪,不同就不闪,概率就在1/4000。当有闪符或者异国的时候在闪光这一栏取一个随机数算一下,如果不一样,就再取一个再算一下。这样多算八次。粗略的算出现闪的概率就是之前的八倍左右。也就是粗略的看,平均500个蛋会出一个闪。
那么为什么乱数孵闪效率高很多呢?
我们换一个角度看。一个随机数,除以4096之后余数跟你的训练师闪值相同的概率,很容易算,就是1/4096.也就是说,平均下来每4096帧就会出现这样的一帧,他除以4096之后跟你的TSV相同。那么如果这一帧出现在了一个蛋判断闪光的那几行,这个蛋就闪了。是不是每次出现这么一个闪数之后都会出现一个蛋闪呢?不是。假设平均一个蛋要消费掉30帧,这个数字只有落在闪光那几行,才会闪,也就是说,平均4096帧出一个闪数,出了以后8/30的概率会出现闪蛋,22/30的概率这个数字出现在性格或者是个体那些地方了,这个闪数就被流水孵蛋错过了。也就是说平均4096帧可以出8/30个蛋闪,流水孵。这个数据和之前的1/500基本是一致的。
而如果我已经通过乱数预知了一切了呢?简单。我看到有闪数出现了,我通过拒绝蛋调整帧的位置,就可以不让这个闪数被跳过。也就是说4096帧中平均出1帧是闪数,出了之后我就能闪。4096帧以30帧一个蛋计算,130个蛋一个闪。
粗略的计算可以知道,当你孵足够多的蛋之后,通过乱数计算调整可以孵出三倍到四倍流水的蛋。
本质上来说,日月乱数是将被跳过的闪数找出来并且通过微调帧位将他们的位置调整到闪光判定的位置,从而将原本流水孵蛋不闪的蛋变成闪。
有一些误解,类似于偶尔跳过几个蛋可以减少你的闪数被跳过的概率。如果你什么都不知道随手跳一跳,概率是没有任何变化的。信息才会改变概率。
我计算过我前10万帧两个档有48个闪。这是什么概念呢?按照30帧来算的话,我前3000个蛋能闪48个。平均两箱多闪一个。
为什么最近吧里研究这个的这么多,因为两到三箱一个闪是所有蛋党的梦啊。
最后洗白一波。如果你到这里其实还没有看懂的话,只需要记住乱数孵蛋和破解修改是有本质区别的。乱数孵蛋类似于利用游戏的机制,(你也可以说利用游戏漏洞),孵出来的完完全全合法完全不用担心任何问题,而修改类似于开挂,是修改游戏的数据,改出来的你也许永远不能说是非法的,但是你也没办法肯定所有的数据都没有问题。所以以后看到其他人疯狂晒闪的时候,如果你不愿意花功夫去了解乱数孵闪的原理或者说你就是喜欢流水孵闪带来的惊喜感,至少不需要嘲讽或者优越。
之前有个吧友说的挺好,这一代的乱数机制可能是历代以来最好对玩家来说最幸福的,很有可能以后会改掉的。(想想幸福蛋道场吧)我觉得一旦官方知道这个方法了下一代肯定会针对性地修改的。且用且珍惜吧。平均四箱一个蛋的话一天一个不是梦。两年集齐闪图鉴走起。