看板 TypeMoon 關於我們 聯絡資訊
蠻好奇線上遊戲的抽卡機制到底是怎麼運作 爬了一下文 沒發現有討論過 提出來問問版上神人 有人在業界工作知道如何實作嗎? 1.卡片在伺服器端早已序列產生好 在巴哈看過的一種說法 簡單來說就像買刮刮樂(物理),玩家抽卡只是跟伺服器"領卡片" 單抽領1張,10連就領10張,完全照順序發出 2.伺服器端即時產生亂數,再依照亂數大小生成卡片 這比較像擲骰子的概念,擲中就有 先亂數產生一組數值,再參照數值卡片對應表,決定發哪張卡片給玩家 個人的感想是如果走1的機制,感覺很容易被領石帳/工作室搶走(?) 因為固定時間內 (特定卡片的數量)/(玩家的抽卡總數) 是固定的(已先產生好) 拿五星來說,就是固定的1%,但這1%卻是所有參與抽卡的人分走 好處是可以控制整體卡片數量分布,不至於人手一張 2的話就比較像機率 看玩家的手氣 與其他玩家無關 有可能出現大家都強運抽中,或全槓龜的情況,營運端不好掌控 *********************** 其實提出這個問題就是 想釐清如何驗證抽卡機率 如果走機制1,要釐清就是所有玩家都提出自己的抽卡結果來統計 但實務上很多工作室帳號,也缺乏一個公正的登錄網站 幾乎不可能進行驗證 假設走機制2,就會變成營運方要先公布亂數卡片對應表 然後玩家就上一個公正第三方的亂數產生網站 (看是要遊戲商合資成立或政府實作) 擲出公開亂數,再依照此亂數向營運領卡 否則在這種沒開放程式原始碼的環境下 永遠都是黑箱= =; -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.224.100.5 ※ 文章網址: https://www.ptt.cc/bbs/TypeMoon/M.1507220020.A.AEB.html
iouhsu: 永遠不會公布的 不要想這麼多 消個體力可以睡了 10/06 00:15
mayolane: C洽有一串文在討論這個,我去找一下 10/06 00:16
ariadne: 個人覺得跟聖誕抽箱活動機制一樣 包成一箱一箱 抽完換箱 10/06 00:16
如果是這樣應該要選半夜抽? 趁人少時快速把箱抽乾,有點保底的味道在?
ariadne: 這樣相關機構來檢查一定沒有問題 輕鬆過關 10/06 00:17
zxcmoney: 有碰過後台程式就知道,不過知道也沒用就是了。 10/06 00:17
zxcmoney: 每一家用的做法都不同,陽春點的直接用Excel清單寫卡池 10/06 00:18
zxcmoney: 10萬筆資料,其中1000筆是5星,當中500筆是當期UP,剩下 10/06 00:20
zxcmoney: 500筆就其他常駐5星隨便塞,這種模式基礎上就會符合FGO 10/06 00:21
※ 編輯: dansy (61.224.100.5), 10/06/2017 00:23:10
zxcmoney: 的基礎機率設定,每次抽就跑亂數依照亂數編號給就好 10/06 00:22
mayolane: 可以去C洽找關鍵字"手遊虛擬轉蛋",有一大串在討論 10/06 00:24
我找到了 可惜裡面只有一篇稍微有提到如何實作驗證 也沒結論QQ
mayolane: 然後個人認為不會是一,不然不符合獨立事件 10/06 00:26
fox377: 先前不是有人分享,同帳號同時間抽出來的東西是一樣的 10/06 00:26
fox377: 這要怎麼說明? 10/06 00:26
Justapig: 同帳號要怎麼同時間好幾抽? 10/06 00:28
swggs22: 那個樣本數太少了吧... 10/06 00:28
ariadne: 同帳號要怎麼驗證同時間抽出來的一樣? 平行宇宙? XDD 10/06 00:28
swggs22: 除非有大量的影片數據,證明同時抽能抽到一樣的 10/06 00:28
ariadne: 然後的確有江湖傳說半夜兩三點抽比較會中 (咦 10/06 00:29
Katoru: 個人覺得,做成抽箱活動機制的話,營運方還頗賺的... 10/06 00:29
Katoru: 因為抽到的人會幫你廣告,讓更多人以為好抽去抽 10/06 00:30
※ 編輯: dansy (61.224.100.5), 10/06/2017 00:31:24
Katoru: 但若那箱大獎早已被抽完,那剩下的分母就一定要抽乾才換箱 10/06 00:31
Katoru: 不過這種作法應該很快就會暴動吧(?) 10/06 00:32
ariadne: 你什麼時候覺得FGO卡沒有抽乾再換箱的感覺? QQ 10/06 00:32
swggs22: 是不是抽箱機制,在人這麼多的伺服器,基本上沒差別吧 10/06 00:33
mayolane: 抽卡基本上每次抽都是獨立事件啊,不會互相影響的 10/06 00:34
ariadne: 一箱放1000張好了 91個人十連抽就空了 可以換抽下一箱 10/06 00:35
iouhsu: 別鬧了 你以為要把箱抽乾要砸多少$$ 10/06 00:35
印象中看過最誇張的是10連4隻五星 但好像是有搭到福袋 不過即使以4張五星來計算 一箱就至少是400抽集合 才符合1% 對大課長$$不是問題 但最怕手腳沒法這麼快 中間被人劫走... ※ 編輯: dansy (61.224.100.5), 10/06/2017 00:39:26
ariadne: 箱子是公抽 又不是自己抽自己的 日本景品也一直是這樣玩 10/06 00:37
ariadne: 如果每個人有自己專屬箱子抽 就不會有26萬抽不到梅林的事 10/06 00:39
kning0926: 是說這東西之前討論過N篇機率了 10/06 00:40
a6021314: 1~100的輪盤遊戲?,珠珠掉在1就會出五星 10/06 00:41
a6021314: 然後再轉一次決定是出那隻五星 10/06 00:41
liuedd: 除非你買下遊戲公司不然沒得驗證END 10/06 00:42
norta: 1箱如果只有400抽 憑FGO的遊戲人口可以直接視為隨機了 10/06 00:42
norta: 這種高遊玩人數 玩家又遍佈世界各地的遊戲 10/06 00:43
norta: 在同一時間抽卡的玩家數量超過我們想像的 10/06 00:43
norta: 簡單來說 箱子很大:憑單一玩家很難操作抽完整箱 10/06 00:44
norta: 箱子很小:憑本遊戲的人口數獨占某箱子基本不可能 10/06 00:44
norta: 這種假說只有在500個人玩的冷門遊戲用得到而已 10/06 00:45
dklash: 實務上來說 1跟2的作法都是可能的 10/06 00:45
norta: FGO這種世界營收前幾名的 不太可能憑個人操作來挖箱 10/06 00:45
dklash: 至於如何驗證 就只能靠官方或第三方跟官方合作 10/06 00:46
orze04: 箱子假設100隻簽只有1隻中獎簽 先抽後抽不影響機率 10/06 00:46
orze04: 第一個抽是1/100 最後一個抽是99/100 * 98/99 *97/98...= 10/06 00:47
orze04: 1/100 10/06 00:47
norta: 原PO的1其實有兩種不同概念 10/06 00:47
dklash: 不管是1或2的方式 官方都不可能把關鍵的部分公布出來 10/06 00:47
orze04: 假設這個箱子的總簽數遠大於單次最大抽數10 10/06 00:48
dklash: 這樣一來有公布跟沒公布一樣 所以一般人無法驗證 10/06 00:48
norta: 1(a) 舊箱抽完之後立刻開新箱 10/06 00:48
orze04: 那1和2差別不大 10/06 00:48
norta: 1(b) 舊箱抽完之後要到一定時間才會刷新箱子 在這之前只會 10/06 00:49
norta: 出垃圾 10/06 00:49
orze04: 1是官方可以精確控制總放出的SSR數量 10/06 00:49
norta: 1(a)在FGO那麼多人玩的遊戲裏跟真隨機沒有本質區別 10/06 00:49
ARTORIA: 總算有人問這個了 所以我以前講過抽的時間很重要 10/06 00:50
orze04: 但是只要數量夠大 2的SSR機率也會趨近於期望值 10/06 00:50
dklash: norta 用1的方式主要就是確保機率穩定 或者 大獎數量控管 10/06 00:50
dklash: 實作上 你還要設定隔一段時間才刷新表單 反而很麻煩 10/06 00:51
dklash: 而且反而失去確保機率的意義 10/06 00:51
dklash: 以日本的法規來說(我沒仔細研究) 搞不好會因為這段時間降 10/06 00:52
dklash: 低SSR機率 導致違法 表單被抽到底的話直接從頭再開始 10/06 00:52
dklash: 不但簡單好做又能避免麻煩 也達到確保機率跟大獎控管 10/06 00:53
norta: 恩 我不懂的就是糾結1or2的理由在哪裡 除非你是超級抽抽大 10/06 00:53
重點是驗證機制 如果走機制2 就可以透過第三方公正的亂數產生網站 將擲亂數的步驟公開透明化,大家眼見為憑願賭服輸XDD 但如果走機制1 看來是無望驗證了
norta: 戶 10/06 00:53
norta: 有自信把某池直接連抽包走 而且實務上那其實也不太可能 10/06 00:53
norta: 因為抽卡動畫/req時間之類的 10/06 00:54
dklash: 對 實際上對正常人來說 不管你你多大戶 這兩種實作法 10/06 00:54
dklash: 對單一個人而言是沒有太大差異的 10/06 00:54
ARTORIA: 有喔 抽的時段會影響 不過對大課長比較有差 10/06 00:54
ARTORIA: 只有幾十抽的 1跟2都沒差 10/06 00:55
dklash: 我自己也是體感 覺得時段有差啦 但是實際上 人的時段跟 10/06 00:56
dklash: 一般系統在用的時間亂數種子 單位差距太大了 10/06 00:56
dklash: 我還比較相信極大成功 至少目前除了大成功機率up時段外 10/06 00:57
dklash: 每次極大成功之後十連(不一定只一次)都有出5星 10/06 00:57
※ 編輯: dansy (61.224.100.5), 10/06/2017 00:59:15
dklash: 不過我也才極大成功不到3次 樣本數太低 10/06 00:58
dklash: ^(印象中大約3次啦) 10/06 00:58
asteea: 機制2有硬件做 就算透明也看不出甚麼 10/06 01:02
dklash: 嚴格說起來...你要證明你的亂數是隨機產生 就要公開演算法 10/06 01:03
dklash: 然後區間中每個數字出現機率會相等 才能證明你是隨機亂數 10/06 01:04
dklash: 公開演算法->有人去算骰中五星的條件->被hack 10/06 01:05
norta: 轉蛋法的驗證機制不是這樣的 他不CARE演算法怎麼寫 10/06 01:09
norta: 他就直接把你SERVER封存拿回去然後灌天文數字等級的REQUEST 10/06 01:09
norta: 出來的結果在N個標準差以內你就safe 10/06 01:09
其實概念是一樣的 只是把亂數的工作拆出交給第三方 (這個網站可以是政府成立維護) 所有牽涉到轉蛋抽卡的遊戲 就是公布亂數卡片(物品)對照表就好 亂數就是到此第三方網站來骰 再回去照表領獎品 當然此網站也要即時公開所產生的亂數是否符合真隨機
norta: 以前在2ch上看到這種說法 10/06 01:10
dklash: 這個方法很好啊 可是原PO講的驗證方式感覺上要是動態的 10/06 01:11
※ 編輯: dansy (61.224.100.5), 10/06/2017 01:16:55
panbie: 我想可能好像是 也許似乎不一定 疑恐傳 10/06 01:16
orze04: hash function函數給你搞鬼也很難證明 10/06 01:23
orze04: 一個話是公池,第三方在獨立環境也是能驗證的 10/06 01:24
naoko10078: 每一家都不一樣做法,看過有一天稀有道具全伺服器限量 10/06 02:34
naoko10078: 只產幾個的、也看過玩家個人前幾抽必定為0、N抽以後 10/06 02:34
naoko10078: 機率上升、達到一定抽數必中、抽到以後又歸0直到達到 10/06 02:34
naoko10078: 一定抽數、也有真的就是純機率,先ran抽到幾星、再從 10/06 02:34
naoko10078: 那個星數的池根據機率抽出、也看過全伺服器累積達到一 10/06 02:34
naoko10078: 定抽數抽大獎的……沒必要考慮那麼多最後還是看臉 10/06 02:34
norta: 第二個是偽隨機嘛 10/06 02:40
k03004748549: 我只能想到用時間去seed之類的做法 10/06 02:56
DIVIS: 兩台手機抽會給一樣的 代表人多時間抽容易暴死或歐洲 10/06 09:16
xyxhy: 這是無法驗證的,演算法有多種,但用哪種真的只有內部知道 10/06 10:30
xyxhy: 而且也不用去驗證了,B服那次被試出來一瞬間就改掉了 10/06 10:32
louis791021: 抽這麼多的經驗 我個人認為FGO走的是線性 就是一條線 10/06 21:27
louis791021: 上 有up段 有非洲段 非洲段怎麼抽就是抽不到up角 而 10/06 21:27
louis791021: up段有可能一個十連出三隻五星 10/06 21:27
louis791021: 8個帳號在抽 也算是小有心得 10/06 21:27