Re: [閒聊] Yasuo Bug?消失

看板LoL作者時間7年前 (2018/06/19 12:16), 7年前編輯推噓27(27021)
留言48則, 35人參與, 最新討論串2/2 (看更多)
※ 引述《ericpan70096 (廢文初心者)》之銘言: : 如圖,有人知道為什麼會有爆擊嗎= =? : 主符文: : 征服者、凱旋、血脈、致命一擊 : 副符文: : 即刻衝擊、噬血獵人 : https://i.imgur.com/t2g0vx9.jpg
前提: 小弟不是遊戲從業人員也不是資工專業 假設: 不是Bug產生的爆擊而是遊戲機制的話 猜測: 爆擊產生的機制是在每次攻擊的時候 隨即亂數產生一個介於0到100的數字 然後執行if條件判斷 if (RandomNumber 小於等於 CritChance) then (Critical Strike) 在這個機制下,給定英雄爆擊率1%的話: 如果產生的隨機亂數是給到整數位(0-100,共101個情況),有0跟1兩個情況會爆擊,爆擊率變成2/101=1.98% 我們繼續增加亂數的小數位數, 1位小數的時候(0.0-100.0,共1001個情況),有0.0-1.0共11個情況會爆擊,爆擊率是11/1001=1.098% 2位小數的時候(0.00-100.00,共10001個情況),有0.00-1.00共101個情況會爆擊,爆擊率是101/10001=1.0098% 3位小數的時候(0.000-100.000,共100001個情況),有0.000-1.000共1001個情況會爆擊,爆擊率是1001/100001=1.00098% 4位小數的時候(0.0000-100.0000,共1000001個情況),有0.0000-1.0000共10001個情況會爆擊,爆擊率是10001/1000001=1.000098% 依此類推可以發現,當亂數的小數位數足夠多的時候,程式產生的爆擊率近似給定的英雄爆擊率 衍生出的問題變成,當給定英雄爆擊率0%並且產生的亂數是4位小數,那麼有1/1,000,001的情況會產生數值等於0.0000的隨機變數,而這個變數在條件判斷的時候會判定爆擊,換句話說,有大約百萬分之一的機率會在英雄0%爆擊的時候爆擊 當然,亂數的小數位給的越多,這個情況產生的機率越低,又或者,可以多寫一個條件判斷處理這個特例,但我猜這是一個Trade-off: 是不是有必要為了這個百萬分之一甚至更低的情況,在每次攻擊的時候都多執行一個if條件判斷 大guy4這樣 ----- Sent from JPTT on my Sony E6853. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 192.249.31.39 ※ 文章網址: https://www.ptt.cc/bbs/LoL/M.1529381789.A.2F0.html

06/19 12:17, , 1F
ㄜ 蛤 太專業了
06/19 12:17, 1F

06/19 12:17, , 2F
先拉下來推,免得人家說我文組看不懂
06/19 12:17, 2F

06/19 12:17, , 3F
當我看到那一大串數字就看不下去了 我等等還數學課
06/19 12:17, 3F

06/19 12:17, , 4F
呢==
06/19 12:17, 4F

06/19 12:18, , 5F
先推不然以為我不懂
06/19 12:18, 5F

06/19 12:18, , 6F
樓下懂不
06/19 12:18, 6F

06/19 12:19, , 7F
大約百萬分之一的機率會在英雄0%爆擊的時候爆擊
06/19 12:19, 7F

06/19 12:19, , 8F
這句我懂ㄌ==
06/19 12:19, 8F

06/19 12:20, , 9F
對我就是看不懂 看不懂的文章沒有推的必要
06/19 12:20, 9F

06/19 12:20, , 10F
就是0不是0,而是接近0
06/19 12:20, 10F

06/19 12:20, , 11F
如果改成小於 爆擊率 就不用多一個if了欸
06/19 12:20, 11F
條件判斷改成小於爆擊率的話,會有爆擊率100%卻不爆擊的情況,亂數4位小數的情況下,機率差不多一樣是百萬分之一,所以可以預期 [問卦] 有沒有100%爆擊率不爆擊的八卦

06/19 12:22, , 12F
看懂了,長知識了
06/19 12:22, 12F

06/19 12:32, , 13F
這不太可能,除非寫的人太隨便......(咦?)
06/19 12:32, 13F

06/19 12:33, , 14F
原來是數學版我以為是lol版。
06/19 12:33, 14F

06/19 12:36, , 15F
我記得r社的是pseudo,好像會有補償機制
06/19 12:36, 15F

06/19 12:36, , 16F
感謝回應><
06/19 12:36, 16F
※ 編輯: ravensweep (192.249.31.39), 06/19/2018 12:37:10

