A Little Fool

Fool For Free.

博客园 首页 新随笔 联系 订阅 管理
本指南改编自 The Modder's Guide to Civ4,原作者 Weasel Op,原帖地址:
http://forums.civfanatics.com/showthread.php?t=132476

DON'T PANIC!
(这是原作者原帖子的警告原文!不过其实以下的内容还是深入浅出条理分明的……)


文明IV是一个内容广博,架构复杂的游戏!如果你和我一样想知道如何为这个复杂的游戏制作MOD,那么请关注这个帖子。我会在这里写下我所知道的东西,我所不知道的东西,我会提供相关资料的链接。


MOD制作指南
2楼:MOD概览
3楼:图形编辑
4楼:世界创建器
5楼:XML编辑
6楼:Python脚本
7楼:SDK编程
8楼:杂项修改

MOD教程索引
(综合指导)
- 剧情设计概要
- MOD制作手册
(图形编辑)
- 官方单位模型制作指南(译文)
- sharick的单位模型制作指南
- 领袖编辑教程:李世民
- 标准图标模板
- 修改文明旗帜教程
(XML编辑)
- 秦始皇-忽必烈头像对调(算是最早的文明IV联盟“MOD”吧……)
- 教你如何创造新科技
- 制作新文明教程
- 添加中国战车教程
- 单位特性修改
- 领袖特性修改
(Python脚本)
- 修改集成包使单位按类型分别命名
(SDK编程)
- 标准游戏如何开24文明,补丁及源码
- A Better AI: 玩家制作的提升AI补丁 - 下载页面
(杂项修改)
- 修改界面字型和字号的方法
- 文明IV修改界面颜色教程

MOD相关工具
- 文明IV启动器,一个方便的小工具
- 存档修改工具,包括胜利条件、难度,改换要控制的文明
- 科技树编辑器,又一个图形化MOD工具

MOD与汉化相关
- 战国七雄:新剧情移植汉化版
- 文明IV玩家MOD安装、使用与汉化实例指南(附Fall from Heaven II在文明IV汉化版下的运行补丁)

MOD参考英文站点
CFC-Civ4-MOD下载
CFC-Civ4-MOD论坛
Civ4Wiki资料
Civ4Modiki资料
Civ4基本MOD教程索引
Civ4玩家自制单位索引



界面集成MOD - 不改变游戏规则的增强补丁
- 汉化版界面增强补丁(freesand)- Warlord汉化版界面增强补丁
- (Warlords) Kets Unaltered But Flavorful Gameplay

MOD概览

文明IV有四种不同深度层次的MOD方式:

World Builder(世界创建器):文明IV内置世界创建器,相当于文明III的地图编辑器,但是功能更强。你可用此方式制作地图和简单的剧本

XML:包括游戏文本、数值与规则的编辑。你可用此方式添加自定义单位、建筑、设施、文明,以及调整游戏数值。XML是一种类似HTML的标记语言,XML文件可以使用任何文本编辑器或专用的XML编辑器进行编辑。你可在此找到XML基础教程(英文):http://www.w3schools.com/xml/default.asp

Python:Python是一种编程语言。文明IV用它来定义游戏界面、生成地图、编写事件等等。你可在此找到Gingerbread Man针对文明IV撰写的Python教程:http://forums.civfanatics.com/showthread.php?t=97183。Python文件可以使用任何文本编辑器或Python附带的集成开发环境(IDLE)进行编辑,下载地址:http://www.python.org/

SDK: 软件开发工具包即程序的源码及相关文档,提供最高的MOD灵活性!当然也最为复杂……目前Firaxis所公布的是游戏核心动态链接函数库 (GameCoreDLL)的SDK,你可以在文明IV官网下载。你需要使用MS Visual Studio .NET 2003以上版本编译源码生成相应的DLL文件。

图形图像:在四种基本MOD方式以外,还需要图形图像的编辑制作。新的MOD会需要自己的单位外观、图标图片及用户界面。

* MOD的创作步骤
首先,请在“Civ4安装目录\Mods”或“我的文档\My Games\Civ4\Mods”文件夹中为你的MOD单独建立一个目录,而不要直接改动原有的文件,你的MOD将出现在可加载MOD清单之中。如果你希望启动游戏时直接运行你的MOD,可以采用三种方法:一是直接将MOD文件复制到CustomAssets文件夹中,这是启用小MOD最灵活的方法(卸载时直接删除整个CustomAssets文件夹即可,程序会自动重建目录结构,注意重启游戏时按住Shift键清除缓存以使更新生效); 二是在设置文件_Civ4config(CivilizationIV.ini)中将Mod属性的默认值0修改为你的MOD目录路径,例如 Mods\MyMod;三是创建一个Civilization4.exe的快捷方式,然后在其属性中将目标改为F:\Civ4 \Civilization4.exe mod="MyMod",运行此快捷方式启动MOD。

