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. 其它參考資料