投票 《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】


3楼猫 发布时间:2024-12-02 00:47:42 作者:下江-コハル Language

 前言

   群星从2016发布之初到现在,创意工坊里已经有了很多优秀的MOD。但玩来玩去,总感觉自己要么玩不明白,要么不对自己的胃口,所以我萌生出了自己制作MOD的想法。

  可我找遍了B站和贴吧等地方,都很难找到完全面对小白的MOD开发教程,于是断断续续学习了大概半个月左右,也算是学会了一些皮毛,可以自己制作一些很简单的MOD。

  我希望这篇文章可以帮助到和我一样想要自己DIY模组但却找不到详细的教程的模组小白。当然,我也只是刚开始学习而已,还有很多不足之处,如果出现错误,还请大佬指正。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第0张

画师:かもれーる PID:124179922

 

1:前期准备

  子曰:“工欲善其事必先利其器。”在制作MOD之前,我们还需要相应的开发工具帮助我们更好的制作MOD。

下面是开发过程中我们需要用到的工具(任选其一):

Visual Studio Code ——简称VS Code,由巨硬爸爸开发的免费源代码编辑器,后续的教程都会在这个编辑器上进行,如果你对模组开发完全是小白的话,那么推荐用这个跟着教程一步一步做,别问为什么,因为咱只会这个。

链接:https://code.visualstudio.com

IntelliJ IDEA —— 由JetBrains软件公司开发的编辑器,咱不是很了解,除非你习惯使用这个编辑器,不然还是用VS Code跟着教程一步一步来吧。

链接:https://www.jetbrains.com/idea

下面是开发过程中我们可能会用到的参考资料:

官方WIKI —— P社官方的WIKI,里面涵盖了几乎所有的MOD开发教程以及游戏内容的详细资料,可惜大多数都是英文,咱看不懂啦。

链接:https://stellaris.paradoxwikis.com/Modding#Guidelines

中文灰机WIKI —— 中文的WIKI,非常方便我这种英语白痴。

链接:https://qunxing.huijiwiki.com/wiki/%E9%A6%96%E9%A1%B5

Stellaris Mod 教程 —— 国内的大大编写的MOD教程,对模组萌新非常有帮助。

链接:https://main--pdxdoc-next.netlify.app


1.1:下载编辑器(以VS Code为例)

    第一步:下载安装VS Code

  根据你的系统前往官网下载VS Code,我这里已经安装下载好了,就不一步一步演示了。(不会还有人不会下载安装软件吧?)

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第1张

第二步:检查安装

  安装完成后,进入到主界面,如果安装的步骤没有出错,你应该可以看到以下的界面:

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第2张

第三步:安装CWTools拓展

  在确认了软件没有问题后,我们还需要安装一个叫CWTools的拓展来方便我们编写代码。假如你不安装这个拓展的话,你就会发现这和用记事本编写代码好像差不多。

  下面两张图是安装了拓展和没有安装拓展的对比图:

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

(安装了CWTools所显示的效果)

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

(没有安装CWTools所显示的效果)

  可以发现,安装了CWTools所显示的效果要比没有安装看上去舒服了很多。

  所以为了让我们的代码看上去更舒服,我们就必须要安装这个拓展,它可以帮助我们更方便的查看代码以及代码中存在的错误,除此在外它还有其它一些实用的功能.....总之,安装它就对了!(不安装它你还不如用记事本写代码呢.....)

  我们可以直接在VS Code中安装它!

1:选择并点击屏幕左边那四个小方块的图标。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

2:然后搜索并安装CWTools

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

第四步:验证CWTools是否正确安装

  安装完CWTools以后,你可以随便打开一个游戏内的文件确认。当然,这个步骤并不是必须的,只是检查一下拓展是否正常安装了,你也可以直接在【拓展】里检查。

  1:选择左上方的【文件】选项,然后点击【打开文件夹】

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

    2:找到你《群星》游戏的根目录

   如下图,我的游戏根目录在:

"E:\SteamLibrary\steamapps\common\Stellaris"

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  每个人的的游戏路径可能都不一样,就比如我是存放在E盘,有的人可能存放在D盘、F盘之类的......

  但只要你是在Steam里下载的,那后面的路径就应该和我是一样的。

  3:选择“common”文件夹

在游戏的根目录中找到“common”文件夹,然后点击【选择文件夹】按钮

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  这个文件夹在后面很重要,里面存放着游戏里所有内容的属性和数值之类的东西。不过现在你不需要知道这干嘛用的,教程的后面会逐个介绍的。

