How-To : Duke Nukem 3D for Linux

Last Update - 10 / 26 / 2006 By DarkRanger .

環境 :


Fedora Core 5

Kernel = 2.6.17-1.2174_FC5

JFDuke3D v20051009


Duke Nukem 3D ( 以下簡稱 Duke3D ) , 可算得上是早期 FPS 的經典傑作 , 後來原本的引擎開發者與遊戲開發公司分別將引擎與遊戲的原始碼釋出 , 讓這款 DOS 遊戲有機會在新式的作業系統下重生 , 目前的 Duke3D 重製版主要有兩個版本 : IcculusJFDuke3D , 而 DR 這次是選用了 JFDuke3D 做測試 , 不過要注意的是 : Linux 版的 JFDuke3D 目前並無播放音效的功能 ( 這也是目前 JFDuke3D 的作者正在研究的部份 )

1. 下載 JFDuke3D 原始碼

先到 http://jonof.edgenetwork.org/index.php?p=downloads 下載引擎 ( JFBuild ) 與遊戲 ( JFDuke3D ) 的原始碼並解壓縮 , 由於編譯路徑的要求 , 必須將解開來的 JFBUILD 目錄改名成 build :

# mv jfbuild_src_20051009 build

接下來切記要把引擎與遊戲的目錄放在同一個路徑下 , 例如 :

/home/username/build

/home/username/duke3d

這樣編譯時才能正確的取得引擎原始碼 .

2. 滿足 JFDuke3D 的編譯需求

請先用 yum 安裝以下套件 :

# yum install SDL SDL-devel nasm

然後 , 由於需要使用 GCC3 才能正常編譯 , 但 FC5 內建的是 GCC4 , 所以必須先安裝 GCC3 :

# yum install compat-gcc-32

接下來還得安裝 FMOD 這個音效 API ( 雖然目前的 Linux 版是沒有聲音的 ) , 請至官方網站下載 3.75 版 . 解開來後將 api/inc/ 底下所有標頭檔丟到 build/src 裡頭 :

# mv fmodapi375linux/api/inc/*.h build/src/

最後將 api 底下的 libfmod-3.75.so 命名為 libfmod.so 後丟到 /usr/lib :

# mv fmodapi375linux/api/libfmod-3.75.so /usr/lib/libfmod.so

3. 編譯原始碼

先在 JFDuke3D 的目錄底下編輯 Makefile :

# vi Makefile

找到 CC=gcc 改成 CC=gcc32 , 儲存後執行編譯 :

# make

編譯成功後會產生 duke3d 這個執行檔 .

4. 執行 JFDuke3D

只要將遊戲光碟裡的 duke3d.grp ( 注意 : 大小寫有差 , 如果是大寫請改成小寫 ) 放在和執行檔相同的路徑再執行即可 :

# ./duke3d


參考網站 :

http://jonof.edgenetwork.org/

http://www.3drealms.com/

http://advsys.net/ken/build.htm

Back to DarkRanger.no-ip.org