當前位置: 華文問答 > 數位

同樣是獨占遊戲,為什麽荒野之息很快就有模擬器了,而最後生還者這麽久了還是沒有?

2019-12-25數位

荒野之息有wiiu版,最後生還者有ps3版。目前,wiiu模擬器cemu和ps3模擬器rpcs3都比較成熟了,對pc配置要求比較高,題主可以試試。順便rpcs3我真心推薦執行p5。

但題主的觀點是錯誤的, 模擬器的成熟度和主機廠商的技術力沒有任何關系,反倒是和主機廠商的保密工作有關系。 這點需要鋪開點講,歡迎討論。

模擬器基本都是該主機的粉絲極客做的。愛好者一般不是遊戲開發者也不是主機廠商工作人員。所以他們手上沒有多少主機廠商內部的開發資料可以看。開發機也不是那麽好搞到手的,搞懂原理並用程式碼去模仿執行過程可不容易。

ps2和ps3是出了名的奇葩架構,ps2的gs+ee,ps3的cell連遊戲制作公司都怨聲載道,更何況是模擬器開發者?相比之下,ngc/wii和wiiu的主機配置更常見一點,做起來更得心應手。

到了ps1以上機能的模擬器均采用HLE(High Level Emulation)式模擬,HLE模擬的定義和原理見以下參照(原文轉譯不順嘴,有適當覆寫,請諒解)

高級模擬(HLE)和低階模擬(LLE)是指在模擬主機的一個元件或整個主機時使用的方法。透過模擬器各部份外掛程式處理主機對應元件的方式來區分是HLE還是LLE。運用HLE的模擬器將主機元件抽象化,目的是提高模擬器的執行效能,並犧牲模擬的精確性來實作。大多數經典主機由於架構相對簡單性,可以實作低階模擬。但是較新主機的圖形處理能力呈指數級增長,因此有必要進行抽象。因為高級模擬通常可以看作是一種仿真,所以通常不需要從主機dumpBIOS檔和其他不那麽合法的備份機器特定程式碼。 例如,主機具有CPU呼叫的3D圖形芯片來渲染遊戲。一個精確的低階模擬器將使用軟體渲染來確保該外掛程式的輸出與原始主機是1:1的。但是,這樣的軟體渲染是在pc的CPU上執行,而pc的CPU不是為3D應用程式設計的。如果CPU的效能不足以即時處理精確的3D渲染,模擬器會出現嚴重拖慢。幸運的是,現代3D API可以透過將3D計算重新導向到pc的GPU的方式來緩解此問題,因此高級模擬器會呼叫pc的gpu來更快地渲染。而且,HLE不僅可以加快3D渲染的速度,而且還可以作為不要求精確模擬即執行原軟體的部件。

那麽可以得知,模擬器開發者手上主機開發資料越少,模擬器會發生的錯誤也就越多。正是因為索尼保密工作做得好( 畢竟輸過模擬器官司), 所以pcsx2/rpcs3的模擬程度就是不如dolphin/cemu。

甚至在10年前,相當多的ps2熱門大作每一款都需要對應svn版本的pcsx2模擬器,可真是一大奇觀。

再加上歐美極客一向親任,這問題就更加嚴重了。12年前pcsx2和dolphin先後開源svn化,結果dolphin開發者活躍人數遠遠高於pcsx2,dolphin的模擬度也超過pcsx2好多。

更何況,3ds的那個pica200也是奇葩元件,citra3ds的模擬度還不是一樣很高?

這裏多說個笑話,gba的開發資料在gba還沒開發就泄露出來了。於是gba遊戲在vba模擬器上執行的比gba真機還好…