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

作者: elase2000 (吉米黃)   2018-03-07 13:31:55
※ 引述《ZMTL (夜風/瀟湘 VR板已經開板!)》之銘言:
: 嗯,雖然我是APP工程師,但大學不是唸本科畢業後才半路出家的,
: 對這點真亂數、假亂數以前耳聞過討論卻沒什麼概念,剛好跟遊戲有關想到就問一下。
: 首先舉例使用假亂數表的遊戲,以下有稍微簡化過程:
: 1.魔物獵人:世界
: 「煉金」功能是拿X個珠子生成三顆新的珠子,存檔讀檔結果不會變。
: 後來被發現有一張表,像這樣
: A B C
: D E A
: A A C
: 如果你是這次煉金出來是ABC,下次煉金出來是DEA,下下次煉金出來是AAC
: 那你可以先不練金,去打兩場任務出來就會變成AAC。
: (實際上打任務推進的序列是1、1、2輪迴,按下不提)
: 細節:https://forum.gamer.com.tw/C.php?bsn=5786&snA=137873
: 2.神奇寶貝
: 「生蛋」功能是公母方配種生出子代,特定變因固定下存檔讀檔結果遺傳項不會變。
: 父母都有 A B C D E F六項能力,分別遺傳父母的哪幾項在變因固定下是不會變的,
: 但變因不包括父母是誰,所以可以確認會遺傳哪一項後再更換父母取得特定遺傳的子代,
: 進階一點用法就是找到第XXXX次會生出色違後,
: 用低步數就生出來的神奇寶貝跳過中間不需要的部分,
: 在指定的位子再更會為要的神奇寶貝快速取得色違。
: 細節:https://home.gamer.com.tw/creationDetail.php?sn=3427102
: 那問題來了,
: 如果說是避免玩家用SL大法來硬洗出想要的成果,卻反而造成未來成果會被預測,
: 難道單機遊戲做不到真正在產出結果當下進行亂數,或者亂數表假亂數表有什麼優點嗎?
: 其實對這問題有疑問好久了w
: 很多人說MHW洗珠子無聊會消耗熱情,但經過PM的洗禮我真的覺得還好XD
: 順帶一提,很多線上遊戲/網路遊戲的都市傳說有時候我不會完全不信的原因也是這個。
其實會造成原Po疑問的地方
不是在於電腦是不是能做出完全隨機
問題在於隨機數的機率是否固定
比如說產生1-100的隨機
無法保證每一個數字產生的機率是1/100
當然母數夠大時是可能可以保證
簡單的解法就是做一個卡池
比如說ssr比率是1%,sr比率是3%,s比率是10%
那100張的卡池中就會放入1張ssr,3張sr,10張r
這樣就可以確定機率是固定的
亂數在這邊是決定從卡池的哪時開始抽
所以卡池被抽出來的順序是固定的
而在其些情況下可以被人重置卡池抽的位置
也造成大家覺得隨機不夠隨機的問題
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 13:32:00
他的疑問就是為什麼要製造這種卡池吧他的意思是 有看起來隨機性更強的亂數分配 何必做卡池一個數字產生的機率從機制上已經定了你講的那個100張必出1張已經不是機率了
作者: FallenAngelX (跌倒)   2018-03-07 13:37:00
用抽卡比喻完全證明隨機性吧如果抽卡是照你這樣的處理方式就不會有人在那邊講非還歐的
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 13:38:00
100張可能出不了1張這才叫做機率
作者: FallenAngelX (跌倒)   2018-03-07 13:38:00
反正抽一定次數都一定會有而實際上原po舉的例子也不是為了滿足你說的東西
作者: waggy (Let's go, pal!)   2018-03-07 13:39:00
真正的亂數在樣本少的時候可能會出現非亂數的錯覺
作者: dx90c (DirectX)   2018-03-07 13:40:00
碧藍航線這次活動的大闇鍋就是你說的,還是會分歐非歐的人10抽進下一輪,非的人120抽才進下一輪
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 13:41:00
我覺得會產生非亂數的錯覺是因為玩家普遍不了解機率然後會產生各種腦補 跟妹子戴著口罩看起來特別美有87%像
作者: tonyxfg (tonyxfg)   2018-03-07 13:49:00
就一般人的認知來說,1%的機率是抽一百次肯定能抽到一個,而不是抽幾百次一個都抽不到
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 13:51:00
喔? 原來一般人對機率的理解比較接近大數法則喔?其實我已經不太記得我以前怎麼理解機率了
作者: tonyxfg (tonyxfg)   2018-03-07 13:55:00
差不多是這樣,不然也不會一天到晚都有人在懷疑遊戲公司
作者: kingroy (手殘總比腦殘好)   2018-03-07 13:56:00
抽100次給你1次中的是1%沒錯,但把獨立事件的概念套下去就
作者: ZMTL (夜風/瀟湘 VR板已經開板!)   2018-03-07 13:56:00
手遊板的玩家其實會跟你說你「X抽還抽不到1%」這結果的機率的機率是y%,恭喜你是個非洲人XD
作者: tonyxfg (tonyxfg)   2018-03-07 13:57:00
在機率上動手腳了,理論上來說各種抽選情況都可能發生,但玩家就是很難接受抽幾百次抽不到一個
作者: lordmi (星宿喵)   2018-03-07 13:58:00
卡池的形容本身就不正確,大型線上遊戲說穿就是終端產出偽
作者: seaEPC (沒看見,我沒看見 >_<)   2018-03-07 13:58:00
不就(0.99)^X,這以前學校教機率教過吧
作者: BK0211 (BK0211)   2018-03-07 13:58:00
期望值就只是期望值 非洲人就是抽不到
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 13:59:00
期望值或者機率只有在你大量取樣的時候意義才明顯
作者: lordmi (星宿喵)   2018-03-07 13:59:00
種子後往伺服器的加密演算法驗證,然後發回對應驗證再解密
作者: kingroy (手殘總比腦殘好)   2018-03-07 14:00:00
簡單就把每抽一次都是獨立事件的情況考慮下去100抽大概出一張這個情況,原本設定的機率必須比1%高很多才會有這結果
作者: lordmi (星宿喵)   2018-03-07 14:01:00
保底或水位又是另一套綁UID的系統 這裡我覺得討論前段就行
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 14:01:00
應該是說抽10000張出100張左右的機率很大
作者: arrenwu (鍵盤的戰鬼)   2018-03-07 14:02:00
其實 pseudo prob 比較好啦 這樣才有種上天是公平的錯覺
作者: kingroy (手殘總比腦殘好)   2018-03-07 14:02:00
1%的設定100抽大概36%會抽到,所以差很多36%抽不到*
作者: ssccg (23)   2018-03-07 14:20:00
先不說你提的跟原問題無關,你根本搞錯機率和樣本了,隨便取個樣本裡面分布跟表定機率一樣的機率是常態分布,本來就不該一樣,你說的固定機率才是不隨機會覺得1%是隨便取100個樣本就有1個的是自己數學沒學好

Links booklink

Contact Us: admin [ a t ] ucptt.com