文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备


文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

文明6游戏中玩家可以自行添加喜欢的mod以增强游戏的可玩性 , 但是mod该如何制作呢?今天小编就为大家带来玩家“随风飘荡的无奈”分享的文明6mod制作图文教程 , 感兴趣的朋友们不妨来看看吧!
mod制作图文教程
工具准备
因为涉及的工具原因 。仅适合正版玩家参考 。各类破解版绿化版需要自行获取工具 。
制作mod前 , 我们先要准备一些工具 。
首先是游戏本体和其附带的官方SDK 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
我接下来所讲的基本都基于官方提供的modbuddy , modbuddy自身是没有语言包的 , 如果想要中文界面需要安装VS 。
然后我们需要一个代码编辑器 。用于查看一些原版游戏内的代码和debug的时候修改mod文件 。虽然系统自带的记事本也可以完成 , modbuddy也支持打开文件 , 但还是自备一个吧 。这里我选的是NOTEPAD++ 。网上有免费版本可以下载 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

角色设计
工具准备好后 , 我们就可以开始制作了 。
这里我们首要考虑制作领袖和文明mod , 其余杂项mod的制作和领袖文明差不多 , 就放到后面了 。
不过首先 , 我们需要做一份角色设计 。这能帮助我们更好的规划整个mod的结构 , 搞清楚我们想要实现什么 。
一份角色设计包括以下的内容 。
mod主题:你想要做谁 。他的特点是什么 。有哪些你想玩的梗
国家名称、国家能力名称、国家能力效果;领袖名称、领袖能力名称、领袖能力效果:这部分是整个mod的灵魂 , 你需要参考现有的功能来设计 , 一个能力在制作前和制作后会有较大的差距 , 这取决你的创造力、发散思维和原版游戏的功能支持 , 理论上什么样的能力都能实现 , 不过这需要你掌握lua和sql的编写方法 , 这部分我在教程里不做涉及 , 只讲解和xml有关的部分 。
两个UA设计完后你要考虑设计UD(特色区域) UB(特色建筑) UU(特色单位) UI(特色改良) UG(特色伟人) UP(特色城区计划) , 几乎所有的项目能特色化 。你可以任选其中之一 , 也可以全部都做 , 这取决你想要什么样平衡性 。(那是啥 , 不存在的)
然后 , 你要设计这个领袖的胜利倾向和外交倾向 。
上面的部分全部设计好后 , 我们大体的角色设计就结束了 。接下来你可以设计一些细枝末节的东西 。比如城市的名字啊 , 领袖的介绍啊等等 , 当然 , 你也可以在制作过程中完善这些东西 。
下面是一份角色设计的实例 , 供参考 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

开始制作
做好角色设计后我们就可以开始动工了 。不过在这之前我们先来认识一下Sid Meier's Civilization VI SDK
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
这个打开以后是这样的
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
具体的用途我已经标注了 。我们主要用到的是modbuddy
打开以后去设置检查一下相关的支持库有木有关联好 , 没有的话手动补下 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
不要问我为什么我这是中文 。你打开却是英文 。上面已经讲过了 。

我们新建一个项目
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
这里从上到下依次是新建筑、新文明和领袖、新政体和政策、新宗教和信条、新单位、空白模板
这些都是官方提供的基础模板 。给出了基本的文件结构和内部格式 。在我们熟练编写mod前这些都是很有用的辅助模板 。
为了方便叙述 , 我下面以双叶杏为模板进行讲解 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
我们选择新文明和领袖 。为其命名 。完成创建
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
他会自动生成一套文件结构 , 并向你提示如何编写一个mod(简略)

一个领袖mod是由哪些要素组成的?
artdesf文件夹是用来存放artdef文件的 。这些文件的作用是告诉游戏你创建的文明、领袖、城区、建筑、单位使用的是哪些模型 , 它该在什么时候调用哪个模型 。
textures文件夹是用来存放贴图文件的 , 一般是.dds和.tex 。
xlps文件夹是用来存放xlp文件的 , 这组文件和上面的两组文件我们放到后面再讲 。
下面的一票xml文件就是整个mod的代码载体 。(GettingStarted.html?就是这个白色的欢迎界面  , 删掉就是了)
有些时候 , 你可能光靠xml的功能库实现不了某些功能 , 这个时候就要使用sql或lua文件 , 这方面我不做涉及 。
关于xml的命名 。理论上可以随意命名 , 但是为了你自己和其他有需要的人着想 , 请按一定的规范进行命名 。
这个模板里的xml一般来说可以全部删掉 。我也推荐全部删除后自己创建一遍 。但是注意要保留mod.art.xml这个文件 , 它的作用会在后面和上面的三组文件夹一起讲 。
一般来说 , xml命名最好按照领袖名称+功能来命名 。比如Anzu_Civilization 。这样的好处在于有效区分不同对象和功能的代码 。方便自己编写和debug 。
一般需要的xml有:Civilization 文明 Leader 领袖 District 区域 Building 建筑 Unit 单位 Config 加载设置 Icons 图标配置 Text 基础文本 Text_XXX对应语言翻译文本这些 。按照内容可在结尾+s 。
按照我的角色设计 。我的文件结构应该如下:
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
在整理好文件结构后 , 我们来编写xml的内容 。xml相关的语法吧里已经有相关介绍 , 我就不再赘述了 。
想学会xml的编写有个小诀窍 , 抄!抄原版游戏、抄各个作者的mod , 从你想得到地方 , 直接抄个格式下来 , 然后再自己修改 , 这样的好处是能把犯错的可能降到最低 , 坏处是无脑抄抄抄会让你的能力设计被框住 , 没法实现一些独特的功能 。

