![1671974793008000383.png ktv_1098679242_dWtxclpLTXd3a3ZhMEpzSXRtSTkxQT09_1530103795708.png](https://www.usdt94.top/upload/forum/img/1671974793008000383.png)
捕鱼是这几年很火红的游戏,这游戏相对于老虎机来说单纯许多,因此在计算上也是相对简单很多,所以请读者放心往下看,保证这系列的数学绝对是幼班等级的,但别忘了机率工程师不是单纯的数学机器,所以不只数学大家可以学习。
虽然计算难度不高,但可能捕鱼是由一般Social Video Game或是Mobile Game发展过来的,相对于博弈游戏来说,对于数学的要求没那么严谨,因此即便转换到博弈游戏后,市面上还是充斥着许多数学不严谨且乱七八糟的企划。小弟接下来就介绍怎么做一款最简单基础的捕鱼机。
首先捕鱼是一款射击游戏,游戏规则简单来说就是玩家击发出子弹,击中鱼之后若是鱼死亡则获得奖金。相信不难看出,其实这只是简单的【Bernoulli分布】,结果只有1 (击杀成功)或0 (击杀失败)两种可能,而参数P就是此次试验成功(击杀鱼)的机率。
因此企划阶段先假设《赔率= N》、以及《RTP = R》便可简单计算出《击杀率P = R / N》
以赔率100倍的鱼以及RTP = 90% 为例,击杀率P = 90% / 100 = 0.9%。
对于单纯的鱼种来说,仅需要上述公式便能算出各鱼种的击杀率,有了击杀率后,只要在玩家子弹碰撞时判定鱼种并乱数决定结果为击杀成功或失败即可。
虽然上面简单的捕鱼机在数学设计上没有问题,但在游戏体验上有点过于单调,试想一般老虎机大约3~5秒可以完成一局(取决于赢分时的表演),而捕鱼1秒钟就可以击发3~5发子弹,甚至更高,再加上此游戏的模型和本人我一样单纯,不像老虎机可以透过线数、滚轮排列等其他参数调整,因此在同样单位的时间内,捕鱼游戏的收敛速度比老虎机要快得多。
专业的说法就是游戏的Volatility太低,粗俗浅白好懂的解释就是”X!我怎么每次打完都小输啦!”。因此为了增加游戏性与Volatility,当然要将出奖情形多样化,所以捕鱼游戏通常还会额外加入一些游戏特色。
子弹可同时击中多只鱼
此法会使得出奖情形复杂许多,比如击中A、B两只鱼,出奖情形就变成四种分别是{ A死B死,A死B活,A活B死,A活B活},但数学上要怎么修正呢?虽然感觉情形复杂许多,但其实相当简单。
最直观的方式当然是假设1发子弹1元,则视为每发0.5元的2发子弹分别击中A、B两只鱼,但要是就这样直接用0.5元去乘上鱼的赔率,显然是没办法被玩家接受的,因为从玩家角度来看明明花1元发射的子弹打死了A鱼,获得的却是0.5乘A鱼的赔率是相当奇怪的事情,要是一次击中三只鱼体验就更差了。
较佳的方式是修正击杀机率P (毕竟机率是前端表现上看不见的),一般情形下每只鱼RTP是一样的,我们只需要将每只鱼的击杀率P除上此发子弹击中鱼的只数就好,
简单证明如下:
假设击中K只鱼,赔率分别为N 1、N 2、 ……、N K,击杀率分别为P 1、P 2、 ……、P K,击中每只鱼的RTP相同为R
加总每只鱼的RTP:N 1 P 1 + N 2 P 2 + …… + N K P K = R + R + …… + R = K R 再将两边同除以K:N 1 (P 1 /K) + N 2 (P 2 /K) + …… + N K (P K /K) = R
你不是算命的,所以别把所有鱼的生死情况、流年运势列出来算机率,当然最后答案也会是对的啦。结论就是在赔率不变的情形下,将每只鱼的原始机率P i 修正为(P i / K)即可确保此发子弹打出去的RTP和打到一只鱼是相同的。
|