UDK-用VS来制作一个简单的Game Mod

来源:互联网 发布:饶毅怎么样 知乎 编辑:程序博客网 时间:2024/04/29 02:47

http://blog.csdn.net/sunlovesusu/article/details/4927073

 

摘要:使用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文件。把原来的程序全部删掉,改成以下:

classGameInfo extendsUTDeathmatch ;

// 这里就是一个开始 Deathmatch 的函数,即当我们启动游戏以后就会自动开始一个 Deathmatch

functionStartMatch ()

{

    super (UTGame ).StartMatch ();

    TestFunction ();

}

// 使用 `log ()函数把一句话输入到控制台

functionTestFunction ()

{

    `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在自动生成。

原创粉丝点击