[楓之谷] 長年實際機率高於設定機率 原廠又道歉

看板C_Chat (希洽)作者 (氋氃)時間3月前 (2026/04/10 00:48), 編輯推噓22(22013)
留言35則, 24人參與, 3月前最新討論串1/1
橘子也發公告了,你沒看錯,這次的機率不實是實際「高」於表定(以及其他相對不重要 的機率bug),是從開服至今都沒被修正的有利於玩家的bug https://maplestory.beanfun.com/bulletin?bid=80429 簡單來說就是原廠發現開服至今20多年來掉寶率、爆擊率等等使用的機率演算法有bug(詳 細我寫在後面,沒興趣的可以跳過),導致實際的機率比設定的機率還高,所以要修正, 但是修正後大家實際掉落率都會下降,所以所有角色基本掉落率增加24%,以及道歉和虛 寶補償 嗯……原來現代楓之谷還沒辦法擺脫20年前寫的屎山代碼,是說20多年都沒工程師發現並 想修改這個對玩家有利的bug嗎 =====以下是這次有問題的機率演算法簡介===== 依照金總監(韓版楓之谷總監)直播說的,使用了20多年的有bug的機率演算法大致如下 中獎機率為 x (x大於0小於1),則產生 10000000/x (1000萬除以x) 個箱子,然後會有 4 294967296 顆球(2的32次方),將所有的球平分到 10000000/x 個箱子內,其中會有 1000 0000(1000萬) 個箱子是中獎的箱子,其餘 10000000/x-10000000 個是沒中獎的箱子,然 後從 4294967296 顆球中抽取一顆球,如果那顆球是放在中獎箱子的球,代表這次中獎了 問題來了,箱子數目不可能每次都能整除 4294967296 ,那餘數的球怎麼辦,他們演算法 設計會優先將多餘的球放到中獎箱子,若中獎箱子全部都被額外多放一顆後還有剩才會放 到沒中獎箱子,這就是導致實際機率比表定機率高的元兇 以中獎機率1%為例,會有1000萬/1%=10億個箱子 可整除部分每個箱子平分4顆球 剩餘2億9千萬多顆球不能平分給10億個箱子,所以其中1000萬顆優先塞入中獎箱子,再剩 下的2億8千萬多顆球才放入沒中獎箱子 那這樣1000萬個中獎箱子每個都會有各5顆球,所以共5000萬顆球是中獎的 實際中獎機率5000萬/42億9496萬7296=約1.164%,比1%高了約16.4% 那中獎機率1.1%實際會是怎樣呢?會有1000萬/1.1%=約9.09億個箱子 可整除部分每個箱子平分4顆球,剩的也足夠1000萬顆中獎箱子各放1顆,所以掐指一算一 樣共5000萬顆球是中獎的,實際中獎機率5000萬/42億9496萬7296=約1.164%,雖然和1%時 一模一樣,但也有超過1.1%,看似問題不大,但大家仔細想想,如果1%和1.1%是因為穿上 10%掉寶裝造成的(原本掉落率1%,穿上10%掉寶裝,掉落率變1.1%),因為1%和1.1%實際機 率一樣,所以會導致這件10%掉寶裝有穿跟沒穿根本沒差,問題就相對比較大條了…… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 101.8.162.151 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1775753301.A.226.html

04/10 00:50, 3月前 , 1F
這種時候就會發公告了
04/10 00:50, 1F

04/10 00:50, 3月前 , 2F
公告出來就好了 但不必修吧
04/10 00:50, 2F

04/10 00:54, 3月前 , 3F
這麼久才發現還修掉是閒台灣玩家太多嗎w
04/10 00:54, 3F

04/10 01:06, 3月前 , 4F
這個演算法挺有趣的 感謝說明 借轉專板
04/10 01:06, 4F
joy3252355:轉錄至看板 MapleStory 04/10 01:06

04/10 01:07, 3月前 , 5F
修不修也沒差了 淡季玩家出逃中
04/10 01:07, 5F

