玩家在游戏中抽奖抽的停不下来,是因为这个?

简介: 玩家在游戏中抽奖抽的停不下来,是因为这个?

嗨!大家好,我是小蚂蚁。


今天分享一个非常好用的概率控制器,可以用于游戏中两种行为出现的概率控制。这个方法来自于《大师谈游戏设计》(作者:吉泽秀雄)一书中,作者提到的一个 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 概率控制器。这些工具会在游戏开发的过程中频繁的用到,能够帮助你极大的提升开发的效率。


另外,在了解了今天的这个方法之后,你大概也就知道那些抽奖机的原理了。当你点击抽奖按钮的那一刻,结果早就已经确定了,至于是转圈,抽卡,砸金蛋,还是刮刮卡,不过都是后续的表现形式而已。


当你持续多次没有中奖后,下一次中奖的概率就会比较大(没有人会玩一台始终无法中奖的机器),或许你可以再试一下,没准就中了。


当你中奖后,想要进一步乘胜追击的时候,不妨再想一想,因为下次中奖的概率可能会小很多,此时,适可而止落袋为安,或许是一个不错的策略。

相关文章
|
存储 数据安全/隐私保护 Ubuntu
安装Coturn(TURN / STUN服务器)
安装Coturn(TURN / STUN服务器) 在云上使用TURN / STUN服务器,需要打开安全组中的所有UDP端口,因为STUN / TURN将使用整个0-65535范围内的任何可用端口。 在Ubuntu 16.
14433 0
|
5月前
|
算法 API Windows
一键解除机器码工具,永久修改机器码工具, 破解一机一注册码软件
这段代码实现了硬件信息获取和伪装功能,包含三个模块:硬件信息获取、伪装算法实现和主程序入口
|
2月前
|
开发工具 C++ 开发者
如何判断电脑上已安装了哪些版本的VC运行库?
本文介绍如何检测电脑中已安装的VC运行库(Microsoft Visual C++ Redistributable)版本,涵盖图形界面、命令行、注册表、批处理脚本及专业工具五种方法,适用于不同技术水平用户,帮助准确识别VC++各版本(如2010、2013、2015-2022)及系统架构(x86/x64),确保软件兼容性。
1033 12
|
7月前
|
测试技术 Linux 网络安全
【App Services】App Service报错远程证书无效 - "The remote certificate is invalid according to the validation procedure"
在开发环境中,新部署的应用(App Service)无法与 Salesforce 的远程端点建立 SSL/TLS 连接,报错显示证书无效。经分析,防火墙启用了 SSL Inspection,插入了私有 CA 签发的中间证书,导致 App Service 无法验证。解决方案包括禁用 SSL Inspection、设置 `WEBSITE_LOAD_ROOT_CERTIFICATES` 环境变量或临时禁用代码中的 SSL 验证(仅限测试环境)。
218 8
|
10月前
|
人工智能 算法 数据格式
DeepSeek 开源周第二弹!DeepEP:专为 MoE 训练和推理设计的并行通信库
DeepEP 是 DeepSeek 开源的首个专为混合专家模型(MoE)训练和推理设计的通信库,支持高吞吐量、低延迟通信,优化 NVLink 和 RDMA 网络性能。
912 3
|
Prometheus Kubernetes 监控
k8s部署针对外部服务器的prometheus服务
通过上述步骤,您不仅成功地在Kubernetes集群内部署了Prometheus,还实现了对集群外服务器的有效监控。理解并实施网络配置是关键,确保监控数据的准确无误传输。随着监控需求的增长,您还可以进一步探索Prometheus生态中的其他组件,如Alertmanager、Grafana等,以构建完整的监控与报警体系。
381 60
|
10月前
|
机器学习/深度学习 PyTorch TensorFlow
深度学习工具和框架详细指南:PyTorch、TensorFlow、Keras
在深度学习的世界中,PyTorch、TensorFlow和Keras是最受欢迎的工具和框架,它们为研究者和开发者提供了强大且易于使用的接口。在本文中,我们将深入探索这三个框架,涵盖如何用它们实现经典深度学习模型,并通过代码实例详细讲解这些工具的使用方法。
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能宠物监控与管理
使用Python实现深度学习模型:智能宠物监控与管理
493 0
|
Docker 容器
docker 中文件和外部文件映射
docker 中文件和外部文件映射
|
存储 安全 API
C++一分钟之-C++中的枚举类型(enum class)
【6月更文挑战第25天】C++的`enum class`(强类型枚举)在C++11中引入,增强了枚举的作用域和类型安全,减少命名冲突。它要求使用全名(如`Color::Green`)访问枚举成员,并能显式指定底层类型。常见问题包括默认值非0、隐式转换和范围溢出,解决办法是明确赋值、显式转换和选择合适底层类型。高效技巧包括用于状态机、作为函数参数、创建别名和迭代。掌握这些能提升代码质量。
613 0