UDK-用VS來製作一個簡單的Game Mod

摘要:使用VS建立UnrealScript工程,用此工程來修改和編譯script文件(即是生成一個game mod)。不需使用unreal frontend軟件就可以編譯.u文件。

開發環境:XP 64bit;VS 2008;UDK beta2;

其他需求:1. 安裝了nFringe。可參考 這裏

2. 如果要用自制的UDK地圖。可參考 這裏

實現:

首先用VS新建一個UnrealScript工程,名字可隨意(這裏叫MyFirstGame,如有更改,在稍後配置時自行做相應修改),但是路徑必須是如下圖(否則有可能出現編譯後文件丟失的問題,具體後述)。同時去掉"Create directory for solution"的勾。

然後開始配置MyFirstGame的屬性,具體如下:

General的配置:

Target Game: 選UE3 Mod。

UCC Path: C:/UDK/UDK-2009-11-2/Binaries/UDK.exe

Reference Source Path: C:/UDK/UDK-2009-11-2/Development/Src

Build Events不用配置,默認就行。

Build的配置:

勾上全部的勾,路徑設置:C:/UDK/UDK-2009-11-2/UTGame/Script(如果不放這裏,遊戲啓動後就無法讀取我們修改的mod,這個是默認路徑,暫時還不知道如何改)。

Debug的配置(懶得寫了,見圖吧):

說明幾點:

Load map at startup選項,輸入的是地圖名字,而地圖位置默認是自動讀取C:/UDK/UDK-2009-11-2/UTGame/Content/Maps下的文件。這個TestMap是之前一片bolg建立crowd system時創建的地圖,也可以使用任何在前述文件夾下游戲自帶的地圖。

禁用聲音和禁用開頭動畫選項可以不勾(我是嫌聲音太吵)。

Start with specified game type選項,這裏就是指定遊戲要載入我們修改的這個mod(這個mod稍後建立)。

完成以上的屬性配置後,保存工程,關閉再重新載入。這樣做的目的是讓工程載入我們設定的Reference。這時Reference Source前面應該就有+號,可以展開。此時,在MyFirstGame的根目錄下新建一個文件夾,命名爲Classes(必須是這個名),在此文件夾裏面新建一個UnrealScript文件,命名爲GameInfo.uc。大概就是下面這個樣子(你的Reference Source下應該沒有CluOne,因爲這是另一個mod):

現在我們添加UTEngine.ini到Classes文件夾下(如上圖所示)。右鍵選Add-> Existing Item,位置在C:/UDK/UDK-2009-11-2/UTGame/Config/UTEngine.ini。注意要以link的方式添加。打開UTEngine.ini,找到ModEditPackages(用查找),把它前面的;去掉,把=後面改成MyFirstGame。就是這個樣子:

這樣做就是表示我們要使用的game mod是MyFirstGame。當編譯時,就會把MyFirstGame下Classes文件夾下的uc文件一起編譯。

好了,最後一步就是修改GameInfo.uc文件。把原來的程序全部刪掉,改成以下:

class GameInfo extends UTDeathmatch ;

// 這裏就是一個開始 Deathmatch 的函數,即當我們啓動遊戲以後就會自動開始一個 Deathmatch

function StartMatch ()

{

    super (UTGame ).StartMatch ();

    TestFunction ();

}

// 使用 `log ()函數把一句話輸入到控制檯

function TestFunction ()

{

    `log("This is my first mod game!" );

}

現在,我們已經完成了全部的編碼和配置工作。選 Build->Build MyFirstGame

稍等片刻,便顯示編譯成功。此時會生成一個MyFirstGame.u文件:

我在這裏遇到一個很奇怪的問題,就是無論如何配置Build的輸出路徑,在運行Build後顯示的輸出路徑都是以上(即是工程保存的路徑),而實際上你在那個文件夾下是找不到MyFirstGame.u這個文件的。真實輸出的路徑則爲:

C:/UDK/UDK-2009-11-2/UTGame/Script(即便我在build選項裏面設置別的路徑也如此)。

注:這個問題,或者說類似的情況,在UDK論壇上也有很多人遇到,但是具體的原因和解決方法暫時還沒有發現。如果你也不幸出現了這種情況,則去C:/UDK/UDK-2009-11-2/UTGame/Script查看是否有MyFirstGame.u生成,如果有,就表示編譯成功。目前不少人都能成功得到MyFirstGame.u的辦法是在建立工程時位置一定要是我建立工程用的路徑。如果無法解決,可能只能使用unreal frontend來編譯了。

好了, 現在可以測試我們的mod了。點擊start debugging按鈕(F5)遊戲就會啓動,在控制窗口中,就會出現我們輸入的log:

而遊戲窗口如下,可以看到我們設置的crowd在自動生成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章