设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 85387|回复: 29

[原创] 文明IV修改与模组教程及工具索引

[复制链接]
发表于 2006-7-23 14:59:44 | 显示全部楼层 |阅读模式
文明IV修改与模组指南及工具索引

本指南改编自 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教程索引
(综合指导)
- 剧情设计概要
(图形编辑)
- 官方单位模型制作指南(译文)
- sharick的单位模型制作指南
- 领袖编辑教程:李世民
- 标准图标模板
- 修改文明旗帜教程
(地图编辑)
- 中国地图剧情
- 修改地图剧本的出场领袖
- 自行修改WBS的方法
(XML编辑)
- 秦始皇/忽必烈头像对调
- 中国铁骑补丁
(以上几个算是最早的文明IV联盟“MOD”吧……)
- 如何修改领袖特质
- 新增领袖特质示例
- 如何新增科技
- 如何新增建筑
- 如何使单个城市建造更多国家级奇观
- 如何使商路产出食物
- 如何修改文明的颜色
- 如何修改国家级单位的允许数量
- 如何修改城市最小间距
- 如何自定义地图尺寸
- 如何设置占领城市后保留原有建筑
- 如何让科技树在特定时代终结
- 如何改变单位的大小
- BtS随机事件参数说明
- BtS随机事件发生频率修改
- 制作新文明教程
- 添加中国战车教程
- BtS添加无畏战车教程
- BtS添加单位外观风格教程
(Python脚本)
- 修改集成包使单位按类型分别命名
- 科技树编辑器
- 如何修改RFC的历史胜利条件
- 在WBS中保存单位命名(已加入官方3.17补丁)
(SDK编程)
- 标准游戏如何开24文明,补丁及源码
- A Better AI: 玩家制作的提升AI补丁 - 下载页面
- 扩大城市工作范围补丁
(杂项修改)
- 修改界面字型和字号的方法
- 修改城市状态栏字号的方法
- 文明IV修改界面颜色教程
- 修改CivilizationIV.ini文件优化游戏运行速度
- 如何清空名人殿堂
- 如何取消自动存档

BtS更新内容
BtS对MOD机制的一些改变
BtS的数据文件怎么找不到
(英文)BtS随机事件说明
(英文)BtS中如何以模块化XML方式添加文明/单位/建筑
(英文)BtS事件编辑指南

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

MOD与汉化相关
- 中国三领袖补丁
- 战国七雄:新剧情移植汉化版
- 文明IV玩家MOD安装、使用与汉化实例指南(附Fall from Heaven II在文明IV汉化版下的运行补丁)
- Fall from Heaven汉化补丁
- 适用于BtS汉化版的34文明世界地图

界面集成MOD - 不改变游戏规则的补丁
- 汉化版界面增强补丁 - Warlord汉化版界面增强补丁 - BtS汉化版界面增强补丁
- Blue Marble 地形效果增强补丁
- BtS全文明单位风格补丁

MOD参考外文站点
CFC-Civ4-MOD下载
CFC-Civ4-MOD论坛
CFC-Civ4-MODWiki
Civ4基本MOD教程索引
Civ4玩家自制单位索引
Civ4日文Wiki
 楼主| 发表于 2006-7-23 15:00:15 | 显示全部楼层
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”文件夹中为你的MOD单独建立一个目录,而不要直接改动原有的文件,你的MOD将出现在可加载MOD清单之中(高级选项 > 加载模组)。如果你希望启动游戏时直接运行你的MOD,可以采用三种方法:一是直接将MOD目录下Assets文件夹中内容复制到CustomAssets文件夹中,这是启用小MOD最灵活的方法(卸载时直接删除整个CustomAssets文件夹即可,程序会自动重建目录结构,注意重启游戏时按住Shift键清除缓存以使更新生效),但是如果你在选项中锁定修改以防止作弊,则放在CustomAssets的MOD就会失效;二是在设置文件_Civ4config(CivilizationIV.ini)中将Mod属性的默认值0修改为你的MOD目录路径,例如Mods\MyMod;三是创建一个Civilization4.exe的快捷方式,然后在其属性中将目标改为F:\Civ4\Civilization4.exe mod="MyMod",运行此快捷方式启动MOD。(注意:MOD安装在“我的文档\My Games\Civ4\Mods”中理论上也是可以的,但实际使用常出现问题,因此不推荐这样做)

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


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

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

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

文明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/wiki/NifTools (其中NifSkope是功能更强的nif编辑器)
- 单位模型制作教程 http://forums.civfanatics.com/showthread.php?t=184327
- 领袖头像制作教程:http://forums.civfanatics.com/showthread.php?t=267233

* 界面/图标/模型帖图
这些属于二维图形,主要是.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:地形显示效果增强
- 战争之王添加中东城市风格
- 亚马逊女战士单位模组
 楼主| 发表于 2006-7-23 15:00:58 | 显示全部楼层
世界创建器

你可以从游戏界面按CTRL+W切换到内置世界创建器(World Builder,简称WB),世界创建器的主要用途是创作游戏地图及剧情信息,并保存为世界创建器存档文件即剧情文件(Civ4WorldBuilderSave,简称WBS文件),你也可以在世界创建器中加载现有WBS文件进行编辑修改。

