Unciv模组制作教程02-创建一个国家

在消化完本章内容后,你应该拥有一个可运行的为Unciv添加了一个新国家的mod。
创建你的仓库
创建一个 Github 帐户(如果还没有)https://github.com/join
转到模组示例https://github.com/yairm210/Unciv-mod-example
点击绿色"Use this template"按钮来创建一个新的仓库
选择您的存储库名称,然后单击"Create repository from template"按钮(记得勾选“public”!)
你的新仓库已被创建完毕!
填写你希望添加的新的国家信息
每个国家都有一些基本信息-比如国家名称、领袖名、国家配色(内色和外色)和城市名称。
此外,每个国家在宣战、介绍等方面都有各自的表述。
所有这些都需要在Nations.json文件中填写,下面举例原版内置规则集Gods & Kings的巴比伦:
[
{
"name": "Babylon",//国家名-巴比伦
"leaderName": "Nebuchadnezzar II",//领袖名-尼布甲尼撒二世
"adjective": ["Babylonian"],//形容词性国家名
"startBias": ["Avoid [Tundra]"],//出生地形偏好
"preferredVictoryType": "Scientific",//电脑操作时偏爱的胜利方式
"startIntroPart1": "",//开场白第一段
"startIntroPart2": "",//开场白第二段
"declaringWar": "The demon wants the blood of soldiers!",//宣战时宣言
"attacked": "Oh well, I presume you know what you're doing.",//被宣战时宣言
"defeated": "It is over. Perhaps now I shall have peace, at last.",//被击败时宣言
"introduction": "Are you real or a phantom?",//首次会面时的话
"neutralHello": "Greetings.",//中立态度时的话
"hateHello": "What do YOU want?!",//反感态度时的话
"tradeRequest": "It appears that you do have a reason for existing – to make this deal with me.",//提出贸易请求/接受贸易请求时的话
"outerColor": [27,53,63],//国家外色
"innerColor": [213,249,255],//国家内色
"favoredReligion": "Islam",//偏爱的宗教名称
"uniqueName": "Ingenuity",//国家技能的文本概括
"uniques": ["Free [Great Scientist] appears <upon discovering [Writing]>", "[Great Scientist] is earned [50]% faster"],//国家能力
"cities": ["Babylon","Akkad","Dur-Kurigalzu","Nippur","Borsippa","Sippar","Opis","Mari","Shushan","Eshnunna",
"Ellasar","Erech","Kutha","Sirpurla","Neribtum","Ashur","Ninveh","Nimrud","Arbela","Nuzi",
"Arrapkha","Tutub","Shaduppum","Rapiqum","Mashkan Shapir","Tuttul","Ramad","Ana","Haradum","Agrab",
"Uqair","Gubba","Hafriyat","Nagar","Shubat Enlil","Urhai","Urkesh","Awan","Riblah","Tayma"],//城市昵称
"spyNames": ["Rim-Sin II", "Smerdis", "Ilum-ma-ili", "Peshgaldaramesh", "Ur-zigurumaš", "Semiramis", "Em", "Ishtar", "Bilit Taauth", "Aruru"]//间谍昵称(未上线,可不写)
},
{
......//填写其他国家的信息
}
]
需要指出的是,冒号前的引号内的部分是写死不可变的,"name":"Babylon"是合法的,"name":"aNewNation"也是合法的,但是"Name":"Babylon"就不再合法,json文件的可修改对象仅限于冒号后面的内容且要符合规定的格式。
制作你新国家的icon格式的图标(国徽)
每个国家都应该有一个图标来表征,如罗马的花圈,这用来快速分辨不同的国家。
国徽icon(允许我这么叫他)的格式有较严格的要求:背景采用透明色,主体采用纯白色,图片像素为100*100,图片格式为png(其实jpg也行)
所有这些图标在透明背景上都是白色的,并且是 100x100 像素 - 有关详细信息,请参阅下文“icon图标注意事项”
你需要将icon图标放在Images/NationIcons文件夹中以让游戏正确调用。
进行简单的测试(上传到Github)
打开Unciv
点击“模组” - “从网址地址获取模组”
将存储库的 URL 复制粘贴到文本框中,然后单击“下载”
退出模组屏幕,创建一个新游戏,选择你的模组 - 它将在屏幕左侧的“扩展模组”下
进行简单的测试(只在本地游玩或通过其他方式分享)
将模组文件正确放置在游戏根目录下的/mods文件夹里
打开Unciv
创建一个新游戏,选择你的模组 - 它将在屏幕左侧的“扩展模组”下
如果上述顺利,那么恭喜!你的新国家现在可以游玩了!
附:你目前不会看到此模组的任何图像,因为它还没有图集。如果您在电脑上加载,则可以重新启动Unciv以生成此图集并查看图像。
但这个新国家的能力正是这类模组的根基。为让国家能力为正确你编辑且独一无二,需要调用一些uniques(uniques的使用会在后面的章节详述)
添加新国家专属的单位(UU)
单位在/jsons/Units.json中定义,Unit.json文件示例在后面的章节给出。同时,你也要在 Images/UnitIcons文件夹里给出这个单位相应的icon图标。
单位的icon图标应当为 200*200 像素,背景透明,主体纯白 。
注意!如果你希望新增的单位取代原版的某个单位,请搜索原版给出的取代原版单位的文明专属单位,看看它如何取代常规单位。
附:UU指unique unit,专属单位。
添加新国家专属的建筑(UB)
和添加新单位一样 - 只是文件是/jsons/Buildings.json - 同样你也要在Images/BuildingIcons文件夹里给出这个建筑的icon图标。
建筑的icon图标和单位的一致。
附:UB指unique building,专属建筑。
添加国家技能(UA)
后面章节我会给出unqiues表格,通过查阅表格你可以自由组合添加到你新国家的专属能力!
让你的模组允许被别人搜索下载
为了在 Unciv 模组屏幕中列出你的模组,你需要:
打开存放你模组文件的Github仓库
点击“简介”标签右侧的齿轮图标(右侧、顶部)
在“topic”下,添加“unciv-mod”标签
保存
如果上述过程顺利,恭喜,你的模组现在可以显示在游戏内置的模组页面中!
另外,你的模组拥有的星星(相当于其他人的点赞)越多,它在模组列表中就越考前,所以提高你的模组质量吧!
icon图标注意事项
所有icon图标必须合法,这意味着你的icon图标要么是从开源的地方搬运,要么是你在获得所有人的许可后搬运,要么是你的原创。
而Unciv本体的icon图标几乎全部属于Firaxis,所以作者团队也不确定在法律上能否使用它们 - 所以你的模组请使用其他来源的icon图标!
评论区有我推荐的一些icon图标检索网站。
图标制作者名单应放在Credits.md文件中。

完成以上内容后,还需要做什么?
这是如果你有一个可以正常运行加载的模组,那么太棒了!
将 atlas 文件添加到Github仓库中,以便用户获取图像
在本地安装 Git,以便你可以更改设备上的文件并将这些更改反映在存储库中
通过添加新的uniques来扩展你国家的能力
添加新的国家、建筑或单位
通过探索 mod 文件结构的其余部分并以此扩展到模组文件的其他对象