零基础老虎机盈利奖池算法

作者:adminps    发布于1周前 (2018-04-12)    阅读:  6,029  次
 目前街机电玩类游戏基本已经与棋牌类游戏融合一体了,街机类游戏算法也越来越被人关注与研究。

    老虎机(slot machine) 是一种用零钱投币的机器,因为上面有老虎图案的筹码而得名。老虎机存在并流行了2个世纪的经典游戏类型,1895年第一款老虎机诞生,至今已经百余年了。经过多年的发展和沉淀,老虎机已经从最初的简单玩法中衍生出来多种分支玩法,并且老虎机的经典数值模型也为其他游戏的发展提供了帮助。

国内老虎机行业的兴起较晚,从80年代开始,才受到了广大老百姓的喜爱。只不过因为具有“博彩”的性质,因此多年来国内老虎机一直处于“地下”的状态发展。相信很多棋牌BOSS对老虎机应该不陌生,最近几年伴随着互联网和移动设备的发展,老虎机也迎来了“第二春”,当然也国家为了让其规范发展也出台了相关法律的规范。

01—

数值模型简述

    老虎机的数值模型有:抽奖系统,红包系统,掉落的设计等,可以说一款运营级的老虎机必须要有核心数值模型。今天,就大概介绍一下老虎机的数值模型。所有游戏数值都要围绕意向化的产品需求设计,尤其像老虎机这类棋牌游戏,因此如何转变为具象化的数值架构就显得尤为关键。如下图:

一般棋牌游戏的设计主要过程是这样的。首先,BOSS们主要提供方向上的想法,转化工作则是设计者自己去完成。产品是基于市场需求而定,设计也需服务于需求。对于老虎机来说,数值模型是很关键的,所以数值策划也是必不可少的。

02—

老虎机游戏类型

按照游戏操作过程可以分两大类:拉线式老虎机和跑灯式老虎机

拉线式老虎机

拉线式老虎机属于比较经典的类型,在这个基础上,老虎机后期有衍生出3线式、9线式,并且每个类型下又通过每条押线图案总数不同,有产生了更多的玩法。核心中奖规则:相同X个图案出现在某一条线上,则该线视为中奖。

跑灯试老虎机

跑灯式老虎机是根据跑灯的长度、特殊奖项的方式、图案题材等可调因素,发展了不同版本游戏。核心中奖规则为:每次跑灯产生的一个结果,即为产生的奖项,玩家对所有图案进行下注。

03—

如何设计数值模型

老虎机运营数值是设计控制收入的数值。在游戏运营收入这里,如果要保证游戏绝对盈利,就一定会损害全部玩家的利益和体验;如果只保证玩家的利益和体验,就又会损害游戏运营的收入。因此一定要找到一个平衡的数值,就是既能保证一部分玩家的利益的同时,又能维持游戏的持续盈利。

 

老虎机基本都属于概率游戏,这类游戏随机性强概率数值要起作用,所以一般对样本数量有较高的要求,如果样本数量不足则会出现偏差,这样就需要设计很多参数来修正这些偏差。其中主要的几个参数有:

  • 系统基础抽水率:每个玩家输给系统的钱,会有一部分以一定概率被系统抽取,剩余则会以各个形式返还给玩家(奖池、中奖等方式)
  • 公式:∑玩家赢分=∑系统吃分*(1-抽水率)①
  • 抽水率是整个游戏最核心最基础的一个参数,调节该数值会影响到很多其他的数值,抽水率越高,玩家越难中奖,抽水率越低,玩家越容易中奖。这种影响在捕鱼游戏中有明显的表现:
  • 捕获概率=发炮分值*(1-抽水率)/鱼分值

玩家发炮是否可以捕获鱼取决于概率值,而每次的概率值又和抽水率有关。抽水率调高后,玩家最直接的体验就是鱼变得难以捕获了。

 

系统赢收的分基本都来自抽水贡献,所以用户体验和系统盈利要再找一个平衡值,当然抽水率的设置也是比较关键的。需要进行大量的计算、模拟、测试,只有经过这些才能得出一个相对合适的数值,并且投入实际运营后,还需要结合真实的运营数据进行调整。

老虎机属于概率游戏,那么概率一定要大于人为控制,只有这样才会发挥出博彩类游戏的趣味性和竞技性。既然需要概率,那么我们要做的就是保证游戏概率性、趣味性前提下,在游戏数值上充分做好安全性设计。那就要引入安全蓄水线,就是系统通过抽水不断赢得玩家的分数,赢来的分数放置在蓄水池(奖池/库存)内,若溢出了若溢出了了安全蓄水线,则多余的会返还给玩家,并且蓄水池(奖池/库存)之内的系统盈利,每间隔一段时间(可调)会被自动清空一次(系统吃掉)。

安全蓄水线的分值可简单设置为静态,也可设计为动态。

 

静态的蓄水线的安全线很好理解:后台可随时对其进行修改。如:某段时间内,玩家样本数不多,概率大趋势未得以体现,系统赢分超过预期,则可以通过降低蓄水线数值,让玩家可更好的得到分数。

优点:可即时对游戏产生的各种突发情况进行瞬间应对;操作方便

缺点:控制精确度较低

适用:比较适合体量很小的单体老虎机游戏

