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

看板C_Chat作者 (ISML實習分析師)時間6年前 (2018/03/07 21:46), 編輯推噓5(5015)
留言20則, 4人參與, 6年前最新討論串8/9 (看更多)
其實要不要 call rand() 即時產生亂數也是看工程師決定的... 不知道版上還有沒有人記得幾年前神抄之塔被人找出開盤時的盤面重覆性很高 然後有人下去拆包才發現原來開盤盤面是由一個固定有 450 個浮點數的表所決定 然後就出現了這個→https://pastebin.com/ehFB6ZXp 也就是說它的開局只有 450 種 (實際稍少, 因為一些演算法的原因)↑↑ 這個就是連 rand() 都懶得/不想呼叫的結果 就算系統提供的亂數某種程度上有點糟, 但有的時候這種鳥鳥的東西就很夠用了 -- Ace Snake Santa Clover Junpei June Seven Lotus 9th man cabin kitchen casino shower operating room laboratory T H E chart captain quarter confinement torture room steam engine room cargo chapel library study incinerator Gigantic Q director office security N O N A R Y archives control laboratory pec treatment garden pantry gaulem bay rec room crew quarters infirmary lounge elevator Tenmyouji Quark Dio G A M E S Luna Phi Sigma Alice Clover K -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.195.9.46 ※ 文章網址: https://www.ptt.cc/bbs/C_Chat/M.1520430364.A.61B.html

03/07 21:48, 6年前 , 1F
以前老game也常用預建表,call rand雖說消耗不高但還是有
03/07 21:48, 1F

03/07 21:52, 6年前 , 2F
LCG跑亂數比你從記憶體讀表快多了...
03/07 21:52, 2F

03/07 21:52, 6年前 , 3F
一個加法一個乘法一個module都在register裡執行..
03/07 21:52, 3F

03/07 21:52, 6年前 , 4F
你查表還要去記憶體->cache->register 誰快不用說吧..
03/07 21:52, 4F

03/07 21:55, 6年前 , 5F
可能是為了遊戲體驗,要不然一開始就抽到爛盤面會很火
03/07 21:55, 5F

03/07 21:58, 6年前 , 6F
那為啥以前很多老game搞預建表的啊?我以為是有差說XD
03/07 21:58, 6F

03/07 21:59, 6年前 , 7F
DOS/95那時的
03/07 21:59, 7F

03/07 22:03, 6年前 , 8F
call rand快又省工,那搞預建表的是再搞自己嗎XD
03/07 22:03, 8F

03/07 22:04, 6年前 , 9F
你是真的decompile發現它記憶體裡有張表嗎...
03/07 22:04, 9F

03/07 22:04, 6年前 , 10F
rand跑出來的行為和預建表一模一樣,你怎麼分辨..
03/07 22:04, 10F

03/07 22:05, 6年前 , 11F
先用一個種子跑100次rand建表,和實際要用時在呼叫rand
03/07 22:05, 11F

03/07 22:05, 6年前 , 12F
結果不是一模一樣嗎
03/07 22:05, 12F

03/07 22:07, 6年前 , 13F
沒實際跑過,但記得以前不少文章都有提XD
03/07 22:07, 13F

03/07 22:08, 6年前 , 14F
像原PO講的神魔這樣,我是沒實際去拆,說有表我就信了w
03/07 22:08, 14F

03/07 23:44, 6年前 , 15F
那要看文章是企劃寫的還是程式設計師寫的....
03/07 23:44, 15F

03/07 23:45, 6年前 , 16F
為了理解方便,程式都會跟企劃說有張隨機表,每次跑出來
03/07 23:45, 16F

03/07 23:45, 6年前 , 17F
結果是固定的,用來讓企劃理解PRNG的數學意義
03/07 23:45, 17F

03/07 23:46, 6年前 , 18F
久而久之企劃們都以為真的有張表存在記憶體裡面,但實際
03/07 23:46, 18F

03/07 23:46, 6年前 , 19F
上並不是...
03/07 23:46, 19F

03/08 07:53, 6年前 , 20F
我是有印象有看過 decompile 出來的程式碼, 確實是有表
03/08 07:53, 20F
文章代碼(AID): #1Qd-qSOR (C_Chat)
討論串 (同標題文章)
完整討論串 (本文為第 8 之 9 篇):
文章代碼(AID): #1Qd-qSOR (C_Chat)