投票 《群星》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