专栏/50%暴击=4下必暴!科普游戏中的伪随机

50%暴击=4下必暴!科普游戏中的伪随机

2019年12月11日 02:09--浏览 · --喜欢 · --评论
达文戏
粉丝:526文章:55

同名视频:




很多玩家在游戏中都经历过这样的事:


自己的明日方舟炉石传说,10连开包次次蓝天白云;朋友1抽,哇!金色传说。


以前刷大菠萝,现在刷怀旧服大螺丝,游戏变了,但运气还是那般,一世无橙。


玩LOL和DOTA2的时候,自己的英雄50%暴击红字难求,对面的15%暴击重拳出击。



每当遇到这种倒霉的“随机事件”,总能让人顿足捶胸:这哪里是什么技术游戏?分明就是辣鸡游戏,全靠运气!


其实不管是现实生活还是游戏世界,都存在各种各样的“随机事件”。中彩票有概率、掉橙卡有概率、女朋友无缘无故生气也有概率。


但两者又有些不同。女朋友生气大多数时候是看心情的,难以预测;而游戏世界里的大多数“随机事件”都有一个“剧本”。


也就是说,你今天开的蓝天白云、打怪爆的什么装备,其实系统早就给你安排得明明白白了。这些所谓的“随机事件”其实不是真随机,而是按照代码来实现的“伪随机”。


那问题来了,什么是“伪随机”?




一、伪随机


大家可以简单理解为,能用算法生成近似于随机结果的尝试,叫伪随机。(此处的算法一般指梅森旋转算法,这里不展开)


举个通俗易懂的梨子,音乐app的随机播放就是典型一个的伪随机。


今天我想在咪咕上随机播放3首歌。系统会根据算法,随机给我生成一个播放列表。如果是真的随机,我会听到重复播放的歌曲。比方说我听完《Love Story》下一首还是《Love Story》的概率是33.3%。



然而事实却是,随机播放的歌基本不会重复。所以当这个歌单播放了2首歌之后,我是能准确预测第3首歌的。


这种“部分可预测性”是伪随机的最大特征之一。


而真正的随机事件,是相互独立的,它不受其他事件的发生而影响。它不会因为你播放了这首歌,而影响下一首歌的播放。每一个结果都不可预测(最多有概率)。


那为什么要用这样的“伪随机”来营造一种“随机”的感觉呢?


说出来你可能不信,选用“伪随机”是为了照顾玩家(用户)的体验,让玩家(用户)感到更“随机”。




二、游戏中的伪随机


游戏中也存在各种各样的随机事件。


就以文章前面说到的明日方舟为例。游戏中最优质的卡牌——六星干员爆率是2%,这个概率虽然看着通俗易懂,但很多人其实是有认知盲区的。



不少玩家将它简单地理解为“开50包必有1张六星”,但其实开50包至少有1张六星的概率只有1-(1-0.02)^50=63.58%,剩下36.42%的人即使开满50包,他们连见六星影子的机会都没有。


就算是把开包的次数增加到100次和150次,依然会有13%和5%玩家开不到六星。在真实的随机事件下,这些情况下是客观存在的。



但对玩家来说,他们很难意识到这点。看着自己充了足够多的钱,却享受不到良好的游戏体验,他们会迁怒于游戏的运营和策划,骂游戏作假、策划暗改数值。


为了避免这种情况的发生,大多数集卡式游戏的抽卡系统都有一个叫Pity Timer(怜悯计时器)的保底机制。



还是以明日方舟为例。前50次不出六星的话,从第51次开始每次抽取就增加2%的六星爆率。就算是“非酋”,最多也会在第99次时抽到1张六星。


这种模式,有点类似war3的伪随机机制:PRD机制(英文全称Pseudo Random Distribution)。


其实现在很多竞技游戏中的伪随机机制,都是从war3演化而来的。就拿文章开头的暴击率为例。


DOTA2中的主宰(剑圣)有一个技能叫“剑舞”,满级时能提供35%的暴击率。



如果按照真实随机来计算的话,连续打出2次暴击的概率是12.25%


