文明6 Mod制作教程(1)做一个最简单的MOD

开发前准备

开发工具

ModBuddy

在拥有文明 6 游戏本体后, 在 Steam - 库 - 工具中可以找到 Sid Meier’s Civilization VI Development Tools

安装后打开, 选择 ModBuddy

ModBuddy 是官方为 mod 开发者提供的 mod 开发工具

其实是 VS2013 套壳版

制作 mod

新建 project

与平时使用 VS 相似, 首先要新建一个 project, 不同的是, ModBuddy 提供了一些模板, 如新建筑, 新文明与领袖等等

由于是水下第一个 mod, 这里选择空的模板

imagef1b945e04fe76748.png

创建完毕后, 模板提供了一个 EmptyMod1.Art.xml 文件, 保存了 mod 的基础信息, 直接删除

删除后右键 EmptyMod1, 新建一个 GameData1.xml 文件, 作为 mod 的本体

替换游戏内文本

原版游戏文本文件

打开游戏本地文件 Sid Meier’s Civilization VI\Base\Assets\Text\Vanilla_zh_Hans_CN.xml, 里面是游戏中文文本

XML (可扩展标记语言 Extensible Markup Language) 是一种用来标记数据、定义数据类型的源语言, HTML 就是 XML 的一种

<?xml version="1.0" encoding="utf-8"?>
<GameData>
<LocalizedText>
<Replace Tag="LOC_BUILDING_TLACHTLI_NAME" Language="zh_Hans_CN">
<Text>蹴球场</Text>
</Replace>
<Replace Tag="LOC_BUILDING_HUEY_TEOCALLI_NAME" Language="zh_Hans_CN">
<Text>休伊神庙</Text>
</Replace>
<Replace Tag="LOC_BUILDING_AIRPORT_NAME" Language="zh_Hans_CN">
<Text>机场</Text>
...

原版的文本文件的结构可以表示为

<?xml version="1.0" encoding="utf-8"?>
<GameData>
<LocalizedText>
<Replace Tag="标签" Language="语言">
<Text>中文文本</Text>
</Replace>
...
</LocalizedText>
</GameData>

修改蹴球场

以修改蹴球场的中文文本为例, 将蹴球场的 Replace 的标签复制到 GameData1.xml, 把 “蹴球场” 修改为 “篮球场”, mod 就写好了

下面是完整的 GameData1.xml 文件

<?xml version="1.0" encoding="utf-8"?>
<GameData>
<LocalizedText>
<Replace Tag="LOC_BUILDING_TLACHTLI_NAME" Language="zh_Hans_CN">
<Text>篮球场</Text>
</Replace>
</LocalizedText>
</GameData>

设置 mod 属性

为了游戏能正确识别并加载 mod, 需要加上 mod 属性

右键 EmptyMod1, 选择属性 properties: Mod Info 一页中的 Mod ID 是 mod 的唯一标识符, 由系统自动生成, 下面的 mod 名字, 作者等等都是自由填写

重要的是 In-Game Action 一页, 由于 mod 的功能是修改游戏文本, 需要如下添加一个修改行为, 并绑定修改所用的文件

image-1fec9c313fb4b1949.png

修改完毕后 ctrl + S 保存

导出并使用 mod

完成上述步骤后, 选择 BUILD - Build Solution 即可构建 mod

mod 构建后会自动导出至游戏 mod 文件夹 (前提是已经在 TOOLS - Option - Civilization VI 中设置好)

导出后就能在游戏的额外内容中看到自己的 mod 了

image-24c15e12707dedada.png

进入游戏, 蹴球场成功修改为了我家哥哥的篮球场

蒙特祖玛也是小黑子

image-33885f4e33901ca6e.png

image-462d8b83bcb36426c.png

mod 可以做什么?

文明 6 中的 mod 是很自由的

利用官方给出的接口, mod 制作者可以修改游戏, 或编写自己的文明, 单位, 政策卡, 伟人等等