Re: [問題] 單機遊戲用seed生成的假亂數表好處是?

看板C_Chat作者 (夜風/瀟湘 VR板已經開板!)時間6年前 (2018/03/07 13:55), 編輯推噓8(8035)
留言43則, 11人參與, 6年前最新討論串3/9 (看更多)
※ 引述《elase2000 (吉米黃)》之銘言: : 其實會造成原Po疑問的地方 : 不是在於電腦是不是能做出完全隨機 : 問題在於隨機數的機率是否固定 : 比如說產生1-100的隨機 : 無法保證每一個數字產生的機率是1/100 : 當然母數夠大時是可能可以保證 : 簡單的解法就是做一個卡池 : 比如說ssr比率是1%,sr比率是3%,s比率是10% : 那100張的卡池中就會放入1張ssr,3張sr,10張r : 這樣就可以確定機率是固定的 : 亂數在這邊是決定從卡池的哪時開始抽 : 所以卡池被抽出來的順序是固定的 : 而在其些情況下可以被人重置卡池抽的位置 : 也造成大家覺得隨機不夠隨機的問題 直接用回文表達好了。 其他遊戲我不確定, 魔物再進行任務時煉金表會+1~+2(跳過一行/兩行) 神奇寶貝在生蛋領取後但位會+19?~+22?,放棄領取後會+1 也就是,玩家以正常方式遊玩的時候,不會真的抽完這100張, 可能只抽個其中10張就跳到下一輪了。 如果有一個臉特別黑的非洲人,他要的結果每次都在被跳過的部分, 這似乎比大樣本後結果最終會趨近於期望值還不能保證玩家在多次遊玩後得到要的結果。 如果不是程式面無法真的每產出一次結果當下隨機, 那從遊戲設計面來說我也好奇可能有什麼原因這樣做,但似乎不能說是為了保證機率? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.209.137 ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1520402125.A.1B2.html

03/07 14:01, 6年前 , 1F
先以非洲人當前提來說這個方法不好本身就是種統計偏差
03/07 14:01, 1F

03/07 14:01, 6年前 , 2F
03/07 14:01, 2F

03/07 14:02, 6年前 , 3F
樓上那也不是重點 重點是這種做法有什麼好處嗎?
03/07 14:02, 3F

03/07 14:02, 6年前 , 4F
目前一堆人在說這是為了讓玩家感受到確實的機率
03/07 14:02, 4F

03/07 14:03, 6年前 , 5F
但不論是抽卡還是MHW都沒有這種感受啊 XDDDD
03/07 14:03, 5F

03/07 14:04, 6年前 , 6F
用內建rand其實也是亂數表呀
03/07 14:04, 6F

03/07 14:06, 6年前 , 7F
整體機率趨近於設定好的機率就好
03/07 14:06, 7F

