操作環境:
- Fedora 43
- Serious Sam II v2.070
倘若以整個系列來做對照,則 2005 年的《重裝武力 II》(Serious Sam II)是一款相對奇特的存在。不同於前一代(The First Encounter、The Second Encounter,本站 How-To 在此)及後一代(Serious Sam 3: BFE,Steam),儘管遊戲內容也都並不嚴肅,不過實際玩起來還是有種血淋淋的硬派感。相反地,二代改採一種更加卡通化、甚至可以說是童話風格的視覺外觀,或許不是每個玩家都能夠對此感到適應。不僅如此,二代也因為同步發行在 Xbox 遊戲機上的緣故,整體的設計理念是更加朝家機遊戲的特性靠攏,老練的 PC 遊戲玩家應該蠻明顯能夠感受到當中的差異。
然而巨大場景與大量敵人,這兩項標誌性的系列特色,在二代裡同樣並不缺席,並且也採用了比起前代更加先進的遊戲引擎來予以實現。以及即便在卡通風格的外觀包裝下,二代本質上依然是一款經過認真設計及改良的 PvE FPS 遊戲。武器及敵人種類皆頗為多樣,此外也新增了諸如載具及砲塔等元素。或許最美中不足之處,是二代的多人遊戲捨棄了原先一代具備的存檔能力。所以每次的多人遊戲都無法載入先前進度,而必須自行選取關卡重新開始。
雖然也是一款老遊戲,不過《重裝武力 II》在 Steam 上發行的 Windows 版,仍然有受到官方的後續維護。不僅是順應了現代的 PC 環境,Linux 上透過 Proton 相容層,也能夠順利執行起來。基本上這已然是最佳方案,然而 Linux 玩家若是希望以無 DRM 的限制,在多台電腦上安裝《重裝武力 II》,並建立區域網路遊戲。那麼還有一種解決方案,是利用官方許多年前曾經很低調地釋出的原生 Linux 版,來搭配從 Steam 上購買及獲取的遊戲檔案。儘管原生的 Linux 版相對陳舊、而且始終不是正式版,遺留了一些功能缺憾及不穩定性,不過遊戲在此情況下確實是能夠運作的。
1. 建立遊戲目錄及複製遊戲檔案
本文流程不會有許多的指令操作,多數程序都能夠單純地透過桌面環境操作完成,也不會不便利。首先在使用者家目錄下建立一個自訂的遊戲存放目錄,例如「ss2」。然後在 Steam 裡找尋已下載的《重裝武力 II》遊戲檔案,複製以下資料夾及檔案至 ss2 目錄中:
Bin/
Content/
All_PC_01.gro
All_PC_02.gro
All_PC_03.gro
Movies_PC_01.gro
Movies_PC_02.gro
這裡須注意,應避免複製除前述清單以外的額外 *.gro 檔案。因為額外的更新內容很有可能與陳舊的原生 Linux 版不相容,會造成遊戲無法正常運作。
2. 下載及安裝 Linux 版遊戲程式
從此處下載 Linux 版的壓縮檔(flibitSam2_2070b.tar.gz),這個檔案包是由知名的 Linux 遊戲開發者 Ethan Lee 所協助打包的。其實壓縮檔內也附有一支安裝腳本(install.sh),不過由於整個手動流程也相當直觀不複雜,所以安裝腳本可以不用。將該壓縮檔解開,首先找尋到位於 bin 目錄裡面的 serioussam2 及 serioussam2-editor,皆複製到 ss2 目錄裡(雖然遊戲執行實際上只需要前者)。接著壓縮檔裡面另外還有一個名為 serious.sam.2_beta_rc2.1.tar.bz2 的壓縮檔,同樣也解開來,將裡面所有的內容全都覆蓋到 ss2 目錄裡。完成前述操作後,ss2 的目錄內容應該會如以下清單所示:
Bin/
Content/
lib/
All_PC_01.gro
All_PC_02.gro
All_PC_03.gro
Movies_PC_01.gro
Movies_PC_02.gro
serioussam2
serioussam2-editor
3. 執行遊戲
由於遊戲啟動腳本會依賴於當前所在的目錄,所以執行流程如下:
- cd ~/ss2
- chmod +x serioussam2
- ./serioussam2
原生 Linux 版已知的遊戲問題,是載入關卡時可能會突然崩潰,但可以單純地重啟遊戲再試一次。以及鍵盤的逗號(,)及句號(.)按鍵輸入是彼此錯置的。這在進行區網遊戲時,若選擇手動輸入 IP 位址就會注意到此問題。此外也未支援網際網路多人模式。
4. 自訂畫面解析度
倘若想要自訂畫面解析度,以便迎合現代的螢幕尺寸,那麼首先在遊戲選項【Video Options】內要啟用【Wide Screen】。然後退出遊戲,接著編輯遊戲目錄內 Content/SeriousSam2/Sam2.ini 這支設定檔,找尋到以下設定值,修改成自訂的全螢幕寬度及高度即可:
gfx_bFullScreen = 1;
gfx_pixResWidth = <寬>;
gfx_pixResHeight = <高>;
5. 其它參考資料