04/10 01:12, 3月前 , 6F
怎麼發現的阿
04/10 01:12, 6F

04/10 01:12, 3月前 , 7F
AI嗎
04/10 01:12, 7F

04/10 01:19, 3月前 , 8F
為什麼要用這麼多箱子佔用系統資源啊
04/10 01:19, 8F

04/10 01:23, 3月前 , 9F
修不了因為是屎山代碼所以下次改版統一加基本掉落
04/10 01:23, 9F

04/10 01:23, 3月前 , 10F
率24%
04/10 01:23, 10F

04/10 01:37, 3月前 , 11F
是修掉才給24%,沒修幹嘛再多給玩家增加掉寶率
04/10 01:37, 11F

04/10 01:46, 3月前 , 12F
楓之谷改了這麼多東西 居然還有沒改的屎山代碼
04/10 01:46, 12F

04/10 01:53, 3月前 , 13F
不要重新發明輪子、程式能動就不要動
04/10 01:53, 13F

04/10 02:02, 3月前 , 14F
楓星關測試服了
04/10 02:02, 14F

04/10 02:02, 3月前 , 15F
TMS 即將重返榮耀
04/10 02:02, 15F

04/10 02:28, 3月前 , 16F
為什麼是用這種箱子算法呀
04/10 02:28, 16F

04/10 02:48, 3月前 , 17F
比起這個問題比較大的還是活動掉落物或特定王掉落物不是
04/10 02:48, 17F

04/10 02:48, 3月前 , 18F
照實際增加掉寶率計算吧,到現在才公布
04/10 02:48, 18F

04/10 04:29, 3月前 , 19F
說明版本是比喻吧 實際上就只是處理除不盡餘數沒做好
04/10 04:29, 19F

04/10 06:55, 3月前 , 20F
準備收一收吧
04/10 06:55, 20F

04/10 06:56, 3月前 , 21F
碼農祖訓:能動就不要動
04/10 06:56, 21F

04/10 07:20, 3月前 , 22F
高於設定機率還好阿,不要低於就好
04/10 07:20, 22F

04/10 07:22, 3月前 , 23F
這種最底層而且放了八百年沒人動 但能正常跑的程式碼 正常
04/10 07:22, 23F

04/10 07:22, 3月前 , 24F
工程師都不可能去碰的 他們是被誰托夢的嗎
04/10 07:22, 24F

04/10 07:49, 3月前 , 25F
真的有高嗎,還是覺得反正沒人發現就這樣寫
04/10 07:49, 25F

04/10 08:59, 3月前 , 26F
丟給AI吃的時候抓出來的吧?
04/10 08:59, 26F

04/10 09:03, 3月前 , 27F
it is not bug, is feature
04/10 09:03, 27F

04/10 09:05, 3月前 , 28F
楓谷機率都能信的嗎
04/10 09:05, 28F

04/10 09:49, 3月前 , 29F
比較直接一點的講法就是他把機率先近似成1e7/y,取一個
04/10 09:49, 29F

04/10 09:49, 3月前 , 30F
0到y-1之間的隨機整數判斷他是否小於1e7,問題一般取這
04/10 09:49, 30F

04/10 09:49, 3月前 , 31F
種隨機數的方式是找一個範圍更大的隨機整數除以y取餘數
04/10 09:49, 31F

04/10 09:49, 3月前 , 32F
,但他這個32bit整數的範圍既沒比y大太多又不被y整除,
04/10 09:49, 32F

04/10 09:49, 3月前 , 33F
導致不同餘數實際被取到的機率有比較明顯的差距
04/10 09:49, 33F

04/10 14:25, 3月前 , 34F
很可能是AI去爬出來的
04/10 14:25, 34F

04/10 14:26, 3月前 , 35F
Claude Mythos最近就挖到OpenBSD一個27年的祖傳漏洞。
04/10 14:26, 35F
文章代碼(AID): #1frzXL8c (C_Chat)
文章代碼(AID): #1frzXL8c (C_Chat)