4:检查安装

  如果以上步骤中没有出错的话,现在你在右侧【资源管理器】中随便点开哪一个文件,能看到代码以不同颜色高亮显示。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

1.2:创建一个新MOD,并认识各个文件夹的作用

  到了这一步,我们就可以正式开始制作我们想要的MOD了。

第一步:在启动器中新建一个MOD

1:在启动器中新建一个MOD

  在Steam中启动你的游戏,进入到启动器界面,在【所有已安装的MOD】界面中选择【上传MOD】后再点击【创建MOD】

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

2:填写你MOD的信息

  在该界面填上你MOD相应的信息,这里图方便,就直接叫“MOD001”了。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

3:检查新创建的MOD

  完成创建后你就能在已安装MOD中找到你刚刚创建的MOD了。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  如上图所示,当你前往你新创建的MOD目录,你会发现它现在除了一个后缀为.MOD的文件外,什么也都没有。

   所以我们需要进一步还完善它。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  顺带一提,这个“descriptor.mod”文件是用来记录你MOD的各种信息的,就是你在上一步所填写的信息,你可以在VS Code里更改它。

第二步:简单认识每个文件的作用

  当你打开你《群星》游戏的根目录时,你能看到这里存放着很多文件夹。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

    看着很复杂,对吧?

    但事实上,以我们目前只是制作一个简单的小MOD为目标的话,下面这些文件夹中,只有以下这四个文件夹对我们真正有用。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  下面,我将逐个介绍它们在游戏中的作用。

1:common文件夹

  上面提到过,这个文件夹应该算是游戏中最重要的文件夹了。它包含了游戏中几乎所有内容的规则和数值。

  以“电弧发射器”举例,下图中,红框内如能源消耗、花费、维护费、伤害等等属性都是在common文件夹中进行定义的。

  当然,common还定义了“电弧发射器“的自身。可以说,common文件夹就是整个游戏的基础。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  打开“common”文件夹后,你会发现其中还包括着很多的子文件夹,这些子文件分别定义了游戏中的不同的内容,如科技、武器、种族、建筑、行星、职业、国民理念等等内容。如果你英语很好的话,应该不难猜出它们的作用。

  就比如说在下图中,用红框框出的这两个文件夹就分别定义了”AI对你的好感度“和“建筑”部分。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

2:events文件夹

  这个文件夹可以根据定义的条件规定游戏何时以及如何变化。

  顾名思义,它定义了游戏中的事件和事件链还有一些其它内容。打比方说,你在游戏中你遇到的事件和选择事件后效果就是在这里进行定义。它可以完成很多在common中无法完成的事。

  不过我还没有搞明白这一块的内容,所以就不多赘述了

3:gfx文件夹

  gfx文件夹包含了游戏中所有的图形图像。

  你在游戏中看到的所有图像图片就都储存在这里,比如种族肖像、图标、模型贴图之类的。

  《群星》采用的大多数图像格式并不是常见的JPG或PNG格式,而是DDS格式,如果你想要在你的MOD中添加图片图像,就必须先将其处理为DDS格式。

4:localisation文件夹

  localisation文件夹用于将游戏中的事件、菜单、武器、故事和任何其他文本字符串中呈现给玩家的实际文本。这个过程被称为“本地化MOD”

  简单来说,就是要将你MOD中的字符串代码翻译为玩家所看到文字。

  打开localisation文件夹,你会看到以下的子文件夹。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  通常来说,我们只需要编写”simp_chinese“(也就是简体中文)这个文件夹里的内容就行了,除非你想要制作一款有着多种语言版本的MOD。


  

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

画师:花見棟楠 PID:116906546

 


2:制作你的第一个MOD!(以在原游戏添加一个物种特质为例)

  到了这里,我们已经完成了制作一款MOD前所有的准备工作了,现在我们终于可以在MOD里添加一些自己想要的东西了。

  现在,我想要为游戏中的物种添加一个新的特质。那么应该怎样做呢?

  首先让我们了解一个物种特质需要含有哪些东西。

  我们以原版游戏的【农民】特质为例。

  可以看到,一个物种特质主要由以下内容组成:【文本】、【图标】、【消耗点数】、【产生效果】

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  知道了一个物种特质是由哪些部分组成的后,我们就可以开始接下来的工作了。

  第一步:在Common文件夹中添加特质的属性和数值

1:打开创建好的MOD文件夹

  打开VS Code后按顺序点击左上角的【文件】和【打开文件夹按钮】

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  然后选择你刚刚创建好了的MOD文件夹目录,通常情况下,按下列的路径寻找就能找到。