文明和领袖的xml
为了方便讲解 , 我们先从文明和领袖的xml讲起 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
这是作为mod的时候 , 一个领袖和文明xml的格式 , 这部分的基础格式主要参考各个已发布的mod和官方的dlc文件 , 每个设定的type都是环环嵌套的 , 遵从着一个逻辑:先row(设定)再读取 。
新手起步 , 我建议你主要参考官方dlc的文档 , 先把所有的主项目(Types、Leaders、LeaderQuotes等)复制进你的xml , 然后根据你的需要删减主项目 。
然后我们再逐个编辑各个主项目 。
首先是types , 这个项目负责申明你设定的项的名称和类型 , 例如
<Row Type="CIVILIZATION_CINDY" Kind="KIND_CIVILIZATION"/>
他的意思就是设定一个项 , 名称叫“CINDY”(Type="CIVILIZATION_CINDY") , 他的类别是“文明”(Kind="KIND_CIVILIZATION") , 在你mod里 , 所有的项都要先row(设定)再读取(使用) 。所有变量都有一个设定 , 如果不设定直接使用一个全新的变量 , 游戏就会报错 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图


文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图

文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
节选了部分常用变量 , 这些变量都在Sid Meier's Civilization VI\Base\Assets\Gameplay\Data文件夹下的xml里 。
设定玩type后 , 我们就要接着设定各类分支子项了 , 这个子项根据你的xml用途不同也是不同的 , 需要的子项数也是不同的 , 具体需要多少要参考官方给的文本 , 以一个文明的xml为例 , 他的分支子项就是
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
这些子项根据主类的不同有不同的功能 , 但第一个子项一半是以主类命名 , 设定了基本信息 , 以文明为例
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
这里就设定了文明的程序内部代码 , 文明名称 , 文明介绍 , 国民称呼 , 文明等级 , 城市名称池深度 , 所属人种 。
每个子项的定义内容和具体格式都必须按照原版游戏给定的范围 , 不能随意增加 , 但可有限删除 。

我们再讲如何实现你设定的能力
各种能力 , 比如文明能力 , 领袖能力 , 单位能力 , 城区能力 , 建筑能力 , 都需要通过设定“trait”来申明 。申明后 , 文明和领袖能力需要把trait和modifier绑定 , 其余能力需要把这个单位和modifier进行绑定 , 才能生效 。
任何能力都要申明trait , 哪怕只是一条纸面能力 , 例如你的领袖可以招募特殊伟人 , 这一能力是靠伟人系统实现的 , 没有modifier , 也需要申明trait然后绑定给领袖 。
每一条trait就是一个能力的程序内部代码 , 而你领袖的所有能力都是靠trait联系在一起的 。
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
trait的设定也遵循着一定的规范 , 一般为TRAIT_类型(领袖、文明 , 单位、城区、建筑;前半部分按你分配给领袖还是文明决定 , 后半部分看具体生效单位)_名称 。
TRAIT_CIVILIZATION_CINDY_PROJECT就表示这是隶属于文明的特殊奖励(CA)
TRAIT_CIVILIZATION_DISTRICT_STAR_STAGE就表示这是隶属于文明的特色城区星光舞台(STAR_STAGE)(UD或称CUD)
TRAIT_LEADER_NO_WORK就表示这是隶属于领袖的特殊奖励(LA)不想工作 。

各种特殊trait
文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备

文章插图
TRAIT_AGENDA_ANZU_IM就表示这是隶属于外交倾向的杏的倾向 。
设定完trait我们就要设定modifier , 这是游戏内的一种调整机制 , 细化下去可以追述到effect这一条目 。
这里将Trait和文明关联 。这里的关联关系:
Trait ó Modifieró (ModifierArguments, RequirementSet) ó RequirementSetRequirementsó (Requirements, RequirementArguments)
modifier子项一般用于将trait和modifierID进行绑定 。
从modifier开始才是你设计和实现能力的最大障碍 。
这里必须告诉大家 , 由于2K和Firaxis并没有开放数据库内核来自由编写 , 我们只能使用现有的原文明的Modifier和Requirement进行改写 , 并将它们排列组合 , 创造有限的可能性 。你如果说 , 我要做的单位会瞬移 , 抱歉 , 这个真做不到 。除非你会熟练使用lua语言 , 并且找得到游戏的api 。
(未完待续...)
【文明6mod制作图文教程 文明6mod怎么制作 mod制作方法 工具准备】