操作環境:
- Fedora 42
《魔獸爭霸 II》(Warcraft II: Tides of Darkness,1995)雖然實際上並非是 DR 真正玩到的第一款即時戰略遊戲(real-time strategy,RTS),但卻是首次讓 DR 認識到有這樣的遊戲類型存在。當年看著朋友玩時,可說是倍感震撼,不同於回合制那種你動一步、我再動一步的緩慢步調,遊戲是以即時化的方式進行,節奏刺激許多。而且作戰單位也不再是死板的數據顯示,而是手上有多少兵馬,便在畫面上直接陳列出來。遊戲畫面及人物、建物模型也都相當生動且精緻有趣。可以看著雙方單位彼此砍殺、陸海空大亂鬥,以及工人搬運礦物及伐木,等等這些。
《魔獸爭霸 II》於 2024 年推出了官方的重製版本,也是如今唯一仍在官方通路上銷售的版本。不過準確來說,這並非是唯一的現代化解決方案。倘若玩家喜歡自找麻煩(?),總是想試試看開源碼的解決方案可以做到什麼程度,或者是偏好於無 DRM 限制的遊戲安裝方式,那麼 Stratagus + Wargus 就是一項可以嘗試的選項。
起初是以社群化重製《魔獸爭霸 II》的方向發展,不過在面臨侵權爭議後,整個專案便重構成兩個部份:其一是建構出開源碼、跨平台的 2D RTS 遊戲引擎,命名為 Stratagus;其二則是以 Stratagus 模組的形式,提供對《魔獸爭霸 II》遊戲內容的支援,命名為 Wargus。除此之外也有對於初代《魔獸爭霸》(Warcraft: Orcs & Humans,1994)甚至是《星海爭霸》(StarCraft,1998)的支援嘗試,分別為 War1gus 及 Stargus 模組。
然而若循此種途徑,玩家可能會有兩項挑戰需要解決。首先是 Wargus 仍需要原始《魔獸爭霸 II》的素材才能執行起來,所以玩家手上必須要有遊戲安裝程式。GOG.com 曾經有提供最為便利的獲取管道,後來 DR 在得知即將下架的消息後(很可能就是因為官方要推重製版的緣故),自己便趕緊出手買下來。因此本文範例會是使用 GOG.com 所提供的安裝程式,就此環節而言是相對簡便一些。
另一項挑戰,則是 Linux 玩家因所使用的系統環境而異,很有可能會想要自行重新編譯 Stratagus 及 Wargus。然而這是一個相對繁雜許多的流程,並且有不少應加以留意的事項。而本文雖然是走此途徑,但玩家實際上也可以考慮使用自動發佈的 AppImage,或者透過 Wine 來執行 Windows 版的 Wargus,過程都能夠簡化許多。至於之所以沒有以 AppImage 作為首選方案的原因,是它依然還是需要涉及一些人工操作,才能順利執行遊戲;同時排查問題的直覺性也不及整個手動編譯及安裝的流程。
1. 安裝所需套件
在 Fedora 發行版上,可以藉由以下 dnf 指令來安裝所需套件:
- sudo dnf group install c-development
- sudo dnf install git cmake SDL2-devel SDL2_mixer-devel SDL2_image-devel libmng-devel libpng-devel compat-lua-devel compat-tolua++-devel libtheora-devel libvorbis-devel bzip2-devel innoextract ffmpeg
其中需要留意,Stratagus 遊戲引擎對於 Lua 5.1 版有相當寫死的依賴,若系統安裝的 lua 及 tolua++ 套件版本無法正確地滿足這項要求,則原始碼可能無法編譯;或者即便編譯成功,但在程式執行時則跑出 Segmentation fault,實際上無法運作。
2. 編譯及安裝 Stratagus
在使用者家目錄下,依序執行以下指令:
- git clone --recursive https://github.com/Wargus/stratagus.git
- cd stratagus/
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX=$HOME/warcraft2 -DLUA_INCLUDE_DIR=/usr/include/lua-5.1 ../
- make -j2(以兩個執行緒進行編譯,可自行調整)
- make install
倘若前述過程皆執行無誤,使用者家目錄下應會有一個名為「stratagus」的專案原始碼目錄;以及一個自訂名稱的「warcraft2」目錄,Stratagus 遊戲引擎便是安裝在其中。不過在執行步驟中的 make install 以前,也可以先在 build 目錄中執行「./stratagus」或「./stratagus_tests」測試看看。倘若有顯示錯誤,即表示遊戲引擎無法正確運作,那麼後續即便 Wargus 有編譯及安裝起來也會無法執行。因此需要設法在此階段找出問題再重新編譯,例如用「ldd stratagus」指令來檢查所連結的函式庫來源。
3. 編譯及安裝 Wargus
同樣在使用者家目錄下,依序執行以下指令:
- git clone --recursive https://github.com/Wargus/wargus.git
- cd wargus/
- mkdir build
- cd build
- cmake -DCMAKE_INSTALL_PREFIX=$HOME/warcraft2 -DSTRATAGUS_INCLUDE_DIR=$HOME/stratagus/gameheaders -DSTRATAGUS=$HOME/warcraft2/games/stratagus ../
- make -j2(以兩個執行緒進行編譯,可自行調整)
- make install
前述過程若執行無誤,在使用者家目錄下應會有一個名為「wargus」的專案原始碼目錄。至於所安裝的 Wargus 模組則相同於先前步驟中已安裝的 Stratagus 遊戲引擎,是放置在自訂的「warcraft2」目錄內。
4. 安裝及執行遊戲
在使用者家目錄下,先執行以下指令複製所需的工具程式(wartool):
- cp ~/warcraft2/bin/wartool ~/warcraft2/games/
然後前往 wargus 執行檔所在之目錄:
- cd ~/warcraft2/games/
接著在執行時加上 GOG.com 安裝程式所在之位置作為參數,便會自動解開該安裝程式,並複製所需檔案至遊戲資料目錄:
- ./wargus ~/Warcraft\ II/setup_warcraft_ii_2.02_v5_\(78104\).exe
需要留意這個解開及複製的動作,並不會自動刪除解開的檔案,而且是把檔案解開至命令行的當前目錄下。所以倘若不希望在非預期的地方出現一堆檔案要自行清理,最好是前往特定的目錄再執行指令(例如本文的 ~/warcraft2/games/)。
除此之外,還需要再複製 Wargus 的必要檔案至遊戲資料目錄內:
- rsync -rv ~/warcraft2/share/games/stratagus/wargus/ ~/.local/share/stratagus/data.Wargus/
最後,執行遊戲的方式即為:
- ./wargus
儘管 Wargus 並沒有如官方重製版那樣,擁有增強品質的素材,但仍支援各種解析度顯示,在現代的系統環境上已算是足敷可用。並且在遊戲操控上也有做出與時俱進的調整,RTS 玩家應不會覺得有任何古老而難以適應之處。只是遊戲的程式碼似乎不太可靠,可能會遇到不只一種故障狀況。整個 Stratagus + Wargus 專案的發展雖然已相當悠久,但似乎也依然需要社群的更多關注與支援。