伪随机比真随机更公平吗?

5 条评论


  • 23

    Xylt腾讯Next工作室成员

    琪露诺Yoge一疼 等 23人赞同

    首先默认题中的“伪随机”一词指伪随机分布(Pseudo Random Distribution),“伪”的是分布而非随机产生的过程,与“真”随机分布(Uniform Random Distribution)相对。纠结于计算机受限于随机数生成器无法产生真随机的问题与本题无关。


    最常用的伪随机是通过一个转换关系,将期望概率转换为一个初始概率值c和一个浮动概率值k,使得每次事件A的概率变为如下公式:

    P(A) = c + k * n,其中n为自上次事件发生后连续未再发生的次数。

    在这个公式下,每次随机事件不再是独立事件,而是与之前随机结果直接相关的事件,而显示给玩家的概率只是一个统计意义上的期望值,保证最终结果在样本足够大时与给定的期望概率一致。也就是说,运用这种伪随机分布来进行暴击等概率结算的游戏中,第一刀的暴击率是要比描述中的暴击率要低的,而随后如果连续很多刀没有暴击,接下来暴击的概率会大幅上升。而在n大到一定程度时,下次暴击的概率变成了大于1的值,从而必定暴击。

    伪随机(Pseudo Random Distribution)与常规随机(Uniform Random Distribution)的概率分布如下(在P=25%时):

    b3f533dfd1ef898e6a271d015a7a8b31.png

    可以看出伪随机的特点在于分布更集中在一些区间。对暴击而言,更容易出现每x刀一次暴击的可能,也更难出现连续暴击。由于其分布可控性,在包括魔兽争霸3、Dota 2等知名游戏、以及一些国产开宝箱游戏中都有所应用。在这些游戏中,设计师用伪随机来避免一些极端情况的出现,尤其是在玩家群体足够大时,减少因这些极端情况而导致的负面影响。


    那么这些极端情况到底有多极端呢?

    让我们来找几个例子,以各类卡牌游戏中让人又爱又恨的开包为例吧。

    假如某个游戏一次开包有1/30的概率(未做任何处理)出特别稀有的强力卡,并且多数玩家都是每天开一次包。从理想的角度来说,这个游戏希望能玩家每个月经历一次这样的喜悦,多了不珍惜,少了又坚持不下去。

    现在这个游戏有1000万活跃玩家,那么在一个月内从未见到过任何强力卡的玩家约有362万(36.2%, 约等于1/e),三个月里这数值是47.3万(4.73%),坚持一年依旧从未见到强力卡的玩家平均也会有42个,而一年里完全没有这样的“非酋”玩家的概率几乎是零。

    对于一个优质移动端卡牌游戏,这三个尺度分别对应了爆炸期、巅峰期、成熟期。前一个月有30%多的玩家从未经历过游戏的某部分核心乐趣,这部分玩家如果有一半都去社交圈或者论坛发个帖吐槽,会产生多少负面评价?这样的玩家能坚持多久,游戏又能活多久?


    之前说了,这个游戏不希望通过提高概率来避免极端情况——这会导致其他玩家的获得概率也提升,那么这时候就得通过操控概率的手段来实现了。于是更好的做法应该是用上述的公式控制极端情况n的上限,比如设置到n的上限为45天。如果要吸引新入坑的玩家,让他们一开始能尝到甜头,还可以把每个玩家的初始P(A)设置到比较高的数值,在暴出强力卡以后再回归为正常的数值。


    从某种意义上来说,伪随机控制下的随机因素在游戏中更难出现因运气因素而扭转局势的可能,更能提升游戏的竞技性。至于是否会使游戏变的更公平,要注意的是运气因素本身也是公平的,并不会影响每个玩家收益的期望。但我个人倾向于认为,使用伪随机在一定程度上能保证多数游戏的体验,虽然不影响公平性,但值得使用。而对于另一些把运气与戏剧性因素作为重要卖点的游戏而言,游戏玩法中的伪随机反而使游戏变得复杂臃肿,也因此变得不可取。

    更新于 2016-12-10 01:25:56 0 条评论


  • 9

    鹿角有翼兔你看到了有着一对长耳的白色绒球。

    鹿角有翼兔Yoge共游主义丶影子 等 9人赞同

    我想提出一些不同的意见。

    @Xylitogum‍ 答主的一个观点我不赞同,那就是‍“运气因素本身也是公平的,并不会影响每个玩家收益的期望”。

    我来举一个简单的例子来解释我为什么不这么认为。

    我有100元,你有10元,而我们进行一场赌局,双方获胜的概率均为50%,输家会付给赢家1元钱,并且一直赌下去。

    在独立的随机事件当中,拥有钱越多的人,其风险承受能力越高,而拥有钱少的人,则总是到最后会输掉。按照数学期望来计算概率的话,是不赔不赚的,但是其随机的不可控性带来的偏差会导致一个显而易见的不同的结果——在这个例子里,你玩不到几次就会输光光。

    那么,数学期望是多少呢?

    然而在非独立的随机算法中,则很可能是不同的结果,比如最简单的,一次你赢一次我赢的算法,那么我们就可以一直不分输赢。

    这样来看的话,数学期望又是多少呢?

    .

    然后我们再考虑一点心理因素。

    比如赌徒谬误:人们很容易在直观上产生一些主观情绪,当连续赢的时候,人们会直观的认为很容易下一次会输——反之亦然,当连续输的时候,人们会直观的认为下一次容易赢。即使是在独立随机事件中,也依然会存在这种直觉。

    在游戏中,操纵赌局是否继续下去的是玩家,而玩家是受到以上的心理因素的影响的,那么独立随机和非独立随机带来的玩家行为,也自然有着较大的差异。在独立随机中,由于连续出现输、赢的状态,更容易导致玩家的非理性情绪的出现,这是否也应该考虑在“公平性”的范围内呢?

    就好像是,当双方都在比赛踢足球,一方是主场有人加油助威,另一方是客场只有人喝倒彩,对于双方来说公平吗?

    .

    所以我认为,不同的随机算法是对公平性有着相当大的影响的。

    发布于 2016-12-06 22:04:07 8 条评论


  • 1

    冷秦人game developer

    杨漾诗yys 赞同

    题目中的伪随机指的应该是补偿吧。

    例如:

    如果攻击发生暴击的概率是30%。

    事件的次数固定为100次。

    连续70次都没有暴击,理论上,“伪随机”会让接下来30次每次都会暴击。


    然而事实上,除非把每个人的概率都记录下来,并且每个使用自己独立的“伪随机”。

    否则,对某个物品使用伪随机判断是否被人抽走。那么对于每个人来说并没有什么区别。

    发布于 2016-12-08 17:32:16 1 条评论


  • 1

    赵越俞RPG类爱好者,同时摸摸FPS

    阿伦兹 赞同

    本身随机就代表了不公平,“公平的随机”本身就是个伪命题,游戏厂商给你伪随机是人家心地善良,给你真随机也无可厚非,你能说什么呢?脸黑怪游戏咯?总之一旦玩家接受了随机就代表接受了不公平,谁会想到倒霉的会是自己呢?

    发布于 2016-12-07 07:46:30 13 条评论


  • 1

    大城小胖不给自己点赞就是一种犯罪,会被打成小胖

    大城小胖 赞同

    很无趣的较个真:

    随着计算机周边设备和各种传感器的丰富,在现代计算机设备上,是可以实现真随机数的。

    比如充分利用计算机的 麦克风(采集周围噪音),摄像头(周围画面和光感), 重力加速计(计算机在x y z三轴的绝对加速度和相对加速度) , 陀螺仪(设备的角度速度) , 体温传感器,脉搏传感器,系统时间(纳秒级), 随机数生成器……综合使用这些数据,是可以实现真随机的。

    只是这种随机数的生成和使用条件比较苛刻,对于游戏意义不大。

    发布于 2016-12-06 22:43:51 5 条评论


  • 1

    风雪想做游戏设计的游戏程序员

    那得看公平怎么定义了。


    花多少钱拿多少战力价值的卡叫公平?

    还是大家拿到同战力卡的机会均等叫公平?


    前者公平无疑伪随机公平,后者公平显然是真随机(无暗保底的伪随机)。

    概率不公开的话,前者的伪装感受好一点,如果概率公开的话,后者感受更好一点。

    更新于 2016-12-06 21:52:07 2 条评论


  • 0

    柔王丸力拔山兮气盖世,时不利兮游不驰

    只要样本量一致(不是伪随机和真随机一致,而是同一个随机机制中 比较的双方样本量一致),它们本身都是公平的,   公平是说,同样的前提条件,就是公平的。

    但是,人是有自我意识的大动物 ,是会反抗的,而且游戏这东西又不是集中营。能强迫玩家患上斯德哥尔摩心理症状。  所以 以随机性布出来的斯金纳箱机制,如果获得利益的概率太低,玩家就会因焦虑而放弃。 但是如果获得性概率高了,厂商就无法以稀缺性来吊玩家,所以伪随机是一个很有用的折中机制。 既可以保证低概率,又可以控制玩家不会弃。

    发布于 2019-07-27 16:10:22 0 条评论


  • 0

    Arcadiathe Paymaster

    这里说的伪随机指的应该是类似概率叠加算法的处理,即前面答案说的每次随机事件不再是独立事件。引入的目的主要是为了在保持期望基本不变的情况下降低极端情况出现的几率(连续触发、长期不触发等),使一个随机事件变得更为可控和稳定

    举个栗子,游戏中常用到的暴击技能,如果概率是25%,倍率是2x,那么这个技能的期望就是提升25%输出。但是呢,它还带来了一个副作用,就是你有大概1.5%的几率会连爆3刀,打出200%的输出。如果有玩家被这样爆死了,他可能就会摔键盘删游戏。


    随着概率的降低,效果的提升,这种副作用的几率虽然下降了,但是效果会越来越严重

    只要玩家数量足够多,或者说玩家重复这一随机事件的次数足够多,极端情况就一定会出现

    在两种情况下,控制此类小概率事件非常重要:赌博和竞争

    从这个角度来看,可以说是降低了运气成分,确实是增加了公平性

    更新于 2016-12-07 11:48:43 2 条评论


  • 0

    共游主义丶影子共游主义,让我们写点东西

    伪随机在抽奖上应该比真随机更优秀

    同时也对我这种斧王活活被两组十多个小野a死的,公平一些(笑)

    发布于 2016-12-07 05:04:31 0 条评论


  • 0

    拉普拉斯的饿膜苦逼程序员/游戏品鉴师

    我并不完全同意@Xylitogum‍ 的观点,首先游戏中的伪随机是设计师故意要避开极端情况,是设计需要,而真正的伪随机是要看随机函数的内核怎么处理的。就比如问题比较大的Lua随机,会呈现一点正态分布的趋势,就会导致,如果有人抽到SSR,你立马跟进,有比普通概率更大的机会抽到SSR,这就是玄学的诞生。而大部分伪随机,并没有如此的不“随机”,如WPA加密方式所随机的密钥,其缺陷就是第二位出现0的概率是原先概率的2倍,如果想破解得到密钥,还需要拥有足够多的密文,才能推出。这种伪随机的漏洞可以说在游戏中完全没有利用价值,因为伪随机除了Seed之外,还需要利用时间来进行运算,计算机的时间精确到毫秒级别,你在游戏中不可能说,我算出来在1.0001秒后,砍他就会暴击,或者2.235秒后点击抽卡,如果数据传输顺利,将在0.002秒后传输到服务器,这样必出SSR。如果游戏中使用真正的伪随机,起到的效果也和真正的随机机会没有任何区别,因为你根本无法知道下一时刻会发生什么,因为当你计算出来后,起码也过去5分钟了。

    因此我觉得,只要不使用明显缺陷很大的伪随机,真/伪随机对游戏基本没啥影响。

    其次,独立与否是否公平,我觉得、、、讲道理,阴阳师SSR概率我算他是1%,如果相互独立,50连,你抽不到的概率是60.5%左右,100连你抽不到的概率是36.6%,再抽下去概率更低,你要真这辈子都抽不到,只能说,抽的太少。一天一发,抽一年365天,差不多2%概率抽不到,参照无限猴子定律。当然,如果不是独立事件的话,前一次抽不到,后一次概率会略涨的话,我觉得,这个是全员享用,并不是独享的,因此还是公平的,毕竟欧洲人并不可能一直欧洲下去,比如“螺旋境界线”就选用了50连保底SR的手法(人家游戏没有SSR)。

    更新于 2016-12-07 04:54:12 0 条评论


  • 0

    Kingfeng我们作为一个协会誓要治愈这个世界及其居民

    我是靠着自己的脸赢得

    凭什么不公平

    运气也是实力的一部分

    不爽不要玩

    发布于 2016-12-07 02:30:36 1 条评论

  • 登录奶牛关账号即可参与讨论

{{question['follower_count']}} 个玩家关注

...

相关元素

相关游戏

相关问题

Global Game Jam 2018有哪些值得关注的作品和团队合作经验?

4人关注 0个回答

Game Character Hub 的实用性与美观程度如何?

2人关注 1个回答

这道游戏设计的面试题该如何作答?

23人关注 6个回答

问题被以下收藏夹收录