→ gaym19: 為了方便 就這樣 03/07 11:52
推 emptie: 可預測有時候是優點啊 03/07 11:52
推 qqq3892005: 電腦就做不出真隨機的 什麼公式都只是用來算出要挑「 03/07 11:52
→ qqq3892005: 亂數表」的哪一格 03/07 11:52
推 tonyxfg: 因為比較簡單,搞得太複雜又沒好處,平白浪費時間與空間 03/07 11:52
→ yyh121: 比較好寫 03/07 11:52
推 WiLLSTW: 電腦就弄不出真隨機.... 03/07 11:52
→ ZMTL: 以我現在開發app而言,下個亂數指令怎麼想都比用seed建表方 03/07 11:53
→ ZMTL: 便啊XD 03/07 11:53
→ robo3456: mh以前就有各種亂數調整刷護石 03/07 11:53
推 arrenwu: 因為亂數表比你舉的例子大多了 你要預測啥? 03/07 11:53
→ gaym19: 而且電腦用不了真隨機 只能盡量接近 03/07 11:53
推 squays: 十年前P2G就在洗骨頭惹 03/07 11:53
→ arrenwu: 而且實際上測出來也很接近真正隨機了不是? 03/07 11:53
→ ZMTL: 以我舉得兩個例子而言,都被直接讀出表來在用各種方式跳過 03/07 11:54
→ ZMTL: 中間的行了,其實可以很不隨機 03/07 11:54
推 ilohoo: 有沒有考慮發到GameDesign版問問? 03/07 11:54
→ ZMTL: 我知道電腦做不出真正隨機這個說法,但這兩例會被解出來也離 03/07 11:55
→ ZMTL: 仿真隨機有點距離了? 03/07 11:55
推 gaym19: 不要小看遊戲研究家 他們亂數找的很精 03/07 11:55
推 arrenwu: 我好像誤會你的意思了 你的意思是設計者自己定義一個很小 03/07 11:56
→ arrenwu: 的樣本空間是嗎? 03/07 11:56
→ gaym19: 只有非真隨機 他們就有方法找出表 03/07 11:56
→ ZMTL: 也可能很大,但那個空間一被讀出來就可以被猜到下面幾步 03/07 11:56
推 seaEPC: 資訊領域裡面講的真假隨機跟你舉例子的照表執行是兩回事 03/07 11:56
應該這麼說,以我舉得這兩個例子而言,
如果改成「在產出結果當下,去做一個比較擬真的隨機抽取結果」
會很難辦到或很吃資源嗎?
當然,這麼做的話裡當每次SL這個遊戲做這動作產出的結果都不同,但至少不會被預測。
※ 編輯: ZMTL (118.163.209.137), 03/07/2018 11:58:42
→ gaym19: 當然不一定是完全正確 但隨著發展 準確率仍會持續提升 03/07 11:57
→ arrenwu: 痾 如果程式亂數是用 rand() 你建出表也跟隨機差不多了 03/07 11:57
推 lordmi: 兩件事 1.電腦即時產生真亂數表成本太高 2.自然亂數 03/07 11:57
→ gaym19: 除非你三天兩頭就更新把亂數打掉重塞新的 03/07 11:57
→ arrenwu: 應該說你講的這兩個例子都可以說是相當短的遊戲時間內進 03/07 11:58
→ arrenwu: 行預測 對吧? 03/07 11:58
是可以被預測的,應該可以這樣說沒錯。
→ lordmi: 是非均勻的,不利控管歐皇比例 03/07 11:58
※ 編輯: ZMTL (118.163.209.137), 03/07/2018 11:59:23
→ gaym19: 但那樣沒什麼意義 反而累得要死 03/07 11:58
→ arrenwu: 即時call rand() 成本會很高嗎? 03/07 11:59
→ arrenwu: 因為原po所講的情況是開發者刻意用一個既定樣本空間 03/07 11:59
→ h1818181: MH的亂數表我都只是當作他是這系列的特色 03/07 12:00
→ arrenwu: 而且那個樣本空間還不是很大 看幾個sample就可以預測 03/07 12:00
→ h1818181: 真的討論的話應該要回到2004年開發當下rand() 03/07 12:00
→ ZMTL: 嗯,我表達不好,我主要也是想知道為什麼不及時call亂數fun 03/07 12:00
→ ZMTL: ction 03/07 12:00
→ h1818181: 能夠產出什麼樣的亂數 03/07 12:00
→ arrenwu: 如果今天你要看100個sample才能預測 也夠隨機了XD 03/07 12:01
神奇寶貝的例子是經過解碼後可以預測未來幾百個結果都沒問題,
雖然解碼這部分可能有破譯程式碼,但每個人確實有一張自己的表。
推 gaym19: 這個你要回到開發時間當下才能知道 03/07 12:01
推 vsepr55: 其實遊戲客群大部分沒那麼閒在那邊算吧… 03/07 12:01
→ gaym19: 可能現在可以 但當時大概會出問題 03/07 12:02
→ arrenwu: ZMTL至在說有些變數的樣本空間小到玩家能找出規律了 03/07 12:02
推 qqq3892005: 你用亂數function的話 SL不就會變了?這樣大家會很幹 03/07 12:02
→ qqq3892005: 啊,刷到好寶物運氣不好打不贏,結果一SL就變廢物 03/07 12:02
PM跟MH的例子,產出結果後都可以儲存。
※ 編輯: ZMTL (118.163.209.137), 03/07/2018 12:03:27
→ gaym19: 而且我覺得工程師也沒想到會有狂人研究得這麼徹底 03/07 12:03
→ arrenwu: 破譯程式碼這跟作弊沒兩樣啦 到是可以不用考慮 03/07 12:03
推 billzs: 用表 玩家SL的時間成本比直接隨機來的高 03/07 12:03
→ arrenwu: 只是如果看過一次ABC就可以預測下次跟下下次 這就太小了 03/07 12:04
推 asd823: 能保證機率才是重點 03/07 12:04
推 howdiee: 跟遊戲體驗也有關係吧 真隨機就會有玩家非洲到崩潰 03/07 12:05
→ arrenwu: 你講的大概就像大富翁2台灣地圖國泰人壽一定會飆漲一樣 03/07 12:05
→ arrenwu: 崩潰? 拜託 賭博就是要有風險好嗎 不然怎麼讓人賭到瘋狂 03/07 12:05
推 gaym19: 假隨機理論上就算非到靠北 一定刷得到素材 03/07 12:06
→ emptie: 有些遊戲,像是Minecraft或是矮人要塞那種 輸入同一個se 03/07 12:06
→ emptie: ed,所有的rng要素都一樣 03/07 12:06
→ gaym19: 真隨機大概就 幫QQ 03/07 12:06
→ emptie: 這樣可以進行一些比較公平的比賽之類的 03/07 12:06
→ emptie: 更正,大部分的隨機要素 03/07 12:06
補上PM 七世代 跟 1~6世代亂數差異:
https://kknews.cc/zh-tw/game/om9rq96.html
七世代的特色可以從
「而在《日/月》中,改變了部分機制。」 這段開始看起,
相對於過去,更簡化了亂數的讀表方式(?)
照理來說當初想的太簡單也應該在新作變更複雜才是。
※ 編輯: ZMTL (118.163.209.137), 03/07/2018 12:09:27
推 lordmi: 真隨機=巨觀風平浪靜微觀波濤洶湧 認真講 就只有一個原因 03/07 12:08
→ gaym19: 拿PUBG來說的話 有些降落點物件明顯比其他點豐富且強大 03/07 12:08
推 bnd0327: 有看過相關研究指出真隨機反而讓人感覺不出隨機感 03/07 12:08
推 milkool: PC系統裡可以用IO熵值池拿出亂數 但拿光後就會堵塞卡住 03/07 12:09
→ lordmi: 控管容易,單機還好 大一點線上遊戲公司需要配置相當人力 03/07 12:09
→ gaym19: 真隨機大概就變成開場隨便跳個邊緣點都能滿裝這樣 03/07 12:09
→ lordmi: 在做這塊,我當PM以前還被禁止跟這些人討論咧w 03/07 12:10
其實建表之於亂數有一個問題是他通常也不是乖乖照表跑,
而是你做某個行動後會跳一兩行,這有兩種結果,
一來就是我上述說的,知道未來後可以操作跳過中段避免資源浪費,
二來就是可能造成就算機率分佈如設計預期但有些人就是怎麼樣都剛好跳過大獎那行,
反而讓他做了N次還是無法讓結果如同機率分佈。
※ 編輯: ZMTL (118.163.209.137), 03/07/2018 12:14:43
推 milkool: IO熵值池會收集網路訊號、鍵盤滑鼠、硬碟反應等資料作成 03/07 12:11
→ milkool: 亂數值 理論上是不可預測的 03/07 12:11
→ blc: 控制機率吧,遊戲發行量那麼大,難保有玩家會一路非到底 03/07 12:15
→ arrenwu: 有人一路非到底這才叫做機率吧XD 03/07 12:16
→ SCLPAL: 無雙三的寶珠算嗎? 03/07 12:16
推 rewisyoung: 真隨機還真的會有非到靠背的情況 03/07 12:17
但這種方式,非的人就算大樣本後可能還是一樣非才慘(除非你遊戲都不做其他事)。
MH有人試過,往後推表800行還找不到他要的那顆珠子。
這代表他就算看了表,無論他運氣好壞,
至少600場任務跳過這800前都拿不到他要的東西。
→ SCLPAL: 裝備刷等級~~有些我一直刷不到20級QQ 03/07 12:17
推 gaym19: 做了都無法跟計算的一樣 他們會知道這樣行不通然後重算 03/07 12:17
推 higreater: Spotify以前有真隨機選歌 結果是使用者大多覺得不隨機 03/07 12:17
→ rewisyoung: 遇到的那個遊戲體驗就爛到底 03/07 12:17
→ gaym19: 算啊算最後一樣會找出規律 03/07 12:17
→ seaEPC: 不管產生的過程是真還假隨機,當你可以恢復上一動的環境 03/07 12:18
→ seaEPC: 重取同樣的數字的時候,就已經是可預測了啊 03/07 12:18
推 siro0207: 為什麼不使用常態分布亂數? 每次煉金就算一次不就好了? 03/07 12:19
→ longlongint: 真隨機會有一定比例玩家重複嘗試都失敗 03/07 12:20
→ longlongint: 不夠平均 會覺得衰 就跟你的人生一樣 03/07 12:20
推 kaj1983: 保留SL的空間是好事啊 03/07 12:21
→ gaym19: 555555我的人生 03/07 12:21
→ siro0207: 珠子有稀有度啊 當然不夠平均 所以我才建議常態分布 03/07 12:22
※ 編輯: ZMTL (118.163.209.137), 03/07/2018 12:24:23
推 arrenwu: 均勻分布也可以展現不平均啦 03/07 12:23
推 elase2000: 大部份的程式語言取亂數都有種子值,同種子值就會產生 03/07 12:24
→ elase2000: 相同的亂數序,所以種子值都會是系統時間,以免產生相 03/07 12:24
→ elase2000: 同亂數,會特意給值的大多是故意的。 03/07 12:25
推 jack9731: 如果製作類似xb2的類保底不就可以避免非到炸的情況了嗎 03/07 12:28
→ jack9731: ? 03/07 12:28
推 darkckman: 也許是寫遊戲的人也覺得刷卡些很無聊,故意露破綻 03/07 12:39
→ kronioel: 能預測>刷步數 不能預測>SL 沒辦法啊XD 03/07 12:40
推 darkckman: 樓上說的不存在的,可以強迫存檔覆蓋啊 03/07 12:43
推 EricTao: 覺得是故意 讓你有hack的爽感 03/07 12:43
推 zxc1020305: 我也覺得是遊戲體驗的考量,真的仿隨機下去做就會有人 03/07 12:44
→ zxc1020305: 非到爆炸,怎麼刷都刷不到,然後歐洲人各種輕鬆刷。 03/07 12:44
推 zxc1020305: 人們感覺上的隨機跟真實的隨機是兩回事,記得看過音樂 03/07 12:46
→ zxc1020305: 播放器的隨機播放如果真的仿隨機去播反而會被投訴不隨 03/07 12:46
→ zxc1020305: 機w 03/07 12:46
→ gigayaya: 別忘記遊戲原本的目的是什麼 03/07 12:47
推 Golu: 就隨機性(真假隨機)與遊戲體驗和營收控制的問題,決定要用那 03/07 12:49
→ Golu: 種做法 03/07 12:49
推 smart0eddie: 非洲人需要的是強制保底 03/07 12:49
推 aaaaajack: 因為好做啊,真隨機性很貴的... 03/07 12:52
→ siro0207: 不過其實在SL大法下 真隨機也沒有用就是了 03/07 12:54
→ aaaaajack: 至於保證遊戲體驗這種事情是來自保底機制之類的東西, 03/07 12:54
→ aaaaajack: 不是來自偽隨機,不要想太多 03/07 12:54
推 Bencrie: 存取 /dev/random 跟 /dev/urandom 速度差很多的 03/07 12:55
→ siro0207: 像我提的常態分佈實作很簡單 但一樣會被SL大法攻破 03/07 12:55
→ krousxchen: 我覺得唯一能用假亂數表的就是像SFC聖火 03/07 12:55
推 FallenAngelX: 原po講的東西跟電腦弄不出真隨機根本是兩碼子事情 03/07 12:56
→ krousxchen: 隨時隨地存檔、就算重開該死還是死,不會凹到活 03/07 12:56
推 orze04: 如果是完全無法預測的真隨機亂數,debug時就知道了 03/07 12:57
→ krousxchen: 像機器人大戰的機率跟沒有一樣,直接重開到有=100% 03/07 12:57
→ krousxchen: 戰棋式就是玩機率,但真隨機能凹就叫玩S/L大法 03/07 12:58
推 NoLimination: 如果不能預測 pm更會刷到崩潰吧 03/07 12:59
→ siro0207: 能解決的方法就只有一種 就是存檔不在玩家手上 03/07 12:59
→ siro0207: 這樣不管你是真隨機還是假隨機都可以 03/07 12:59
推 orze04: 要debug得重現,真隨機慢慢de到死吧 03/07 13:00
推 guogu: 很多人沒看懂原po的問題... 03/07 13:00
→ guogu: 他想要問的是遊戲幹嘛自己還要做個亂數表 03/07 13:00
→ guogu: 反正都是要做隨機效果的另外做表不是很多餘的事情嘛? 03/07 13:01
推 seaEPC: 你確定是做表嗎? 給你一個rand()函式,指定的seed,指定的 03/07 13:02
推 FallenAngelX: debug才不是什麼理由吧 03/07 13:02
→ seaEPC: 第N步,出來的永遠都是一樣的數字 03/07 13:02
→ guogu: 直接用rand之類的就好 還更不容易被玩家抓到規律 03/07 13:03
推 icemango: 以遊戲設計的面向來說 這樣可以當成某種保底機制 03/07 13:03
→ seaEPC: 所以問題不在rand怎麼取,而是Load回去之後你能把程式環境 03/07 13:03
→ icemango: 相信你不會想看到更隨機的結果讓你洗不出珠子 03/07 13:03
推 FallenAngelX: MHW的例子就很奇妙 假亂數表 但是強制存檔 03/07 13:04
→ seaEPC: 還原到取第N個值時的變因,那你永遠取第N的值都嘛固定數字 03/07 13:04
→ FallenAngelX: 所以以正常的情境下 你是根本沒有機會知道是假亂數 03/07 13:04
→ guogu: rand你可以用不同的seed 自己做表就是一種而已 03/07 13:04
→ icemango: capcom 大可以每週塞一個新的表給你 讓你試不完 03/07 13:04
→ FallenAngelX: 要說保底好像也怪怪的 那動機真的很迷XD 03/07 13:05
→ seaEPC: 想打破這規律也很簡單,load回去後用當下時間重作seed就是 03/07 13:05
→ guogu: 贊同保底的說法 像音樂播放程式為了讓你覺得"隨機" 03/07 13:05
→ guogu: 並不是真的跑rand之類的而是有規律的分配 03/07 13:05
→ Golu: 因為要做出對不知道的人來說如同真隨機,但對知道的人來說就 03/07 13:05
→ Golu: 是固定結果所產生的玩家優越感差異,以及對於不同階段遊戲知 03/07 13:05
→ Golu: 識差異產生的新鮮感,這兩個概念結合的做法之一就是產生固定 03/07 13:05
→ Golu: 的表去處理隨機性 03/07 13:05
→ guogu: 那樣一般遊戲如果要做隨機先弄了rand再去處理保底機制 03/07 13:06
→ seaEPC: 然後"保底"這機制跟原PO問題是不相干的東西就是了 03/07 13:06
→ guogu: 需要的運算量可能是遠多於做一個表下去跑的 03/07 13:06
推 FallenAngelX: guogu的疑問seaEPC有回啊 單純以MHW的例子 03/07 13:07
→ dreamnook: 未來結果被預測那代表說玩家已經深耕了 03/07 13:07
→ FallenAngelX: 肯定是沒辦法跟音樂撥放清單的隨機特殊處理來比較 03/07 13:07
→ guogu: 也就是做一個讓人感覺"隨機"的表 比用隨機讓人感覺更隨機 03/07 13:08
→ dreamnook: 反而不是壞事而是好事 03/07 13:08
→ FallenAngelX: 那單純就是rand()的seed是固定值 所以不會變 03/07 13:08
→ FallenAngelX: 沒什麼增加運算量的問題 03/07 13:08
推 aaaaajack: 喔被標題誤導,所以癥結點是為什麼不重置seed? 03/07 13:08
→ Golu: 有時候一些設計不能只從效能或程式面來看,玩家體驗才是最重 03/07 13:08
→ Golu: 要的依據 03/07 13:08
→ guogu: 我的意思是遊戲廠商想呈現的結果不是rand那種 03/07 13:08
→ guogu: 而是經過處理讓玩家覺得這樣才隨機的結果 03/07 13:09
→ FallenAngelX: 我就是在說MHW肯定不是這種例子 03/07 13:09
→ FallenAngelX: 因為有人洗了上千顆珠子還有沒看過的珠子 03/07 13:09
→ FallenAngelX: 如果說他們有特殊處理 那這常態分佈處理得相當失敗 03/07 13:10
推 guogu: 卡普空不是專門做讀心晶片的嘛? 讓你刷不到才是他想要的(X 03/07 13:11
→ FallenAngelX: 所以單純以MHW這例子而言 特殊處理讓玩家感受隨機 03/07 13:11
→ FallenAngelX: 應當不會是他們採用固定seed的理由才對 03/07 13:11
→ FallenAngelX: 好、好喔...XD 03/07 13:12
→ guogu: 對,所以我的說法應該修正成 廠商不想要那麼隨機的結果 03/07 13:12
→ guogu: 至於是讓玩家感覺比較隨機還是嘿嘿嘿就不知道了w 03/07 13:12
推 aaaaajack: 單純點就防SL而已吧,甚至一種可能是寫的時候根本沒考 03/07 13:14
→ aaaaajack: 慮這麼多。很久以前遊戲公司應該根本沒想過玩家會研究 03/07 13:14
→ aaaaajack: 隨機變因 03/07 13:14
推 emptie: 音樂播放器很多都是直接shuffle掉你給的清單,但播完會保 03/07 13:16
→ emptie: 證所有歌曲都輪一遍 03/07 13:16
推 icemango: 很多時候真的是沒想那麼多XD 03/07 13:16
→ icemango: 以前有個隨機抽格言的只是拿時間取餘數 03/07 13:16
→ icemango: 上線幾年以後變成讀心格言的傳說 超好笑 03/07 13:17
推 aaaaajack: 音樂播放器那個是因為大家本來想要的就是shuffle啊,跟 03/07 13:18
→ aaaaajack: 偽隨機完全沒有關係 03/07 13:18
推 arrenwu: 應該說音樂的shuffle才是大家要的東西 03/07 13:23
推 cooper6334: 直接隨機的話反而容易用SL來凹結果 03/07 13:25
→ cooper6334: 用固定的亂數表不能直接SL,要改變結果就是多一道手續 03/07 13:27
→ ZMTL: 多一道手續,但多了那道手續後效果比SL好也比SL省時間呢(? 03/07 13:29
推 CreamP: 音樂shuffle比喻是要是真隨機可能會MHW5連刷出一項同能力 03/07 13:29
→ CreamP: 所以故意建表讓玩家感覺是隨機 這解釋好像滿合理 03/07 13:29
→ ZMTL: MHW的問題在,有人發現接下來800次煉金都「注定」無法取得 03/07 13:29
→ ZMTL: 他想要的結果,不管運氣好運氣壞都怎麼做都無法改變 03/07 13:30
→ ZMTL: 這種事實好像也蠻絕望的?雖然你不去嘗試就不會知道 03/07 13:30
推 arrenwu: 那個就要看設計者打算營造什麼樣的隨機產出情景了 03/07 13:30
→ arrenwu: 音樂這個隨機並不是要真實感 03/07 13:31
→ seaEPC: 當然啊,你seed固定了後續的結果都是固定的 03/07 13:31
→ arrenwu: 但是很多遊戲中的隨機性是為了讓遊戲的世界增添更多真實 03/07 13:31
→ ZMTL: 我是說從遊戲體驗出發,發現自己以為的「機率」其實是「命定 03/07 13:32
→ ZMTL: 」的話,很多人會說歐洲非洲從創角那刻就沒救了 03/07 13:32
推 cooper6334: 舉例來說 煉金沒有想要的結果時,有70%的人會想SL 03/07 13:33
→ arrenwu: ㄟ 那只是從 隨機變數 變成 隨機程序 而已 03/07 13:33
→ seaEPC: 那就不是你這篇原文的範圍了,而是要有"保底"機制,那是另 03/07 13:33
→ cooper6334: 但是當他們發現SL沒用,可能就只剩30%的人會想破解 03/07 13:33
→ seaEPC: 一回事,跟隨機程序無關 03/07 13:33
→ arrenwu: SL 是因為sample的時間點比他存檔時間更早啊 03/07 13:34
→ ZMTL: 我講的只是用來反駁出於遊戲體驗採表的方式 03/07 13:34
→ arrenwu: 如果是為了遊戲體驗要實作pseudo prob的話也不會做非洲表 03/07 13:35
推 kingroy: 遊戲上的設計來說他沒有需求去做到真正的隨機,雖然是可 03/07 13:36
→ kingroy: 以連線的遊戲但他本質上還是單機,在亂數的結局上也沒有 03/07 13:36
→ kingroy: 需求去做到公平或像轉蛋那樣保障消費者及保證公司收入的 03/07 13:36
→ kingroy: 部分,只要能讓玩家感覺到這東西每次結果都不太一樣就好 03/07 13:36
→ kingroy: ,有沒可以被分析出來的規律性都沒差,只要你的表格夠長 03/07 13:36
→ kingroy: ,出同樣結果的頻度不足以讓玩家覺得怎又是一樣的程度就 03/07 13:36
→ kingroy: 足夠了 03/07 13:36
→ fkzj: PS2上的真三國無雙Ⅲ,武器的各屬性就是以時間當seed的亂數 03/07 13:45
→ fkzj: 只是在PS2上跑的時候時間只取到秒。然後就有了重置系統時間 03/07 13:49
推 jimmy689: 我也想過一樣的問題,為什麼要使用預生成的表 03/07 13:49
→ fkzj: 的方式來洗武器屬性。 03/07 13:49
→ jimmy689: 後來想到,可能根本就沒有什麼預生成,是亂數過程的結 03/07 13:55
→ jimmy689: 算邏輯被玩家反推出來 03/07 13:55
→ jimmy689: 最外層看起來才像是已經有預定的表 03/07 13:55
推 aaaaajack: 重看了一遍問題,我覺得核心原因還是真隨機難做阿... 03/07 13:56
→ aaaaajack: 系統時間接近真隨機,但連續多個系統時間效果就不太好 03/07 13:56
→ aaaaajack: 這個本來就是,所有變因確定的當下結果就不變了,預生 03/07 13:58
→ aaaaajack: 成就是先算好,跟你要用的時候再算沒有區別啊 03/07 13:58
推 jimmy689: 也有可能只是在照顧哈摳玩家w 03/07 14:00
推 seaEPC: 所以需求隨機性比較嚴格的會去利用系統熵池產生隨機數列 03/07 14:03
→ FallenAngelX: 系統時間隨機效果再怎麼差也比固定seed好吧 03/07 14:04
推 chigi: 其實說穿了,單機遊戲有必要真隨機嗎? 03/07 14:05
→ chigi: 讓玩家某個程度上可以掌控遊戲減少農度也是很重要的 03/07 14:06
推 aaaaajack: 沒這回事,在"seed真隨機"的情況下偽隨機數可以符合比 03/07 14:08
→ aaaaajack: 較低限度的需求,但系統時間你可能連續好幾個動作剛好 03/07 14:08
→ aaaaajack: 差一秒 03/07 14:08
推 FallenAngelX: 原po在問為什麼要用seed固定的作法 03/07 14:11
→ FallenAngelX: 然後你的回答是seed真隨機比seed用時間好 03/07 14:11
→ FallenAngelX: 所以seed不用時間 03/07 14:11
→ FallenAngelX: 你不覺得這回答邏輯上哪裡怪怪的嗎 03/07 14:12
→ ssccg: 建表只是解釋給不寫程式的人的說法,實際上就只是一個固定 03/07 14:12
→ FallenAngelX: MHW的狀況是 你現在刷珠子 第幾次刷到什麼都註定好 03/07 14:13
→ ssccg: 的函數而已,seed進去結果出來,至於seed為什麼不用真隨機 03/07 14:13
→ ssccg: 這一定不是程式設計問題,是遊戲設計問題 03/07 14:13
推 aaaaajack: 我只是在討論為什麼不每次隨機直接拿抓一個seed來用... 03/07 14:14
→ FallenAngelX: 一樣啊 原po問說seed為什麼用固定的 03/07 14:15
→ FallenAngelX: 然後你的回答是 因為真隨機難做 seed用時間效果不好 03/07 14:15
→ FallenAngelX: seed用時間效果有比seed固定差嗎? 03/07 14:16
→ FallenAngelX: 你回答seed用時間比seed真隨機差 03/07 14:16
→ FallenAngelX: 完全答非所問啊 03/07 14:16
推 aaaaajack: 我的前提是單次系統時間接近真隨機,多次則不然,因此" 03/07 14:17
→ aaaaajack: 每次取時間"比"用時間當seed"差 03/07 14:17
→ aaaaajack: 直接開噴是吃炸藥膩 03/07 14:18
推 FallenAngelX: ...所以還是沒回到為什麼用固定seed啊 03/07 14:19
→ aaaaajack: 每次真隨機難做,因此取真隨機當作固定seed,然後做偽 03/07 14:20
→ aaaaajack: 隨機,有問題? 03/07 14:20
推 kokal: 答案就簡單,好寫, 對randomness不要求的東西就會用固定seed 03/07 14:21
推 Golu: 如果表中800次內都是爛東西,那自然是設計得差造成遊戲體驗 03/07 14:22
→ Golu: 差,但實際上都會在一定的次數內放一些稀有但不一定當前需要 03/07 14:22
→ Golu: 的東西"激勵"玩家繼續洗下去,"激勵要素"沒考慮進去只想到可 03/07 14:23
→ Golu: 能都爛東西,那自然會馬上想到都爛東西的可能性 03/07 14:23
推 FallenAngelX: ok我會錯意 我以為你說seed真隨機是說seed隨機變動 03/07 14:24
→ Golu: 更多的眉角都是在程式面以外的設計 03/07 14:24
推 GKki2012: 我外行地問一下若要做真隨機的話是要用某種感應器可以測 03/07 14:25
→ GKki2012: 測量出某種物理量當作隨機函數的參數去做的?還是什麼方 03/07 14:25
→ GKki2012: 還是用其他方法做出真隨機嗎 03/07 14:26
推 aaaaajack: 像上面seaEPC大講的熵池吧,龜毛一點可以用量子 lol 03/07 14:27
推 wifi: 看到這個我莫名地想到骰動人生好運道.... 03/07 14:28
→ GKki2012: 有碰過熱力學的entropy 但是資訊理論的entropy我可能要 03/07 14:31
→ seaEPC: 你可以查一下wiki上 /dev/random 的頁面 03/07 14:33
推 aaaaajack: 基本上就是用硬體的各種noise吧,實際運作我也不清楚 03/07 14:33
→ aaaaajack: 這裡的熵應該比較物理(?) 03/07 14:34
推 GKki2012: 總而言之感謝各位專業的大大 03/07 14:37
推 gn00399745: 某人提問的姿態不知道在高幾點的 這樣知道的人憑什麼 03/07 14:40
→ gn00399745: 要告訴你 03/07 14:40
推 siro0207: load回去後用當下時間重作seed不可行啊 這就代表我只要 03/07 14:40
→ siro0207: 一個大龍脈石 就可以反覆SL大法取得我要的珠子 03/07 14:41
→ siro0207: 所以我上面才說要解決 就只能存檔不在玩家手上 03/07 14:43
推 hank0305: 我認為這是開發者故意留的後門,做成密技之類的讓人鑽研 03/07 14:50
→ seaEPC: 只要能S/L保存/還原遊戲狀態,不管開發者用什麼,玩家都能 03/07 14:52
→ seaEPC: 凹啊XD 03/07 14:52
→ seaEPC: 能變更seed好歹玩家還會有些期待感下一次搞不好就成了 03/07 14:54
→ seaEPC: 固定seed又不能跳過結果的話,等於是跟玩家說你下一次的投 03/07 14:55
→ seaEPC: 資固定打水漂.會讓人有沮喪感的 03/07 14:55
推 siro0207: 我也有想到這點 而且這點搞不好就是原PO想要的回答 03/07 14:58
→ siro0207: 廠商知道會有玩家靠SL大法來取得珠子 但是又不希望珠子 03/07 14:59
→ siro0207: 太容易被取得 於是產生整個表 讓你不得不刷很多場之後才 03/07 15:00
→ siro0207: 獲得你要的珠子 03/07 15:00
→ siro0207: 如果每次煉金都亂數產生 那就重複SL大法就好 就不會想說 03/07 15:02
→ siro0207: 我要的珠子後面一定會拿到 先來去打幾隻魔物好了 03/07 15:03
→ ZMTL: 感謝lordmi,下班後我來研究XD 03/07 15:10
推 kaltu: 我其實不懂為什麼不用玩家進度的組態的雜湊值作為種籽建表 03/07 15:11
→ kaltu: ,這樣一來每一次S/L骰到的東西會一模一樣,但是又不可預測 03/07 15:11
推 kaltu: 因為組態改變整個亂數表又變一次。等於用 A組態去試出來的 03/07 15:16
→ kaltu: 亂數表,換成 B組態就失效。也就是說不能用快速的方法試出 03/07 15:16
→ kaltu: 未來機率分佈然後再拿想要的高成本物品去撞 03/07 15:16
→ zseineo: 你這麼做對玩家的遊戲體驗有幫助嗎? 03/07 15:19
推 darkckman: 那如果以一般遊玩來說呢,如果試過S/L大法發現沒用,之 03/07 15:20
→ darkckman: 後就不會為了這個存來存去的,也許這就是作者想要的流 03/07 15:20
→ darkckman: 暢的一部分 03/07 15:20
推 kokal: 我認為防SL的狀況是side effect, 並不是選用PRNG的原因 03/07 15:21
→ zseineo: 如果這遊戲大部分玩家都會選擇SL,那麼是數值流程之類的 03/07 15:22
→ zseineo: 出問題了,如果只是少數玩家這麼做…那麼為了他們去防 03/07 15:23
→ zseineo: 這件事感覺意義還好…? 03/07 15:23
推 kaltu: 防止作弊需要意義嗎,防堵S/L可以重骰一次的漏洞和利用固定 03/07 15:28
→ kaltu: 亂數表的漏洞都是作弊吧? 03/07 15:28
→ kaltu: 這麼想讓作弊,為什麼不直接釋出cheat code 03/07 15:28
→ zseineo: 拿本文提到的PM來說,依你的定義這樣生蛋是作弊沒錯吧 03/07 15:33
→ zseineo: 但這點只有少數玩家會去做,不去防這點對決大多數玩家的 03/07 15:33
→ zseineo: 遊戲體驗都沒有影響 03/07 15:33
→ zseineo: 那麼把這點改掉真的有意義嗎? 03/07 15:34
推 cavitylapper: 好處大概是可以close「用家可以透過save-load來降低 03/07 15:38
→ cavitylapper: 消耗取得想要的東西」的issue吧 03/07 15:38
→ cavitylapper: save load如果結果會變 就會變成機器人大戰那樣 在 03/07 15:41
→ cavitylapper: 那邊讀檔凹個大半天才打完一回合 03/07 15:41
推 kaltu: 但是為了避免每次讀檔可以重骰而使用固定亂數表,明顯是挖 03/07 15:53
→ kaltu: 東牆補西牆啊 03/07 15:53
→ kaltu: 可預測性和隨機性本來就是拮抗的概念,為了讓玩家不能重骰 03/07 15:53
→ kaltu: 所以乾脆放棄隨機性,這是因噎廢食等級的solution 03/07 15:53
→ abraxas: 你呼叫的亂數函式也是查表的概念 03/07 16:04
→ ZMTL: OK,但以我舉的例子來說是否能說變因太死?或者說他們就是 03/07 16:06
→ ZMTL: 為的單純不想玩家SL快速改變結果,卻造成整體比較好預測(?) 03/07 16:06
→ ZMTL: 有一部分也是想聽這麼設計可能的理由是什麼,今天學到很多XD 03/07 16:07
推 aaaaajack: 上面那篇知乎跟使用seed的偽隨機是不同的概念吧,那種 03/07 16:50
→ aaaaajack: 偽隨機是考慮使用體驗的額外設定,跟是否使用seed無關 03/07 16:50
推 Kingofknife: 幹嘛不做更多重的假隨機 就可以無限接近又不失熱情 03/07 16:50
→ Kingofknife: 很多遊戲是為了維持保底機率都會做小樣本區 03/07 16:51
→ Kingofknife: 那麼可以做成多重骰樣本群中的樣本表來阻止規則 03/07 16:51
→ Kingofknife: 要無限接近真隨機是很花資源的 用省一點就是多重骰 03/07 16:53
→ Kingofknife: 比如魔物可以骰10種珠子產生順序就會複雜十倍 03/07 16:55
→ aaaaajack: 要讓規律更複雜是做得到,想不想、有沒有必要而已 03/07 16:56
→ aaaaajack: 單機遊戲應該沒有自行設計更複雜的PRNG的需求 03/07 16:59
→ aaaaajack: 在沒有需求的時候應該就越簡單越好,MHW的原理應該也很 03/07 17:02
→ aaaaajack: 單純,因為多打一場多用了一次隨機數,所以鍊金會跳到 03/07 17:02
→ aaaaajack: 下一格。 03/07 17:02
→ aaaaajack: 我認為是一般的PRNG怎麼做他就怎麼做 03/07 17:03
推 C6H8O7: 自然亂數反而會讓玩家覺得不隨機喔 03/07 17:07
→ linzero: 真要搞玩家,可以偵測SL頻率來修正機率 03/07 17:18
→ linzero: 另外一個較常見的做法是減少能SL的時機點 03/07 17:19
推 cavitylapper: PM那個算好預測嗎 我覺得研究並破解亂數表是一回事 03/07 19:37
→ cavitylapper: 實際實行起來想取得那些有誇張數值的色違稀有PM們 03/07 19:37
→ cavitylapper: 幾乎還是會選擇用改的改出來吧 03/07 19:37
→ ZMTL: 其實手工派的很多。 理念就是自己沒有透過修改方式那就不是 03/08 10:06
→ ZMTL: 作弊來的。也有很多人在交易未來X個後的色違位子,另一方 03/08 10:06
→ ZMTL: 可以選擇自己要什麼寵的色違 03/08 10:07
推 kqalea: 電腦弄不出真隨機~但是無限趨近真隨機了 03/08 11:19
推 kqalea: 但是樓上有提到~自然亂數的話反而讓人覺的不是隨機 03/08 11:22
→ kqalea: 為了遊戲體驗 離群值的控制變成非常重要的一環 03/08 11:23
推 zax8419: 神奇寶貝是一款真正的亂倫遊戲 大家都是百變怪的孩子 03/08 14:56