* MOD的文件结构
你的MOD目录中的文件将替代游戏安装目录Assets目录中相同位置的同名旧文件。完整的文件目录结构如下图所示:

但实际上,你并不会在Assets目录中看到这个完整的目录结构,因为许多文件被打包在单独fpk文件当中,你可以使用PakBuild解开fpk文件,看到完整的目录结构:http://www.civfanatics.net/downloads/civ4/utility/PakBuild.zip

* 资料片MOD的文件结构
Warlords:Civ4安装目录下Warlords\Assets是资料片新增内容,原有内容沿用自Civ4安装目录下Assets

* 基本须知
做MOD时有几个基本注意事项:
做好备份:如果你没有备份,恢复原版文件的唯一办法只有重装游戏,恢复自制文件的唯一办法也只有重做一次。
勤查资料:已经有很多前辈高人积累了大量MOD成果并提供分享,多多参考借鉴吧。
不懂就问:这是学习任何东西的不二法门。
乐在其中:你所做的一切,从根本上说都是为了获得乐趣,没有乐趣就做不好MOD。

图形编辑

文明IV使用NetImmerse/Gamebryo游戏引擎(http://www.ndl.com/),图形编辑对技术的要求比文明III高,除了普通的二维图形和动画,还需要处理三维模型与帖图。
你的MOD可以直接沿用游戏本身提供的模型及图像、或是下载高手们所制作分享的东西(事实上你的MOD并非一定需要新的三维元素!游戏附送的三个官方剧情也都没有这样做……)。你还可能从采用相同引擎的其他游戏那里移植你想要的模型,例如席德梅尔新海盗、上古卷轴III、上古卷轴IV……

* 单位/建筑/地形/领袖头像模型
这些属于三维图形。模型是.nif文件,模型动画是.kfm文件。
如果你想制作自己的模型,那么你会需要3dsmax之类的三维建模与动画软件,并参看以下资料:
- 导出.nif/.kfm文件的3dsmax插件及相关文档:http://forums.civfanatics.com/showthread.php?t=159481
- 用3dsmax插件附带的Scene Viewer编辑单位模型:http://forums.civfanatics.com/showthread.php?t=163585
- 用3dsmax插件导出模型文件:http://forums.civfanatics.com/showthread.php?t=161099
- .nif/.kfm文件相关资料与工具:http://niftools.sourceforge.net/ ... t_Library_and_Tools

* 界面/图标/模型帖图
这些属于二维图形,主要是.dds文件,有少量.tga文件。
如果你想制作自己的图形和帖图,那么你会需要Photoshop(简称PS)之类的平面图像处理软件,并参看以下资料:
- 导出.dds文件的Photoshop插件
http://www.nvidia.com/object/photoshop_dds_plugins.html
- .dds与.bmp文件相互转换工具DDS Converter
http://eliteforce2.filefront.com/file/DDS_Converter;29412

* 视频
视频使用.bik文件,这个是同三代一样的。
- .bik文件播放及转换工具RAD Game Tool
http://www.radgametools.com/default.htm#Bink

* 图形MOD
- Blue Marble Terrain:地形显示效果增强
- 战争之王添加中东城市风格
 
世界创建器

你可以从游戏界面按CTRL+W切换到内置世界创建器(World Builder,简称WB),世界创建器的主要用途是创作游戏地图及剧情信息,并保存为世界创建器存档文件(Civ4WorldBuilderSave, 简称WBS文件),你也可以在世界创建器中加载现有WBS文件进行编辑修改。WB非常简单易用,基本就是鼠标左击添加东西、右击移除东西,只是画河流时需 要熟悉一下操作方法。
C4内测人员Dale发布的世界创建器使用指南:http://forums.civfanatics.com/showthread.php?t=132800

* 启用世界创建器的全部功能
默认情况下,世界创建器的部分功能是被禁用的。
打开 _Civ4Config 文件,将CheatCode属性的默认值0改chipotle,即可启用世界创建器的全部功能。
(全部作弊指令:
SHIFT+T 打开金钱和科技菜单
CRTL+D 打开全局菜单,主要是显示和音频,适合机器配置差的人修改显示类型
CRTL+Z 打开全地图,并且驱除地图迷雾,显示所有资源
ALT+D 修改控制者详细信息
ALT+Z 改变你所控制的文明)

* WBS文件的格式
WBS文件的格式其实就是纯文本,你可以使用任何文本编辑器进行编辑,不一定要进入游戏打开笨重的WB,特别是当你只是想修改几个数值的时候。
Dale发布的WBS文件格式详解:http://forums.civfanatics.com/showthread.php?t=135669

* BMP/WBS转换工具
C4开发人员Rhye发布的BMP/WBS转换工具及文档,这个工具的用处是基于真实图片生成地图,保证地图的真实性和精确性(当然真实图片需要预先处理,不可能直接用):http://forums.civfanatics.com/showthread.php?t=135740

* YAME(文明IV地图电子表格编辑器)汉化版
YAME - Yet Another Map Editor,这是一个基于单独格子编辑WBS文件的工具。虽然看着不太直观,但相对World Builder要轻巧易用得多:http://forums.civfanatics.com/showthread.php?t=141076。先前的“逐鹿中原”剧情地图就是用这个配合BMP/WBS转换工具制作而成的,我们对原文件进行了汉化,有兴趣的朋友可以下了看看:http://www.civclub.net/html_c4/c4_mo006.html(不过没有更新版本,目前已经不支持1.61升级了)

* MapView(可视化地图编辑器)
已经有人制作了可视化界面的外部地图编辑器,虽还不完善,但比电子表格文件更直观了。基本操作:按下鼠标左键拖动平移地图,按下右键右拖放大,左拖缩小。目前版本为 0.2.3.1072:
http://apolyton.net/forums/showthread.php?s=&threadid=144237
http://forums.civfanatics.com/showthread.php?t=141622

* Atlas(随机地图生成器)
Atlas是一个拥有众多自定义选项的随机地图生成器
http://forums.civfanatics.com/showthread.php?t=137749
 
XML编辑

包括游戏文本、数值与规则的设置都需要修改XML文件,实际上我们在汉化文明IV时主要就是与XML文件打交道……你可用XML文件添加自定义单位、建筑、设施、文明,以及调整游戏数值。
XML的全称是“扩展标记语言(Extensible Markup Language)”,是一种类似HTML的标记语言,与用来显示信息的HTML不同的是,XML主要用来有条理地组织和存放信息。
XML文件的格式就是纯文本,可以使用任何文本编辑器或专用的XML编辑器进行编辑。目前最完善的XML编辑器可能是Altova XML Spy,这是一款商业软件。

* 文明IV的XML文件
文明IV使用了大量的XML文件,你可以在各个MOD参考站点察看各个文件的具体作用说明
Max_x_fire撰写的Civ4XML快速参考:http://forums.civfanatics.com/showthread.php?t=140511
 
Python脚本

Python是一种脚本编程语言。文明IV用它来定义游戏界面、生成地图、编写事件等等。你可能注意到在安装我们的第IV版汉化包后,游戏主界面会显示当前时间、回合数、时代与国名等附加信息,这实际上就是修改定义界面的Python文件而添加进去的。
Python文件可以使用任何文本编辑器或Python附带的集成开发环境(IDLE)进行编辑,下载地址:http://www.python.org/

文明IV的Python参考文档:http://civilization4.net/files/modding/PythonAPI_v160/

Gingerbread Man针对文明IV撰写的Python教程:http://forums.civfanatics.com/showthread.php?t=97183

Locutus针对文明IV撰写的Python指导:http://forums.civfanatics.com/showthread.php?t=133917

Kael编写的Python脚本示例:http://forums.civfanatics.com/showthread.php?t=152856
 
SDK编程

SDK是软件开发工具包(Software Development Kit)的缩写,即机器码可执行程序的源码及相关文档,提供最高的MOD灵活性!当然也最为复杂……

目前Firaxis所公布的是游戏核心动态链接函数库(GameCoreDLL)的SDK,你可以在文明IV官网下载:http://63.236.94.185/2kgames/civ4/civ4SDK.php

你需要使用MS Visual Studio .NET 2003以上版本编译源码,生成自已的CvGameCoreDLL.dll文件,注意开发公司就是使用VS2003编译源码的,如果你使用的是VS2005,则需要做对应的修改才能正确地编译。

Kael也提供了一个安装使用SDK的基本指导:http://forums.civfanatics.com/showthread.php?t=166933

Dale做的战斗模式MOD附源码,用SDK改变游戏核心规则:http://www.civclub.net/bbs/viewthread.php?tid=18032

SDK编程应用
- 标准游戏如何开24文明,补丁及源码
- A Better AI: 玩家制作的提升AI补丁 - 下载页面
- Speed MOD: 通过禁用Python提升大幅提升游戏运行效率
 
posted on 2009-08-03 22:42  HenryRead  阅读(3539)  评论(0编辑  收藏  举报