操作環境:
- Fedora 40
- NBlood r14217
《血祭》(Blood,1997)是 Monolith Productions 所開發的第一款 FPS 遊戲作品,後續這間公司也繼續推出了許多廣受好評的作品,例如結合日式動漫風格、可駕駛巨大機器人的《昇剛》(Shogo: Mobile Armor Division,1998);以及獵奇地將吳宇森式暴力美學與紅衣小女孩(?)融合在同一作品裡的《戰慄突擊》(F.E.A.R.,2005),等等這些。而作為開山之作的《血祭》,遊戲正如其名,以黑暗血腥的內容著稱,單是遊戲外盒就令人生畏。甚至發行商後來還默默地,包含台灣市場在內,除了起初的原始版本外還另外發行了暴力成份經過刪減的普及版。
在 DR 早年的實體遊戲收藏裡,《血祭》是一個很奇特的存在。因為 DR 當年實際上只買了它的資料片《Plasma Pak》,而沒有它的主程式。小時候對於所謂遊戲內容的擴充包認識有限,也看不懂多少英文。於是當時便以為自己不過是買到了原文包裝的版本(可見於照片裡最右側處),但又不急著玩它,就一直塵封著,而沒有發覺到這樣遊戲是無法安裝及執行的。然而無論如何,現今如果想玩這款遊戲的話,勢必得要從線上的發行平台購買數位版本,是比較便利的。
在技術層面上,《血祭》起初是使用與《毀滅公爵 3D》(Duke Nukem 3D,1996)相同的 Build Engine 開發而成。由於 Build Engine 在原始碼的開源化後,已衍生出各種改良專案,並且回頭支援諸如《血祭》等並未完整開源碼的作品。所以在現代的系統環境上,利用社群專案的實作成果來執行《血祭》是可行的。不僅如此,如今重新發行的《血祭》(Blood: Fresh Supply,Steam、GOG),則是 Nightdive Studios 改為使用自家 KEX Engine 的增強版本,也同樣適用於現代的系統環境,儘管官方僅支援 Windows 平台。
總歸來說,有不只一種方式,能夠在現今的 Linux 平台上安裝及執行《血祭》這款老遊戲。例如可以使用諸如 Wine 這類的相容層工具,來執行透過 KEX Engine 增強的 Windows 版本,這應是最直接的手段。而且此版本雖非跨平台,卻依然同時支援 DirectX 11、Vulkan 及 OpenGL 3.2 API,可從中進行切換,因此算是有一定程度的可調校空間。
然而改用 KEX Engine,也使得增強版對於硬體規格的要求,有顯著地略高於原始版本。倘若玩家對於 90 年代老遊戲的期待,就是在各種不同的低階設備上都能夠有一致的順暢體驗,那麼透過相容層執行 Windows 增強版,可能就會遇到一些障礙。於是本文範例最終是選擇使用 NBlood 這項基於 EDuke32 的開源專案,可以自行編譯出原生的 Linux 版本,而且在遊戲功能上也並不匱乏,包含 OpenGL 3D 加速、WASD 現代化的操控,以及多人連線功能等都是存在的。不過在本文流程裡則依然會透過 Wine 來安裝來自 Windows 增強版的遊戲檔案。
1. 安裝遊戲
本文是使用 GOG.com 所提供的安裝程式,透過 Wine 執行,然後指定安裝至使用者家目錄下的 blood 目錄內:
- wine setup_blood_fresh_supply_1.9.10-1_\(64bit\)_\(31506\).exe
2. 下載及編譯 NBlood
首先在 Fedora 發行版上,可執行下列 dnf 指令以安裝所需套件:
- sudo dnf group install "C Development Tools and Libraries"
- sudo dnf install g++ nasm mesa-libGL-devel SDL2-devel alsa-lib-devel libvpx-devel gtk2-devel flac flac-devel libXext-devel
接著前往 NBlood 專案的 GitHub 頁面,下載最新版本的原始碼包,然後依序進行解開及編譯動作:
- tar zxvf NBlood-r14217.tar.gz
- cd NBlood-r14217
- make -j2 blood(數字表示編譯時所使用的執行緒數目,可自行調整)
應特別留意在執行編譯的一開始是否有任何警告訊息,這會顯示出是否仍有缺少的函式庫。需要再做找尋及安裝,否則會在後續的編譯過程出現錯誤。倘若編譯過程順利執行完畢,將目錄中新產生的 nblood 執行檔及 nblood.pk3,皆複製到在先前遊戲安裝時所建立的 blood 目錄裡。
3. 執行遊戲
由於 nblood 程式在執行時會依賴當前目錄,所以得先明確地切換至遊戲所在目錄,再執行遊戲:
- cd blood
- ./nblood
執行時會先彈出一個視窗表單,可用於調整顯示設定,再按下其中的【Start】按鈕即可啟動遊戲。
4. 其它參考資料