过高的暴击概率或许是观众的一发兴奋剂,但对严谨的竞技赛事来说,这无疑是砒霜。因为一次人品爆发秒掉对方核心,可能毁掉一个职业战队1年的努力。


为此,在不调整概率的情况下,V社学习了war3的机制,修改了相关的算法。目前DOTA2中所有的暴击、闪避、击晕、格挡效果都遵循PRD机制。


所谓的PRD机制可以用一个公式概括:


P(N)=C×N


其中,C是一个小于1的常数(算法复杂,但有现成的数值表),P(N)是事件第N次尝试时的概率。公式所表达的意思是,从事件发生起,每次不成功的尝试都会增加1个固定值;成功后概率重新计算。


这么说可能有点云里雾里,我用实际情况表达一次大家可能就理解了。


主宰的暴击率是35%。但第一次攻击时,它的实际暴击率(C值)只有16%。此后每次不暴击的攻击都会使暴击率提升16%。一直到第7下时暴击率为112%(理论上的数值),这意味着必出暴击。


DOTA2 WIKI提供的数据


换句话说那就是,35%的暴击率=攻击7下至少出1次暴击。


将新机制代入计算后,你会发现,35%暴击率连续触发暴击的概率仅有2.56%。相比之前,下降了近10%。


这样的计算方式降低了小概率事件的连续触发,大大降低了运气对比赛结果的影响;同时也规避了连续不触发的情况,保证了玩家的游戏体验。


除了DOTA2以外,LOL的暴击率也是采用了类似PRD的伪随机机制。


早在2011年的一次美服更新里,就有写道这么一句话:



(参考译文)我们已经改变了暴击和闪避的计算方式。你现在会有更少的“幸运”或“不幸运”的场景,你不会有连续的暴击或闪避,也不会被连续暴击或闪避。你的平均暴击率和以前一样,如果你有50%的暴击率,你攻击100次仍然会暴击50次。


这样的机制一方面在保护玩家的体验,另一方面又让结果倾向“随机”。除此之外,我们还能从这个机制“预测并掌握”一些信息。


比方说蛮王的被动技能“战斗狂怒”会提供最高50%的暴击率。它的起始C值约为30%(参考DOTA2的C值)。如果连续3次平A都不出暴的话,那么第4次是必然出暴的。



因此实战的时候,当你发现自己A了小兵3下都没出暴击的话,那么第4下可以果断选择A对方的英雄了。


当然竞技游戏里还是有少部分设定是“真随机”,比方说DOTA2蓝胖的多重施法,是欧皇还是非酋全看脸。




三、计算机与伪随机


每次在提到游戏伪随机这个话题的时候,总离不开一句“至理名言”:计算机只能生成伪随机。


事实上,当68年前第一台商用计算机Ferranti Mark 1问世后,“计算机科学之父”阿兰·图灵就设计出了一个真随机数发生器(True Random Number Generators,简称TRNG)。



它的原理是根据系统内的电器噪声,生成一个20比特的随机数字串。经过近半个世纪的发展,TRNG的技术才真正成熟。现在的TRNG已经可以通过采集环境中的空调声、雷暴声、女朋友撒娇等声音来生成随机数了。


在这其中有一个比较知名的真随机数网站:RANDOM.ORG。如果大家需要一些随机数,可以去尝试一下(不用梯子)。


随机数可视化后的图像,孰真孰伪很明显


因此准确来说应该是:计算机可以生成真随机但程序不能。


那既然有TRNG,为什么还有那么多游戏用程序生成伪随机呢?


这里主要是成本和效率的问题。TRNG的调试、维护成本都很高,而且效率低下。中国一个大型网游几十万人同时抽卡的运算量,TRNG可能都应付不过来;作为对比,伪随机程序可以轻松搞掂上千万的运算量。



再加上现在的伪随机数程序,已经快做到“以假乱真”的程度了。在诸多现实因素的综合考量下,用伪随机数的app、游戏才会越来越多。


所以啊,别去迷信那些所谓的“抽卡玄学”了。程序早就给你安排得明明白白了。



参考资料:

1、NGA:wjndante的“概率与随机”三部曲之其一——如何用计算机生成“真随机”