03/07 14:06, 6年前 , 8F
所以他的問題不就是 為什麼不當下取隨機(ex系統時間
03/07 14:06, 8F

03/07 14:06, 6年前 , 9F
我總覺得這問題越來越牛角尖了... 回到單機/查表法這兩個
03/07 14:06, 9F

03/07 14:06, 6年前 , 10F
而是固定的seed或是先生好隨機表
03/07 14:06, 10F

03/07 14:06, 6年前 , 11F
當下取時間種子也是用亂數表啊
03/07 14:06, 11F

03/07 14:07, 6年前 , 12F
前提的話,就很簡單:機率平衡不是大部分設計的優先
03/07 14:07, 12F

03/07 14:07, 6年前 , 13F
固定seed的內建rand跟事前隨機表這兩者也不是議題
03/07 14:07, 13F

03/07 14:07, 6年前 , 14F
所以你沒看懂他的問題嗎...Orz
03/07 14:07, 14F

03/07 14:07, 6年前 , 15F
用時間當種子容易被物理方法抓到表單結果
03/07 14:07, 15F

03/07 14:08, 6年前 , 16F
他舉的例子 MHW現在用的方法 比時間還容易抓欸
03/07 14:08, 16F

03/07 14:08, 6年前 , 17F
結果通通都是固定的 然後你說是因為系統時間容易抓
03/07 14:08, 17F

03/07 14:09, 6年前 , 18F
單機設計的大前提是Losing is fun才對
03/07 14:09, 18F

03/07 14:10, 6年前 , 19F
seed是用來查表的 表單是不變的
03/07 14:10, 19F

03/07 14:11, 6年前 , 20F
你可以控制時間seed就可以讓自己落在想要的亂數位置
03/07 14:11, 20F

03/07 14:12, 6年前 , 21F
我猜工程師根本沒想那麼多,就習慣這樣寫了(誤
03/07 14:12, 21F

03/07 14:12, 6年前 , 22F
mhw的控制亂數方法並不能窺見表單全貌 他是預先偷看之
03/07 14:12, 22F

03/07 14:12, 6年前 , 23F
後的幾種結果而已
03/07 14:12, 23F

03/07 14:13, 6年前 , 24F
seed被破解後是會像寶可夢那樣可以100帕控制結果
03/07 14:13, 24F

03/07 14:14, 6年前 , 25F
那seed會變動的情況下容易被破解 還是seed不變動?
03/07 14:14, 25F

03/07 14:15, 6年前 , 26F
seed不變動你破解不了 因為你無法窺見表單全貌 你只能
03/07 14:15, 26F

03/07 14:15, 6年前 , 27F
知道自己的結果
03/07 14:15, 27F

03/07 14:16, 6年前 , 28F
看你seed如何變動,如果根本是開機秒數的話...XD
03/07 14:16, 28F

03/07 14:16, 6年前 , 29F
seed可控制的話 一個人抓到某個時間會有特定結果那就
03/07 14:16, 29F

03/07 14:16, 6年前 , 30F
是所有人受惠
03/07 14:16, 30F

03/07 14:21, 6年前 , 31F
這就是單機(PC/遊戲機)的難點啦,你難以取得足夠隨機的來源
03/07 14:21, 31F

03/07 14:21, 6年前 , 32F
做seed,除非有別的辦法收集環境雜訊之類的..
03/07 14:21, 32F

03/07 14:23, 6年前 , 33F
MHW則是另一個問題,seed固定,S/L造成取第N個數字的動作也
03/07 14:23, 33F

03/07 14:23, 6年前 , 34F
能重現,結果就是玩家能偷窺後面的結果
03/07 14:23, 34F

03/07 14:28, 6年前 , 35F
seed固定不就等於寫死的結果,那還用隨機幹麻,應該是seed
03/07 14:28, 35F

03/07 14:29, 6年前 , 36F
重設的時機和seed的來源分開談吧
03/07 14:29, 36F

03/07 15:45, 6年前 , 37F
你的例子變成公式化不是隨機了
03/07 15:45, 37F

03/07 15:48, 6年前 , 38F
以前回合制rpg敵人出招固定但暴擊隨機
03/07 15:48, 38F

03/07 15:49, 6年前 , 39F
會有的debuff也是隨機
03/07 15:49, 39F

03/07 15:57, 6年前 , 40F
對於只會寫srand(time(NULL))的我來講 這些回應好精彩
03/07 15:57, 40F

03/07 15:59, 6年前 , 41F
但MHW在知道結果後,就可以用內建的機制在不花資源的情況下
03/07 15:59, 41F

03/07 16:00, 6年前 , 42F
掉過不想要的,某方面而言差異只在查表這件事情要手工而不是
03/07 16:00, 42F

03/07 16:00, 6年前 , 43F
像PM被解到你給他seed他給你整張表(?
03/07 16:00, 43F
文章代碼(AID): #1QdtxD6o (C_Chat)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 9 篇):
文章代碼(AID): #1QdtxD6o (C_Chat)