动态蓄水线:与玩家数量(num),当前机器输赢状态(state)相关,系统根据这两个参数的情况,通过公式进行自行调控。公式可简单理解为:

蓄水线数值= f(num,state)②

举例:玩家人数较少,并且系统处于大量赢分的状态,想要吸引更多玩家,根据公式就会自动降低蓄水线(最低为0);玩家人数较多,并且系统处于大量输分的状态,想要保护系统利益,根据公式就会自动提高蓄水线(无最大值上限)。

 

具体公式的推导根据不同游戏稍有区别,但是大同小异。这里由于篇幅有限就暂不展开深层次内容。

优点:运营较为省力,控制程度较为精确,反应灵敏

缺点:初始设计时较为繁琐,需要保证不出差错

适用:多种老虎机集合的“电玩城”,或者包含很多周边奖池系统的游戏

系统“现出分”:动态数值,是一个参照的指标,体现的是系统在某个固定时间段/时间点是处于盈利状态还是亏损状态,绝对值可以表示盈利或亏损的程度。

公式如:现出分=系统吃分*(1-抽水率)-系统出分 ③

本公式相当于公式①的一个推导公式。计算的是系统在已经完成抽水之后的情况,也是系统的赢收安全的又一层保险。由公式可以看出,现出分表现形式如下:

具体盈亏的程度,则根据主要根据游戏不同、玩家数量不同、游戏币汇率不同有所区别。就拿我之前做过的一款老虎机游戏数据来说,整个游戏的“总现出分”表现的情况如下:

也可以根据各自的需求不同,设计成任意的档位个数,档位越多,灵敏程度越高。

上文中的公式②:蓄水线数值= f(num,state)。其中的state参数的数值就是“现出分”。

现出分的运用非常广泛,不仅仅可以统计整个游戏的整体情况,还可以单独统计游戏的某个部分的赢收情况。例如:在某电玩城中,有一个“转盘抽奖”的小系统,我们则可以通过统计转盘的现出分,来了解该单个系统的赢亏状态,并且根据分值的绝对值大小,判定赢亏程度,从而通过系数的调整来保证系统的盈利。

友好程度:友好程度也就是老虎机的“难度”,因为老虎机为概率游戏,因此用“难易”来区分个人觉得不太恰当,因此一般会用“友好程度”来表示。从字面上理解,也就是玩家在玩游戏时,体验到的是正反馈为主还是负反馈为主。

友好程度也是一个动态的参数,在老虎机游戏中,不同的数值也就代表着不同的友好程度。例如:数值A(整套)为较为难出奖项,数值B(整套)为较为容易出奖项,则A为友好程度较低,B为友好程度较高。

 

那么友好程度是否可以量化呢?答案是可以的。因为前文说过,纯理论的概率数值在实际运营中,很可能发生一些偏差,那么偏差的程度本身是量化的,我们通过设计不同友好程度的数值去修正这些偏差,则修正的力度和偏差的程度是直接相关的,因此也就将“友好程度”量化处理,从而可以推导出不同友好程度下的具体数值。

 

经常玩实体老虎机的朋友们应该会有体会,在实体机器上,会有“吃分期”和“吐分期”:在“吃分期”,机器会以吃分为主,玩家大多数都会输给机器,这也就是友好程度较低;在“吐分期”,机器会吐出分值,玩家很容易赢的分数,这也就是友好程度较高。

下图中,站在玩家的角度,可以看出机器在两个周期之间的转换:

以捕鱼游戏为例,若机器在吃分期时,系统的抽水率会提高,根据捕获概率的公式:捕获概率=发炮分值*(1-抽水率)/鱼分值

可得,提高抽水率会直接降低捕获概率,玩家的体验就是:鱼很难捕获了。

若机器处于吐分期,系统的抽水率会降低(一般不会为0),从而捕获的概率提高了,玩家的体验就是:鱼很好捕获了。

以我之前做的一个“水果机”数值为例,我将游戏设计为3个友好程度,为了便于理解,字面叫做“困难/中等/简单”模式,不同模式下的奖项概率是不同的:

图中的左侧奖项指的是游戏中的特殊额外奖项,显而易见,若机器处于“吃分期”的“困难模式”,有些特殊奖项是根本不会出的。

这也就是上文所说的“修正的力度”,实际数据与设计的理论概率值偏差越大,则系统的修正的力度也就会越大,最终通过自动的调控,将整体的游戏结果无限接近我们设计的理论数值。

在计算“修正的力度”时,也就会推导出上图中的各个具体数值,计算过程中需要考虑到很多的环节,因为数值环环相扣,所以千万不能有任何的遗漏,做完之后带着数值VBA进行“模拟修正”,看看是否达到了我们想要修正的预期。尽量避免“矫枉过正”和“力度不够”的现象出现。

那么如何让友好程度对应的数值进行自动的调控呢?可以简单用一个关系式表明:友好程度=G(现出分)

也就是说,友好程度选择不同的对应数值,取决于游戏当前的盈亏情况和程度(也就是现出分),他们之间一般符合的是一个分段函数的关系,随意的一组数据解释一下:

根据上表,在动态的“现出分”之下,游戏机的友好程度随着它变化而对应发生改变。

至于具体设置多少个档位,理论上当然是越多越好,但是实际操作上,一般3个档位基本就可以应付绝大多数情况了。

添加新评论