模组制作:修订间差异

本页面讲述的内容长期有效
无编辑摘要
无编辑摘要
第13行: 第13行:


== 指导原则 ==
== 指导原则 ==
*'''永远不要修改游戏文件''':即使是小的修改也要通 过mod 文件来实现,永远不要直接修 改Steam 库里的钢铁雄 心4 文件夹中的游戏文件,因为你的改动可能在完全没有警告的情况下失败。
*'''永远不要修改游戏文件''':即使是小的修改也要通 过 mod  文件来实现,永远不要直接修 改 Steam  库里的钢铁雄 心 4  文件夹中的游戏文件,因为你的改动可能在完全没有警告的情况下失败。
*'''使用好的文本编辑器'''(例如[http://notepad-plus-plus.org/ Notepad++] 或者 [https://www.sublimetext.com/ Sublime Text]) 来同时编辑和搜索多个文件。
*'''使用好的文本编辑器'''(例如 [http://notepad-plus-plus.org/ Notepad++] 或者 [https://www.sublimetext.com/ Sublime Text] )来同时编辑和搜索多个文件。
*'''尽量减少对原版文件的重写''':通过添加分开的文件并尽可能地从文件夹中加载来改善模组的兼容性和可维护性。(你的文件可以使用任何名字,文件夹中的所有文件都会被游戏加载。所以选择一个酷酷的其他人都没有用过的文件夹名字。例如: coolmod_countries)
*'''尽量减少对原版文件的重写''':通过添加分开的文件并尽可能地从文件夹中加载来改善模组的兼容性和可维护性。(你的文件可以使用任何名字,文件夹中的所有文件都会被游戏加载。所以选择一个酷酷的其他人都没有用过的文件夹名字。例如: coolmod_countries)
*'''使用正确的合并工具''':(例如[http://winmerge.org/ WinMerge])来 [[Merging guide|合并文件夹]],并将新更新的文件打包为一个新补丁。
*'''使用正确的合并工具''':(例如 [http://winmerge.org/ WinMerge] )来 [[Merging guide|合并文件夹]],并将新更新的文件打包为一个新补丁。
*'''备份你的工作'''以避免丢失全部进度:考虑使用诸如[https://git-scm.com/ Git]一类的源代码控制系统,还有类似于[https://github.com/ GitHub]的协作平台来管理团队协作的事情,或者就只是把文件的备份放在别的什么地方。
*'''备份你的工作'''以避免丢失全部进度:考虑使用诸如 [https://git-scm.com/ Git] 一类的源代码控制系统,还有类似于 [https://github.com/ GitHub] 的协作平台来管理团队协作的事情,或者就只是把文件的备份放在别的什么地方。
*'''使用 UTF-8 编码'''编写文本文件。
*'''使用 UTF-8 编码'''编写文本文件。
*'''使用 UTF-8-BOM 编码'''编写 localisation 文件(.yml)。
*'''使用 UTF-8-BOM 编码'''编写 localisation 文件(.yml)。
第34行: 第34行:


=== 模组缩略图 ===
=== 模组缩略图 ===
 在新启动器发布之后,所有的缩略图都必须被命名为"thumbnail.png" ,并且应该放在你的模组的根目录中。
 在新启动器发布之后,所有的缩略图都必须被命名为 “thumbnail.png ,并且应该放在你的模组的根目录中。


=== 小型模组 ===
=== 小型模组 ===
第71行: 第71行:
</pre>
</pre>


==Game data==
== 游戏数据 ==


* [[Console commands|控制台指令]],对模组进行调试很有帮助。
* [[Console commands|控制台指令]],对模组进行调试很有帮助。
第86行: 第86行:
== 工具&实用程序 ==
== 工具&实用程序 ==
* [http://notepad-plus-plus.org/ Notepad++] - 强大的文件编辑器。
* [http://notepad-plus-plus.org/ Notepad++] - 强大的文件编辑器。
* [https://forum.paradoxplaza.com/forum/index.php?forums/hearts-of-iron-4-user-mods.950/ P社官方论坛 的mod 版面] 
* [https://forum.paradoxplaza.com/forum/index.php?forums/hearts-of-iron-4-user-mods.950/ P 社官方论坛 的 mod  版面] 
* [https://forum.paradoxplaza.com/forum/index.php?threads/information-and-faq.924764/ Maya exporter] - Clausewitz Maya Exporter 创建你自己 的3D 模型。
* [https://forum.paradoxplaza.com/forum/index.php?threads/information-and-faq.924764/ Maya exporter] - Clausewitz Maya Exporter 创建你自己 的 3D  模型。
* [http://steamcommunity.com/app/394360/workshop/ steam创意工坊] - 你可以和其他玩家分享作品的地方。
* [http://steamcommunity.com/app/394360/workshop/ steam创意工坊] - 你可以和其他玩家分享作品的地方。



2020年11月24日 (二) 11:20的版本


模组制作,或者制作模组, 是修改基本游戏(有时也叫“原版”)的行为,可能是用于个人用途,也可能是要发布给其他玩家,例如,通过 steam创意工坊

在所有的P社游戏中,钢铁雄心4的模组制作可以涵盖很大的范围。模组开发者们的动力可能各有不同:更好的语言翻译和本地化,更多的事件或决议,更好的地图,或是一次巨大的改造,等等。

钢铁雄心4的mod文件默认位于以下位置:

  • Windows: C:\Users\<Username>\Documents\Paradox Interactive\Hearts of Iron IV\mod
  • Mac OS: ~/Documents/Paradox Interactive/Hearts of Iron IV/mod
  • Linux: ~/.local/share/Paradox Interactive/Hearts of Iron IV/mod

为了开始模组制作,你需要在模组文件夹下新建一个模组文件结构

指导原则

  • 永远不要修改游戏文件:即使是小的修改也要通过 mod 文件来实现,永远不要直接修改 Steam 库里的钢铁雄心 4 文件夹中的游戏文件,因为你的改动可能在完全没有警告的情况下失败。
  • 使用好的文本编辑器(例如 Notepad++ 或者 Sublime Text )来同时编辑和搜索多个文件。
  • 尽量减少对原版文件的重写:通过添加分开的文件并尽可能地从文件夹中加载来改善模组的兼容性和可维护性。(你的文件可以使用任何名字,文件夹中的所有文件都会被游戏加载。所以选择一个酷酷的其他人都没有用过的文件夹名字。例如: coolmod_countries)
  • 使用正确的合并工具:(例如 WinMerge )来 合并文件夹,并将新更新的文件打包为一个新补丁。
  • 备份你的工作以避免丢失全部进度:考虑使用诸如 Git 一类的源代码控制系统,还有类似于 GitHub 的协作平台来管理团队协作的事情,或者就只是把文件的备份放在别的什么地方。
  • 使用 UTF-8 编码编写文本文件。
  • 使用 UTF-8-BOM 编码编写 localisation 文件(.yml)。
  • 正确地缩进以快速找到未对应的花括号:原版游戏使用 1 个 tab 的缩进而不是空格。
  • 使用注释:用 # 符号注释本行以更好地想起编写难办的代码的逻辑。
  • 通过使用Debug模式高效地Debug:通过在Steam的游戏启动选项中添加-debug。这样可以启用 error log。

模组结构

游戏模组位于:

  • 普通模组 \Paradox Interactive\Hearts of Iron IV\mod\
  • 工坊模组: \Steam\steamapps\workshop\content\394360\

.mod 文件的名字必须不包含任何空格,否则它将不会被游戏启动器自动选择。

根据 .mod 文件的结构可以把模组分为三类,分别是小型模组大型模组次级模组。这些种类模组的总体结构将在下文中讲述。模组是小型、大型还是次级模组取决于模组的制作者。

模组缩略图

在新启动器发布之后,所有的缩略图都必须被命名为“thumbnail.png”,并且应该放在你的模组的根目录中。

小型模组

最常见的模组类型就是小型模组,即仅仅改变游戏中的一小部分内容的模组。这种模组不需要新的存档或者图形文件,也不需要使用user_dirreplace_path,以保持与其他小型模组的兼容性。

 name = "Minor Mod"
 path = "mod/MinorMod"
 picture = "thumbnail.png"
 tags = { "Minor" "Mod" }

大型模组

大型模组可以典型地划分为两类——尽管可能并且时常重叠——大改过的模组和完全翻新的模组。 大改过的模组使用user_dir来保证存档不能在此模组之外加载。 对于完全翻新过的模组,replace_path可以用来完全忽略原版游戏的在此模组背景下不合理的内容(例如历史、旗帜等)。

 name = "Major Mod"
 path = "mod/MajorMod"
 user_dir = "MajorMod"
 replace_path = "history/states" 
 picture = "thumbnail.png"
 tags = { "Major" "Mod" }

次级模组

一个大型模组的次级模组使用dependencies以更精确地重写主模组内容。如果想要让次级模组正常运作这是必需的。

 name = "Sub Mod"
 path = "mod/SubMod"
 dependencies = { "Major Mod" }
 picture = "thumbnail.png"
 tags = { "SubMod" "Major Mod" }

游戏数据

游戏中物品的名称(像是,研究类别的名称或者像 can_create_faction 等规则)可以在游戏的 localization 文件夹中的本地化文件中找到。

图像文件格式

图像应使用 DDS 格式。大多数文件是以 8.8.8.8 ARGB 32 位无符号格式保存的。一些文件(例如 leader 肖像)是 1.5.5.5 ARGB 16 位无符号格式保存的。事件图片也可以使用 .tga 格式。旗帜是 32 位像素深度的 .tga 文件。

工具&实用程序

另见

参考