2、DOTA2 WIKI、炉石传说WIKI

3、random.org网站上Dr. Mads Haahr的文章



后记

1、关于音乐app的随机播放,最开始iTunes用的确实是真随机。但后面有用户投诉说,怎么老是听到重复的歌?你这是真的随机吗?你耍我呢??


苹果公司有苦说不出,最后把“真随机”改成了”伪随机”。改完之后,苹果用户纷纷点赞。我佛了。


2、PRD机制中的C值计算是一个比较复杂的过程,有兴趣的玩家可以去DOTA2 WIKI页了解一下。另外因LOL没有公开相关的C值,因此文中相关的讨论参考了DOTA2中的数值,如果不太准确,还请大家见谅。


3、DOTA2的暴击、闪避、格挡等机制一开始采用的是真随机的算法,但玩家试玩后表示并不习惯,后来V社还是沿用了先前war3的PRD机制,并做了改进。


不得不说,war3真是一款伟大的游戏。那时的暴雪拥有一群富有灵性、眼光卓绝的游戏天才,真是当之无愧的游戏梦工厂。



-END-

视频新人,欢迎各位大佬提出宝贵意见

如果你喜欢文章or视频的话

可以三连小小支持up主一波!


文章首发于公众号“游戏大侠”(game_newbie)


投诉或建议

哆哆女性网企业网站建设武汉宝宝起名名字大全属狗的2018宝宝起名营销推广费多少钱美国VS哥斯达黎加培训机构名称睢县吉建军各种珠宝首饰宝宝起名李欣什么姓周宝宝能起名梦见骑马是什么意思_周公解梦市场营销推广和关于爱国的作文沙漏情人电影免费在线商丘下水道疏通平姓 起名起重机业务名片什么是网站界面设计周易免费起名公司周公解梦梦见死去的亲人复活理智与情感电影辉字辈起名优化简历的网站嘿嘿嘿正确姿势小孩起名生辰八字五行查询母婴商贸起名梦境边缘破解版周易六十四卦解说商丘电动货车猫咪起名淀粉肠小王子日销售额涨超10倍罗斯否认插足凯特王妃婚姻不负春光新的一天从800个哈欠开始有个姐真把千机伞做出来了国产伟哥去年销售近13亿充个话费竟沦为间接洗钱工具重庆警方辟谣“男子杀人焚尸”男子给前妻转账 现任妻子起诉要回春分繁花正当时呼北高速交通事故已致14人死亡杨洋拄拐现身医院月嫂回应掌掴婴儿是在赶虫子男孩疑遭霸凌 家长讨说法被踢出群因自嘲式简历走红的教授更新简介网友建议重庆地铁不准乘客携带菜筐清明节放假3天调休1天郑州一火锅店爆改成麻辣烫店19岁小伙救下5人后溺亡 多方发声两大学生合买彩票中奖一人不认账张家界的山上“长”满了韩国人?单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#青海通报栏杆断裂小学生跌落住进ICU代拍被何赛飞拿着魔杖追着打315晚会后胖东来又人满为患了当地回应沈阳致3死车祸车主疑毒驾武汉大学樱花即将进入盛花期张立群任西安交通大学校长为江西彩礼“减负”的“试婚人”网友洛杉矶偶遇贾玲倪萍分享减重40斤方法男孩8年未见母亲被告知被遗忘小米汽车超级工厂正式揭幕周杰伦一审败诉网易特朗普谈“凯特王妃P图照”考生莫言也上北大硕士复试名单了妈妈回应孩子在校撞护栏坠楼恒大被罚41.75亿到底怎么缴男子持台球杆殴打2名女店员被抓校方回应护栏损坏小学生课间坠楼外国人感慨凌晨的中国很安全火箭最近9战8胜1负王树国3次鞠躬告别西交大师生房客欠租失踪 房东直发愁萧美琴窜访捷克 外交部回应山西省委原副书记商黎光被逮捕阿根廷将发行1万与2万面值的纸币英国王室又一合照被质疑P图男子被猫抓伤后确诊“猫抓病”

哆哆女性网 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化