捕鱼游戏Part Ⅱ

接续前篇继续介绍更多游戏特色:

image

特殊炮

特殊炮是游戏中最有爽感的部分,常见的有以下几种:

  • 雷射炮– 可攻击大范围鱼群,大陆地区称此为激光炮。
  • 免费炮– 大家常说,免费的(炮)最贵,但这里我保证真的免费啦。
  • 冰冻炮– 击中后会让鱼进入冰冻状态,保存新鲜以便日后烹调食用…。好啦,只是让鱼变慢或停在原地。

特殊炮的捕鱼游戏可参考影片

重点来了,这部分数学该怎么处理呢? 以下分成两部分说明:

1.如何获得特殊炮?

以雷射炮为例,企划面我们可以决定由

  • 击杀现有鱼种后有机率获得:要使用这种方法的话,记得把带有特殊炮的鱼在前端表现上凸显出来,把它弄得很像喝了化学药剂然后会发光的鱼就对了啦。
  • 雷射炮直接是个item在鱼场中可攻击并获得:这种在企划面上处理相对容易,并且让玩家有个明确目标追打

当然还有更多方式,但这两种较直观且在数学的处理上观念是相同的,所以我以较复杂的前者来说明,此时情形虽然会稍微困难些,但别担心,和人生相比还是容易许多,所以请听我娓娓道来我的人生…喔是数学如何计算。

一样以赔率100倍的鱼以及RTP = 90% 为例

首先我们先决定将普通子弹攻击一般鱼的RTP = 90% 挪出20% 给雷射炮,而再来决定雷射炮的威力,假设威力是200倍(其实就是以雷射炮攻击时RTP为200 )。普通子弹击中一般的鱼,RTP的组成变成了:RTP = 70%(鱼本身赔率) + 20%(雷射炮)

所以根据前面学到的公式《击杀率P = R / N》,这时候鱼的击杀率如下:

P = 70% / 100 = 0.7%

雷射炮的获得率LP呢?大家别想歪,这命名是因为Laser Probability,算法可以用同样的公式

LP = 20% / 200 = 0.1%

这里有一个小陷阱,这样的算法 LP = 0.1% 是假设在就算鱼没死也可能获得雷射炮》,当然也不是不能,只要你能在前端表现或是企划面上说服玩家都可以,但一般情形下鱼死掉获得宝物才是符合逻辑的,所以我们会希望这 LP 《鱼死掉且获得雷射炮》的机率,因此流程上要做一个小小的修正:

LP(given 鱼死) = P(获得雷射炮|鱼死掉)=0.1% / 0.7% =1 / 7

其实可以很直观的计算就是鱼死0.7% x LP = 0.1%  , 然后获得LP = 1 / 7所以雷射炮获得与否的正确的流程为:

  • Case1:目标鱼(100倍)没死→获得机率为0
  • Case2:目标鱼死→获得机率为1/7

上面观念用的是条件机率,忘记了请联系我,我有在兼职当家教。

2. 特殊炮发射后如何计算?

这部分有分幼幼班做法和正规做法,以上面例子为例,我们知道雷射炮威力是200倍,幼幼班的机率做法就是把责任丢给Server端,《阿你就想办法让被攻击的鱼全部死掉,然后总赔率不要超过200倍就好了啊! 》。这做法缺点有很多:

  1. 游戏变化性很少,倍率永远都是很靠近200的数字 
  2. RTP会偏低
  3. 把工作丢给Server,Server会不爽

请注意3,好的机率工程师不要让Server去处理机率问题,这也呼应到了自然机率的优点,有兴趣可以参考文章【解密自然机率与非自然机率老虎机】。就像我所说的,这篇不会有困难的数学,所以一样很简单,正确的做法应该如下:假设雷射炮击中K只鱼,赔率分别为1、N 2、 ……、N K击杀率修正法i如下:

《P i = 雷射炮威力/ (赔率x 攻击只数) = 200 / (Ni x K)》

来验算一下RTP:

1 P 1  +  2 P 2  + …… +  K P K  = 200/K  + 200/K  + …… + 200/K=200

这修正法的确让这发雷射炮攻击出去时获得的RTP为我们当初假设的雷射炮威力200。相信有点程度的人已经发现其实这公式就是Part 1介绍的攻击到多只鱼的做法延伸,正所谓水能载舟,亦能覆舟,《击杀率能除只数,当然也能乘威力》。这做法相比幼幼班好上许多,但讽刺的是市面上看到很多都是幼幼班的做法(也许我看得还不够多),相比之下正规做法反而没那么正规了。另外优点我就不赘述了,就是把幼幼班做法的缺点都变成否定句就是了。不知道怎么变成否定句?一样联系我,我有兼差做家教。

至于免费炮就和雷射炮的概念一样,我们只需假设单发威力以及总共发数,就能判断出总威力= 单发威力x 总发数》,剩下就是一样的算法了。

(Part 2就先介绍到这,之后会再将其它特色补充在后续的捕鱼系列文章。)

© 版权声明
THE END
喜欢就支持一下吧
点赞11赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容