你保存的WBS文件将会出现在游戏开始菜单的剧情列表中,你可以将WBS文件和你的MOD一起发布,放在MOD文件夹的PublicMaps目录下即可,也可以放在PrivateMaps目录下,这样只有加载该MOD后该WBS文件才会出现在剧情列表中。

WB非常简单易用,基本就是鼠标左击添加东西、右击移除东西,只是画河流时需要熟悉一下操作方法。
Dale发布的世界创建器使用指南:http://forums.civfanatics.com/showthread.php?t=132800

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

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

* BMP/WBS转换工具
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(可视化地图编辑器)
已经有人制作了可视化界面的外部地图编辑器,虽还不完善,但比电子表格文件更直观了。基本操作:按下鼠标左键拖动平移地图,按下右键右拖放大,左拖缩小:
http://apolyton.net/forums/showthread.php?s=&threadid=144237
http://forums.civfanatics.com/showthread.php?t=305168

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

* Civ4 Map Maker BtS版地图编辑器,需要Java运行环境支持
http://www.civclub.net/bbs/viewthread.php?tid=32308
 楼主| 发表于 2006-7-23 15:01:13 | 显示全部楼层
XML编辑

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

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

Grakl's Civilizaton 4 Mod Editor,直观编辑XML内容,尚在开发中目前仅有框架: http://forums.civfanatics.com/showthread.php?t=240644
 楼主| 发表于 2006-7-23 15:01:31 | 显示全部楼层
Python脚本

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

文明IV的Python参考文档:http://civ4bug.sourceforge.net/PythonAPI/index.html

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
 楼主| 发表于 2006-7-23 15:01:46 | 显示全部楼层
SDK编程

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

目前Firaxis所公布的是游戏核心动态链接函数库(GameCoreDLL)的SDK,你可以在安装目录下CvGameCoreDLL文件夹中找到完整源码

注意不同游戏版本的GameCoreDLL.dll是不能通用的(不过Civ4 1.61和1.74、Warlords 2.08和2.13由于差异极小是可以通用的),因此如果一个MOD包含GameCoreDLL.dll文件,则这个MOD也只适用于对应的版本。

你需要使用Microsoft Visual Studio .NET 2003编译源码,生成自已的CvGameCoreDLL.dll文件,开发公司就是使用VS2003编译的,如果你使用的是更高版本的VS或其他编译器,则需要做对应的修改才能正确编译。(另外在中文系统下也有一处字符串存在乱码问题,需要用转义字符改写才能正确编译)
编译相关问题讨论 http://www.civclub.net/bbs/viewthread.php?tid=51081
使用免费的Microsoft Visual C++ Toolkit 2003编译:http://forums.civfanatics.com/showthread.php?t=166933
使用免费的Microsoft Visual C++ 2005 Express Edition编译:http://forums.civfanatics.com/showthread.php?t=196283


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

SDK编程应用
- 标准游戏如何开24文明,补丁及源码
- A Better AI: 玩家制作的提升AI补丁 - 下载页面
- Speed MOD: 通过禁用Python提升游戏运行效率
 楼主| 发表于 2006-7-23 15:02:02 | 显示全部楼层
发表于 2006-9-28 21:58:15 | 显示全部楼层
学到不少东西,懒的修改,有各位高人了!!谢谢
发表于 2006-10-7 22:11:57 | 显示全部楼层
对菜鸟来说最关键的没说到,如何直接运行mod,而不是进去load a mod然后还要重新进...
发表于 2006-10-8 08:10:40 | 显示全部楼层
楼上看帖子不仔细,重看二楼帖子一百遍……
发表于 2006-10-9 00:10:32 | 显示全部楼层
看到了,不过我找到另一个方法,就是用快捷方式进去
例如我要直接玩heaven2 mod,这mod在F:\Sid Meier's Civilization 4\mods\Fall from Heaven 2 015k里面,创建一个Civilization4.exe的快捷方式,然后修改为
"F:\Sid Meier's Civilization 4\Civilization4.exe" mod=\Fall from Heaven 2 015k

heaven2挺好玩的
就是全英文,还没弄懂魔法这东西

[ 本帖最后由 zcgamer 于 2006-10-9 12:12 AM 编辑 ]
 楼主| 发表于 2006-10-9 21:13:34 | 显示全部楼层
这个方法也不错,我加入指南中……
发表于 2006-12-14 17:18:57 | 显示全部楼层
疯狂拜读中…………………………
发表于 2007-2-13 15:20:57 | 显示全部楼层
很复杂  问个问题...切地图用哪个程序好?

[ 本帖最后由 ming200618 于 2007-2-13 03:22 PM 编辑 ]
发表于 2007-3-17 00:49:26 | 显示全部楼层
无语了!
发表于 2007-4-14 12:57:11 | 显示全部楼层
还是先学好XML吧,目前在啃书。。。
发表于 2007-7-20 01:44:49 | 显示全部楼层
全是英文,看什么哟.....
简直搞不懂
发表于 2007-9-15 13:47:41 | 显示全部楼层
这个太有用了 谢谢大大分享
发表于 2008-1-8 21:45:08 | 显示全部楼层

哪位能给个范例,自造一个中国自己的特有兵种,非常渴望。

哪位能给个范例,自造一个中国自己的特有兵种,非常渴望。


(版主编辑: 索引帖里找教程)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-4-24 16:14

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表