C:\文档\Paradox Interactive\Stellaris\mod

  如果找不到可以在启动器里点选【在文件夹中显示】跳转到MOD目录。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  在VS Code中选择你的MOD文件夹。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

选择完成后,你就能看到在VS Code的左侧的【资源管理器】中找到该目录下的文件和文件夹。不过现在还什么也没有。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

2:在MOD目录下新建“common”文件夹及其子文件夹

  在你的MOD文件夹下新建一个“common”文件夹,再在该文件夹下再新建一个“traits”文件夹,再在这个文件夹下再新建一个名称为“XXX_traits“TXT格式文件,这个"XXX"怎么命名都可以,但不可以是中文。

  如下图,现在这个名为“ceshi_traits.txt”的文件应该是以下的路径:

MOD001\common\traits\ceshi_traits.txt

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

3:编写代码

  最重要的一步来了,现在我们为这个特质需要编写代码。

  在你的TXT文件输入以下代码:

trait_mod_superior_firepower = {

    cost = 2          

    icon = "gfx/interface/icons/traits/trait_drake_scaled.dds"  

    allowed_archetypes = {

        BIOLOGICAL

    }  

    modifier = {                                            

       weapon_type_kinetic_weapon_damage_mult = 0.25        

       weapon_type_kinetic_weapon_fire_rate_mult = 0.25    

       weapon_type_energy_weapon_damage_mult = 0.25        

       weapon_type_energy_weapon_fire_rate_mult = 0.25  

       weapon_type_explosive_weapon_damage_mult = 0.25      

       weapon_type_explosive_weapon_fire_rate_mult = 0.25    

       army_attack_damage_mult = 0.75                    

       army_collateral_damage_mult = 0.5              

       armies_energy_upkeep_mult = 0.75          

       ships_upkeep_mult = 0.75                    

    }

}

  看着很懵?那么问题来了,这些代码代表了什么意思呢?

  不要着急,现在我将为这串代码加上注释,希望这有助于帮助你理解:

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  如果你想要修改”modifier块”下的内容,也就是改变该特质提供的效果,你可以通过下面的链接前往官方WIKI的“修饰符”条目查看。

链接:https://stellaris.paradoxwikis.com/Modifier_modding

  注意!!!编写完代码后别忘了按下”Ctrl+S键“保存。

4:本地化

  到了这一步,如果之前没有出错,那么现在这个物种特质应该会出现在游戏中了。是不是很简单?

  如图,我们编写的这个特质已经出现在了选择列表之中:

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  到了这里,你可能会感到疑惑。

  为什么显示的是代码字符串?而不是我们熟知的中文?

  那是因为我们还没有进行上文提到的本地化这一操作。

 

 同样的,我们在MOD目录下创建一个“localisation”文件夹,再在该文件夹下新建一个名称为“XXX_l_simp_chinese”YML格式文件。由于我们只需要本地化为中文就行了,所以前面可以不用新建“simp_chinese”文件夹

如下图,现在这个名为“ceshi_l_simp_chinese.yml”的文件应该是以下的路径:

MOD001\localisation\ceshi_l_simp_chinese.yml

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  新建好yml文件后,在其中输入以下代码:

l_simp_chinese:

 trait_mod_superior_firepower: "优势火力学说"

 trait_mod_superior_firepower_desc: "§L炮弹价廉,人命关天。§!\n"        

 mod_armies_energy_upkeep_mult: "陆军£energy£能量币维护费"

  同样的,下面是代码的注释:

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  有关于本地化更多的内容,你可以通过下面的链接前往官方wiki的“本地化”条目查看。

https://stellaris.paradoxwikis.com/Localisation_modding#Overwriting_Vanilla_Text

  更改完成后,进入游戏,你应该就能看到修改的效果了。

投票
  《群星》MOD制作入门——做一个属于自己的MOD!【1:基础篇】-第3张

  到了这里,你已经完整的做出了一个简单的MOD,虽然它的功能还很简单。但只要多加学习,相信你很快就能做出一个十分优秀的MOD了。

  你也可以去创意工坊订阅一些大佬的MOD,然后对其进行“逆向工程”。相信我,这会对你的学习非常有帮助。

课后作业:

  试着编写一个简单的物种特质MOD,要求要有一个负面特质和一个正面特质,评论区交作业。


© 2022 3楼猫 下载APP 站点地图 广告合作:asmrly666@gmail.com