一个很好用的中奖概率控制器
嗨!大家好,我是小蚂蚁。 今天分享一个非常好用的概率控制器,可以用于游戏中两种行为出现的概率控制。这个方法来自于《大师谈游戏设计》(作者:吉泽秀雄)一书中,作者提到的一个 WIN-LOSS 控制器。 这个 WIN-LOSE 主要用于赌博机中控制中奖与否的概率。 [图片] 如图,就是一个 WIN-LOSS 表格,书中使用的是 16 进制,为了方便理解,我对其进行了修改和简化,改成了 10 进制,不过原理都是一样的。第一列表示的是点数,每个点数区间包含 10 个数字,右侧红色的格子表示不中奖,绿色的格子表示中奖。点数在 91 ~100 的时候,必定会中奖,点数在 1~10 的时候,基本上不会中奖,也就是说点数越大,中奖的概率就会越高。 除了点数之外,还有两个用于控制概率的值,一个是当抽到未中奖时,点数就会增加 M,另一个是当抽到中奖时,点数就会减少 N。 也就是说,增加值 M 较大的时候,中奖的概率就会提升的很快。减少值 N 较大的时候,一次中奖后,下一次中奖的概率就会降低很多,通过调整这个 M 和 N 的值,就能调整出非常多的中奖与否概率的组合。 虽然这是一个用于赌博机中的概率控制,但是很显然这个方法,可以应用于任何需要控制两个事件发生概率的地方。比如说用于敌人攻击的频率,敌人刚出来时的点数为 100,增加值 M 为 0,减少值 N 为 5,这样敌人一出来就会疯狂攻击,但是很快就会力不从心。或者让敌人刚出来时的点数为 30,增加值 M 为 5,减少值 N 为 1,这样敌人刚开始出来不怎么攻击,但是随着时间的增加,攻击频率会越来越高。 接下来,我们就制作一个示例,应用一下这个 WIN-LOSS 控制器。我们制作一个抽奖机,然后利用“点数增加值”和“点数减少值”来调整中奖的概率。 来到微信小游戏制作工具中,首先创建一个表格。 [图片] 这个表格对应的就是 WIN-LOSS 图表,其中 1 表示中奖,0 表示未中奖。 接着,我们布置一个简单的场景。一个抽奖按钮,一个当前的点数,一个是否中奖的提示。 [图片] 接着,创建三个变量。如果未中奖,点数就会加上“增加值”,如果中奖了,点数就会减去“减少值”。 [图片] 最后,看一下抽奖按钮上的积木逻辑。 [图片] 逻辑其实很简单,点击抽奖时,使用当前的点数除以 10 ,然后向上取整,可以得到表格中的行号,得到行号后,从 1~10 中取出一个随机数当作列号,抽取表格中的数判断是否等于 1,等于的话表示中奖,将点数减少。不等于的话表示未中奖,将点数增加。 最后,运行一下,抽个奖。 [图片] 对于中奖与否的概率,我们可以通过修改“增加值”和“减少值”来对其进行调整。 不得说这个方法真的是很精巧,使用一个表格,两个变量,就能够实现对于概率的有效控制。 这个方法是值得纳入“游戏开发工具箱”的,因为它可以应用到很多的游戏中。作为一个游戏开发者,你应该有一个“游戏开发工具箱”,里面收纳了很多好用的工具,例如网格布局,查找算法,随机数控制......以及今天的这个 WIN-LOSS 概率控制器。这些工具会在游戏开发的过程中频繁的用到,能够帮助你极大的提升开发的效率。 另外,在了解了今天的这个方法之后,你大概也就知道那些抽奖机的原理了。当你点击抽奖按钮的那一刻,结果早就已经确定了,至于是转圈,抽卡,砸金蛋,还是刮刮卡,不过都是后续的表现形式而已。 当你持续多次没有中奖后,下一次中奖的概率就会比较大(没有人会玩一台始终无法中奖的机器),或许你可以再试一下,没准就中了。 当你中奖后,想要进一步乘胜追击的时候,不妨再想一想,因为下次中奖的概率可能会小很多,此时,适可而止落袋为安,或许是一个不错的策略。 识别下方小程序码,可体验抽奖示例。目前增加值是 5 ,减少值是 20,可以感受一下中奖概率的变化。 [图片] 文中抽奖示例已开源,关注下方【小蚂蚁教你做游戏】的公众号,在公众号中回复“抽奖”,可以获取项目链接。 [图片] 欢迎加小蚂蚁微信(xiaomayi6669),交个朋友。 [图片] 这是我做的几个简单好玩的消除小游戏,闲暇之余希望能给你带来片刻的放松和愉悦。无需下载安装,微信扫码就可以直接玩啦! [图片] [图片] [图片] [图片] [图片]