06/19 12:41, , 17F
那亂數只給到99是不是就不會發生100%但沒爆擊
06/19 12:41, 17F

06/19 12:41, , 18F
簡單來說就是機率不為0但板面上是0
06/19 12:41, 18F

06/19 12:43, , 19F
而且我記得LOL的機率是會隨著你爆擊失敗而提高
06/19 12:43, 19F

06/19 12:43, , 20F
為什麼是小於等於= =
06/19 12:43, 20F

06/19 12:43, , 21F
針對這點做計算應該就不會到百萬這麼多 但我不會:(
06/19 12:43, 21F

06/19 12:45, , 22F
不太可能 身上 符文完全沒爆擊的情況下不會爆
06/19 12:45, 22F

06/19 12:45, , 23F
你只要拿著空裝的角色對著假人狂射 射到結束就知道
06/19 12:45, 23F

06/19 12:45, , 24F
阿就小於然後0~99抽就好拉
06/19 12:45, 24F

06/19 12:46, , 25F
對啦 就是這樣 我就知道
06/19 12:46, 25F

06/19 12:49, , 26F
這機制本身就錯了= =
06/19 12:49, 26F
不錯,如果條件判斷改小於,隨機亂數在0到99之間抽就沒有這些問題了,那麼問題回到原PO的,為什麼0%爆擊率爆擊了,照理不管亂數怎麼抽,條件判斷一律不成立,不應該會爆擊。所以文章內寫的是猜測:P

06/19 13:01, , 27F
沒錯我本來也想這樣回的被你搶先了
06/19 13:01, 27F

06/19 13:05, , 28F
0%爆擊可以去買樂透的意思XD
06/19 13:05, 28F
※ 編輯: ravensweep (192.249.31.39), 06/19/2018 13:06:20

06/19 13:19, , 29F
可是如果真的是這樣的機制 哪天好死不死在大型比賽
06/19 13:19, 29F
沒錯,所以實際的機制九成九不是文中的方式 而是像其他版友說的,有補償機制的存在,但是實際的演算方式Riot沒有公布過,他們只有在很早期的Release Note中說過實際爆擊的機率跟你前幾次的爆擊情況有關,然後50%爆擊率在攻擊100次的情況下接近爆擊50次 猜測多半情況是一開始實際爆擊率低於50%,然後隨著你爆或不爆上下增減,最終大數下是50% 至於0%爆擊,應該是多次重複極度接近0,真的爆了就...爆了:P

06/19 13:19, , 30F
的關鍵局被0%爆擊逆轉 riot不就爆開ㄌ
06/19 13:19, 30F

06/19 13:22, , 31F
嗯嗯我也是這樣想
06/19 13:22, 31F

06/19 13:28, , 32F
其實我懂推文代表懂
06/19 13:28, 32F
※ 編輯: ravensweep (192.249.31.39), 06/19/2018 13:35:49

06/19 13:47, , 33F
哦 原來是這樣
06/19 13:47, 33F

06/19 13:48, , 34F
這個我早就知道了
06/19 13:48, 34F

06/19 13:48, , 35F
嗯嗯跟我想的差不多
06/19 13:48, 35F

06/19 13:52, , 36F
去讀書啦 期中考
06/19 13:52, 36F

06/19 14:09, , 37F
大家早就知道了==
06/19 14:09, 37F

06/19 14:17, , 38F
這個舉例就不太對 假設對到整數區間好了
06/19 14:17, 38F

06/19 14:18, , 39F
那也是 random number mod 100 出來的亂數不會有100
06/19 14:18, 39F

06/19 14:37, , 40F
恩恩 我也是這樣想的
06/19 14:37, 40F

06/19 14:41, , 41F
被你講走了,害我剛打的都刪光了
06/19 14:41, 41F

06/19 15:06, , 42F
我以為人人都知道的事情不用特地po出來講==
06/19 15:06, 42F

06/19 15:17, , 43F
0%爆 去簽樂透
06/19 15:17, 43F

06/19 16:17, , 44F
我也覺得是這樣
06/19 16:17, 44F

06/19 16:25, , 45F
LoL的爆擊率又沒有小數,直接取1-100不就好了
06/19 16:25, 45F

06/19 16:38, , 46F
可以白話一點ㄇ==
06/19 16:38, 46F

06/19 17:09, , 47F
我覺得反而跟牙速的被動有關係
06/19 17:09, 47F

06/19 19:07, , 48F
我也覺得用小於然後取0~99就行了
06/19 19:07, 48F
文章代碼(AID): #1RA8ETBm (LoL)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #1RA8ETBm (LoL)