游戏抽卡概率模型

news/2024/11/14 12:48:16/

目前的中国游戏市场,最热门的莫过于免费抽卡手游。游戏厂商为了盈利,设计出有不同规则的卡池,让玩家抽卡获取稀有的人物和武器。这一机制吸引了很多玩家,首先因为手游是免费的,入手门槛较低,其次很多人喜欢抽卡获取角色和武器的成就感。为了更吸引玩家,游戏策划就得设计出能够让大部分玩家,无论是欧皇还是非酋满意的抽卡机制。本文将简要分析目前游戏厂商可能使用的抽卡机制(仅属于个人猜想加一些网上的资料)。

文章目录

    • 抽卡机制的大致分类
    • 伪随机模型
      • 十连保底
      • 概率增加模型
    • 参考资料
    • 源代码

抽卡机制的大致分类

  1. 最简单的抽卡模型就是每次抽卡的概率都是固定的,也就是说每次抽卡的概率都是 p p p,我们可以称之为纯随机。那么玩家第 n n n次抽中的随机变量分布就是一个几何分布。这种抽卡模型很明显对于非酋非常不友好,理论上可能存在抽了很多很多次仍然没有抽中的人存在。所以纯随机模型在抽卡游戏中是不会使用的。
  2. 对应于纯随机的,我们可以称之为伪随机(注意这里的伪随机和计算机随机数概念中的伪随机不是一个东西)。伪随机就是说每次抽卡的概率都是是会进行改变的。下面就重点介绍几种可能的伪随机模型

伪随机模型

概率增加模型
在这个概率模型下,由于100次的时候 p ( 100 ) = 0.01 + 99 × 0.1 = 1 p(100)=0.01+99\times0.1=1 p(100)=0.01+99×0.1=1,所以实现了一个100抽保底的效果。但是策划希望的是100抽保底,并且大部分人应该是在五六十抽的时候抽到的,而在这个模型中,超过90%的人在前二十抽就抽到了,这显然不符合预期。所以在这个模型的基础上,我们需要进行相应的调整,让模型的最高点向右偏移。我们由此可以使用一下模型:前50次抽卡概率固定,后50次抽卡使用上面的模型,每次抽卡概率增加。这样我们得出的该概率质量函数就是
p ( x ) = { p , x < 50 p + α ( x − 50 ) , x > = 50 p(x)= \begin{cases} p, & x<50 \\ p+\alpha(x-50), &x>=50 \end{cases} p(x)={p,p+α(x50),x<50x>=50
和上面一样,如果需要满足100抽保底的话,让 p = 0.02 , α = 0.02 p=0.02,\alpha=0.02 p=0.02,α=0.02。其概率质量函数和累积分布函数图像如下:拓展模型
这张图我认为说可以用作五星的概率模型了。70发之前大部分人都能够抽到,并且集中在40发到70发,占了43.69%。这也可以视作游戏玩家口中的“低保”。

我们使用上面的模型模拟10000次100连抽,得到的结果如下:
拓展模型模拟
这个结果个人认为就非常像真实游戏中的结果了,大部分人都只能够抽到1-2发,并且很多人都是依靠低保的(这很真实)


最后还写了一个模拟原神中抽卡的程序,并没有使用概率增加,仅仅只是用保底的跳跃性的概率变化来实现保底的功能,以后可能在优化一下。这是一次100抽的结果
在这里插入图片描述
四星角色三次触发十连保底,五星角色一次在43抽抽中,一次在47次抽中,一共抽到了2个五星,9个四星。感觉这个概率貌似比真实中更高一些,以后再优化优化…

参考资料

明日方舟抽卡概率和保底机制研
游戏抽奖概率模型

源代码

概率模型GitHub
原神模拟GitHub


http://www.ppmy.cn/news/292966.html

相关文章

openEuler22+GreatSQL+dbops玩转MGR

芬达&#xff0c;《芬达的数据库学习笔记》公众号作者&#xff0c;开源爱好者&#xff0c;擅长 MySQL、ansible。 背景 openEuler 是什么 openEuler22.03 LTS 是 openEuler 社区于 2022 年 3 月发布的开源操作系统&#xff08;从系统版本的命名不难发现吧&#xff09;。openE…

基于Java的贪吃蛇游戏设计(含免费可用源代码)

补充说明&#xff1a;本文为笔者在校期间Java的课程设计题目&#xff0c;也参考了许多前辈的实现思路&#xff08;但是游戏设计的比较简陋&#xff09;。文中主要介绍了本课题的设计思路和项目结构&#xff0c;以及一些问题的解决方案。如果您也有这些疑问并对此感兴趣&#xf…

免费分享《精通C#游戏编程》

通过此链接&#xff1a;https://download.csdn.net/download/ls9512/9288043下载&#xff0c;现在给大家分享一下这个《精通C#游戏编程》 《精通C#游戏开发》是比较难得且想尽的C# Opengl游戏开发的书&#xff0c;网上流传的大多是英文版和一个146页严重删减的中文版&#xff…

最佳和最快的游戏 DNS 服务器

DNS 服务器对于游戏至关重要&#xff0c;因为它们会跟踪您正在访问的网站。当您想在线玩游戏时&#xff0c;它们还可以帮助您的计算机连接到正确的服务器。在本文中&#xff0c;我们将介绍一些用于游戏的最佳 DNS 服务器&#xff0c;以及它们如何帮助您改善在线体验。 Best an…

推荐一款开源游戏开发平台

玩过那么多游戏&#xff0c;你是否有想过自己创造一款游戏冲动&#xff0c; 可既没素材&#xff0c;又没相关知识不知道如何下手&#xff1f; 最近偶然间找到一款开源的游戏开发平台&#xff0c;可以全方面的带你进入游戏的开发世界&#xff0c;领略游戏的开发乐趣&#xff0c…

八种实用的免费游戏开发软件工具

作者&#xff1a;陈峻编译来源&#xff1a;51CTO 【51CTO.com快译】如今&#xff0c;随着技术门槛的降低&#xff0c;任何人都可以使用正确的软件和稍懂一点的专业知识&#xff0c;来制作视频游戏。当然&#xff0c;这并不意味着游戏开发就此变得容易。如果您想让自己的游戏在视…

10个免费的游戏开发引擎

游戏开发现在是很火的职业。在开发游戏时,你需要使用一些免费的游戏引擎。它可以简化开发过程,使你可以专注于核心游戏的执行,而不需要做一些无用的工作。以下和大家分享10个免费的游戏开发引擎,它们是目前最流行的,也是被国外的游戏开发者普遍使用的。也许我们国内的程序…

Ubuntu Linux上几款好玩的免费游戏

1.SuperTuxKart(赛车游戏) wangyetaolinux_u1604:~$ sudo apt-get install supertuxkart 下列【新】软件包将被安装&#xff1a;libenet7 supertuxkart supertuxkart-data 需要下载 423 MB 的归档。 解压缩后会消耗 561 MB 的额外空间。 2.Super Tux 2 - 经典的马里奥风格游戏…