How-To:Linux 安裝 Soldier of Fortune II
操作環境:
- Fedora 40
- Soldier of Fortune II: Double Helix v1.03
有別於當時多數的 FPS 遊戲較偏向於科幻性的題材,2000 年發行的《傭兵戰場》(Soldier of Fortune)是以那個時期來說,相對較少數以現代真實軍武為背景的 FPS 之一。並且其標榜能夠對敵人部位進行肢解的 GHOUL 傷害系統,也讓電玩遊戲的暴力議題進入到一種新的層級。續作《傭兵戰場 II》(Soldier of Fortune II: Double Helix,2002)則從多方面來說,確實算是一個更加先進的版本。遊戲引擎從《雷神之鎚 II》(Quake II,1997)提昇至《雷神之鎚 III》(Quake III Arena,1999)的水平;而遊戲的內容設計,也更多受到諸如《絕對武力》(Half-Life: Counter-Strike,2000)等戰術類 FPS 的影響。
雖然 DR 個人沒有強烈地認為《傭兵戰場 II》是一款很值得重溫的老遊戲,但由於本站舊版本曾經有一篇很陳舊的 How-To(2005 年寫的),描述如何在 Linux 平台上執行此遊戲。而且內容已經相當過時,無法沿用,這讓 DR 覺得似乎是有點責任該更新一下說明。不同於前作,《傭兵戰場 II》未曾發行過原生的 Linux 版,所以在 Linux 上可行的作法即是透過 Wine 來安裝及執行 Windows 版。
1. 獲取及安裝遊戲
可以從 GOG.com 購買《傭兵戰場 II》,然後使用 Wine 來執行安裝程式:
- wine setup_soldier_of_fortune_ii_double_helix_1.03_hotfix_\(45658\).exe
建議是指定安裝在使用者家目錄下比較簡約的路徑,例如「sof2」,後續操作可能會更加方便。
2. 執行遊戲
在現代的 Linux 系統環境上,透過 Wine 執行此遊戲會有崩潰情形(virtual_setup_exception stack overflow)。這實際上並非單獨個案,有多款當年採用《雷神之鎚 III》引擎、使用 OpenGL 繪圖 API 所開發的遊戲,現今都有相同的狀況。對此情形,NVIDIA 顯卡需要使用 __GL_ExtensionStringVersion=17700 環境變數;以及 Intel/AMD 顯卡可使用 MESA_EXTENSION_MAX_YEAR=2003 環境變數來修正問題。
因此針對此問題,估計比較方便的通用解法,應該是寫成一支 Bash 腳本來執行遊戲:
#!/bin/bash
cd ~/sof2
export __GL_ExtensionStringVersion=17700
export MESA_EXTENSION_MAX_YEAR=2003
wine SoF2.exe
其中 SoF2.exe 為單人遊戲模式,變更為 SoF2MP.exe 則是多人遊戲模式。
3. 安裝 BARD 模組
BARD(Bots And Realistic Damage)模組的最主要意義,是為多人遊戲模式增加 Bot 支援,也是倘若要體驗這款老遊戲的多人對戰,現今來說比較務實的手段。安裝方式非常單純,下載模組的壓縮檔,將其中的 SOF2MPBARD 目錄解開到遊戲目錄中,成為當中的一個子目錄。然後在執行多人遊戲模式時,加上參數便可載入該模組來進行遊戲:
- wine SoF2MP.exe +set fs_game sof2mpbard
4. 使用經過修改的多人遊戲執行檔
本文前述的流程都是使用原版的遊戲執行檔,不過網路上還有一個經過修改的版本(1fx. Mod - Client patches),是僅僅針對多人遊戲的執行檔(SoF2MP.exe),提供了諸如可自訂解析度比例(例如原版遊戲所不具備的寬螢幕比例)等修正功能。在轉為使用該修改版本啟動遊戲的情況下,倘若欲自訂遊戲的畫面解析度,則修改遊戲安裝目錄中 base/mp/autoexec.cfg 這支設定檔,加入以下設定值:
seta r_mode "-1"
然後下列設定值就可以用於自訂畫面的解析度:
seta r_customheight "<高>"
seta r_customwidth "<寬>"
5. 其它參考資料