土豆英雄吧 关注:7,610贴子:52,681
  • 15回复贴,共1

浅谈猴子变大圣的原理

只看楼主收藏回复

土豆英雄随机冲突游戏是一款简单易上手的卡牌塔防游戏,但可玩性很强的游戏,特别是既可以和网友线上对抗,也可以和好友线上合作,吸引了无数玩家。这款游戏有一个非常著名的金色传说级卡牌,是我国神话传说中的齐天大圣,深得玩家的喜欢,大家亲切地把它叫作“猴子”。该卡牌有两个与众不同的特色,一是变身,变身后攻击力和攻击速度大幅提升;二是降魔,随着打
怪越多攻击力越高。其中第二个特色是被动的,第一个特色则是与玩家的操作密切相关,因为变身后英雄变亮,所以又称为“亮猴”,下面我们谈谈“亮猴”的机制和操作技巧。
一、猜测“亮猴”机制
由于猴子在合作模式中易操作易上手,玩家都喜欢用,但猴子亮不亮,其攻击力区别很大,因此如何“亮猴”成为玩家研究的重点,并提出了“亮猴”方法,即切出掉线重新上线后,用金牌厨师喂给猴子,就可以变亮。但在实际操作中,该方法成功率虽然较高,却不是次次成功,不少玩家比较困惑,因此我们先从程序架构设计角度,猜测一下“亮猴”究竟是什么机制。弄清楚了机制,自然就知道怎么“亮猴”了。
(一)亮猴序列号机制
从游戏中观察可知,在合作中,双方猴子亮的“顺序”是完全一样的。这里有必要解释一下何为“顺序”,假设第一只猴子出现时计为 1 号猴,下一只猴子出现计为 2 号猴,再下一次计为 3号猴,如此计算下去,也就是把所有出现的猴子编了个序号,但要注意的是:不管是什么方式出现的猴子都要将计数+1,比如用金牌厨师喂给同级猴子,猴子升级了,此时计数也要+1,包括暗杀者给猴子升级,也要+1,也就是说,猴子每刷新一次,包括新出现,升级等,序列号都要+1。极端地说,如果只有一次猴子,暗杀者杀了它 100 次,那么它就是第 101 号猴(猴子初次出现为 1号,后面杀 100 次就加到了 101)。双方同序列号的猴子,其亮与不亮,完全与对方相同,且与先出现的相同。比如你的合作方先出了 3 号猴子亮了,你目前只有到 2 号猴,那么你下一只猴子就是 3 号,且与对方状态一样,一定是亮的。这就是“同顺序猴子状态相同”的原理,而且不受猴子的级别影响,如果对方 3 号猴是 1 级先亮了,你再出 3 号猴是 7 级,那也一样是亮的。为什么出现这种情况呢?我个人猜测,这是程序代码的设计导致的,以下是几个大胆猜测。
(二)两个大胆的猜测
1、猜测一程序代码中,对于猴子是否会亮,是调用一个数列来判断的,其目标是控制不出现极端情况,保证玩家的游戏体验。这个数列的值很可能只有 0 和 1 两种,0 表示不亮,1 表示亮,某方出现一只新猴子时,程序先判断儿子的序列号,再查看数列中对应序列号有没有值,如果有值,程序就调用这个值,0 就不亮,1 就亮;如果没有值,程序就调用猴子变亮的概率来计算这只猴子是否亮。而且,最关键的是:在合作中,双方只有这一个数列,共同调用这个数列!这就是双方同序列号亮猴的秘密了。为什么要有这个序列号呢?因为这样可以最精准地控制亮猴机率和游戏设置相同,我测试了 60 轮发现亮猴机率和游戏面板值简直就是一模一样,如果没有这个序列号,每次都单独判断,那有可能出现连亮 10 次或者连续 10 次不亮的极端情况,但实际测试中,从来没有出现这种情况,我最多遇到连续 7 只猴子不亮,但其总机率仅仅从 30%降到了 25%。我的猴子面板机率是 28.5%,除开局外,从来没有低于25%的机率,也没有高过 34%的机率,可以猜测程序利用这个数列设置了机率波动的保护机制,以保证玩家的游戏体验。
2、猜测二
合作中双方共同用一个数列,且某方掉线重连时,该数列清空重置!这也是玩家说“卡亮猴”的核心机理。为什么会这样呢?因为既然有这个数列存在,那么它必然有一次重置机制,用于管理新开始某次对战或合作。而程序将掉线重连视为一次新对战或新合作的开始,从而重置了这个数列。也就是说,每次掉线重连,就是从头开始计算亮猴机率。但由于是从头开始计算,程序基于下限保护的原理,几乎不可能出现开场连续 4 次以上不亮猴的情况,大部分情况下 3 次就能亮,测试发现,首次即亮的机率高达45%,首次不亮第二次亮的机率也有 40%,3 次都不亮的机率不到0%。这就是为什么切掉线再上,亮猴机率会提升的核心机理了。而 3 次中连续两次亮猴的机率竟然高达 27.5%,可见切换亮猴实在是一个收益非常高的办法。
此攻略转载———种花家的“青涯海客”大佬



