遊戲情報

Sega Dreamcast 可在瀏覽器運行  開發者自製 WebAssembly 版 Flycast 模擬器

Published by
Lawton

開發者 Nick Somers 成功將開源 Dreamcast 模擬器 Flycast 移植至 WebAssembly,令 Sega Dreamcast 遊戲可直接在 Chrome 等主流瀏覽器運行,無需安裝任何插件或擴充功能。

突破廢棄程式碼限制

Flycast 官方 libretro 分支早前已廢棄其 Emscripten 移植目標,留下殘缺基礎,Nick Somers 因此自行修復並完成移植。他利用 Emscripten 將 Flycast 編譯為 WebAssembly,整合 WebGL2 負責畫面渲染及完整音訊輸出,令模擬器可在 EmulatorJS 平台上運作,兼容任何支援 libretro 架構網頁模擬平台。整個移植過程中,Nick Somers 修復橫跨 Makefile、C/C++ 原始碼、Emscripten 連結器、JavaScript 執行環境及 EmulatorJS 整合等多達 30 多個漏洞。

 

實際運行表現

現時版本採用純 SH4 解譯器執行,尚未加入動態重編譯(dynarec)技術,因此 GPU 密集型遊戲運行效果較佳,而 CPU 密集型遊戲則表現較弱。示範影片中可見《Jet Set Radio》等 Dreamcast 經典遊戲在瀏覽器中順暢運行,支援真實 BIOS 開機,並非以模擬方式(HLE)取代,令整體體驗更完整。

 

後續改良方向

效能瓶頸目前在於解譯器本身,Nick Somers 已在 GitHub 儲存庫記錄完整改良路線圖,方向包括加入多執行緒(threading)支援、WASM SIMD 指令集加速,以及連結時間改良(LTO),期望能全面提升遊戲在瀏覽器內運行效能。

資料來源:GitHub / nasomersYouTube / Nick SomersHacker News

 

Published by
Lawton