来自Android客户端1楼2023-04-11 22:39回复
    (二)两个大胆的猜测
    1、猜测一程序代码中,对于猴子是否会亮,是调用一个数列来判断的,其目标是控制不出现极端情况,保证玩家的游戏体验。这个数列的值很可能只有 0 和 1 两种,0 表示不亮,1 表示亮,某方出现一只新猴子时,程序先判断儿子的序列号,再查看数列中对应序列号有没有值,如果有值,程序就调用这个值,0 就不亮,1 就亮;如果没有值,程序就调用猴子变亮的概率来计算这只猴子是否亮。而且,最关键的是:在合作中,双方只有这一个数列,共同调用这个数列!这就是双方同序列号亮猴的秘密了。为什么要有这个序列号呢?因为这样可以最精准地控制亮猴机率和游戏设置相同,我测试了 60 轮发现亮猴机率和游戏面板值简直就是一模一样,如果没有这个序列号,每次都单独判断,那有可能出现连亮 10 次或者连续 10 次不亮的极端情况,但实际测试中,从来没有出现这种情况,我最多遇到连续 7 只猴子不亮,但其总机率仅仅从 30%降到了 25%。我的猴子面板机率是 28.5%,除开局外,从来没有低于25%的机率,也没有高过 34%的机率,可以猜测程序利用这个数列设置了机率波动的保护机制,以保证玩家的游戏体验。
    2、猜测二
    合作中双方共同用一个数列,且某方掉线重连时,该数列清空重置!这也是玩家说“卡亮猴”的核心机理。为什么会这样呢?因为既然有这个数列存在,那么它必然有一次重置机制,用于管理新开始某次对战或合作。而程序将掉线重连视为一次新对战或新合作的开始,从而重置了这个数列。也就是说,每次掉线重连,就是从头开始计算亮猴机率。但由于是从头开始计算,程序基于下限保护的原理,几乎不可能出现开场连续 4 次以上不亮猴的情况,大部分情况下 3 次就能亮,测试发现,首次即亮的机率高达45%,首次不亮第二次亮的机率也有 40%,3 次都不亮的机率不到0%。这就是为什么切掉线再上,亮猴机率会提升的核心机理了。而 3 次中连续两次亮猴的机率竟然高达 27.5%,可见切换亮猴实在是一个收益非常高的办法。
    二、测试与结论
    我按每出现 3 次猴子就切掉线的方式做测试,共测试了 40 轮计 120 次。测试结果表明:
    1、若从不掉线,亮猴总机率为 28.44%,与面板的 28.5%基本相当。
    2、若每 3 次猴子切换掉线再上一次,则总亮猴机率提升到42%,比面板值高了 13.5%,相当于机率提升了近一半!
    3、若每 2 次猴子切换掉线再上一次,则总亮猴机率反而下降到 33%左右,这也证明了前 2 次不亮第 3 次亮的机率是明显较多


    来自Android客户端2楼2023-04-11 22:40
    回复
      再次感谢《青崖海客》带来的分析和见解


      来自Android客户端3楼2023-04-11 22:42
      回复
        虽然看不懂 但感觉很厉害的样子


        IP属地:广东6楼2023-04-15 22:36
        收起回复
          不氪金。永远打不过


          IP属地:广西来自Android客户端7楼2023-04-23 14:47
          收起回复
            那我就有一个问题了,两个人共用一个数列,那两个人的亮猴的概率差怎么解决?


            IP属地:河北来自Android客户端11楼2023-04-25 20:40
            收起回复
              大佬,请教下,他们说的博士杀都有哪些英雄?


              IP属地:辽宁来自Android客户端12楼2023-05-05 10:52
              收起回复
                5级亮猴就搞到过1只,玩了几十盘了,4级亮的10个手指数的过来,这玩意都不知道怎么跟人pk,花钱都买不到快感服了


                IP属地:广东来自Android客户端13楼2023-05-06 20:27
                收起回复