Modding Question on Custom Ships

Can someone point out some resources on how I can create custom set of ships for a custom race?  Like, what ships do i need to design (colony, freighter, scout and what else) and how do i set them as a package so that I can select it in the custom race screen.

9,826 views 7 replies
Reply #1 Top

Do you have experience with modding xml files?  If so, you may want to look at my faction mod (see my thread also in the mod forum).  I explain a little bit there and you can look at my files for an example of how the ShipClassDefs and FactionShipClassStyleSet are modified.  

Reply #2 Top

Hi and my modding experience is very limited.  I did play around with xml files in Galciv 2 changing values around.  But since I have some time now, I'd like to learn the ins and outs.  

Is there a how to guide on creating custom models of ships for specific races?

Reply #3 Top

There is not really a guide at the moment.  I'll give you the basic rundown, but you will need some experience with xml editing.

 

Steps:

1) Figure out how many ships need designing.  A good place to look is in in the FactionShipStyleSetDefs.xml (we will return to this later)

2) Design your ships in the ship designer.  I saved mine as templates rather than ships.  (mark the box when saving the design). 

3) (This will change after game version 1.1).  Copy your saved designs (be sure you know which ones they are) in your My Games\GalCiv3\Designs folder into your Designs folder in the Program files location.  Each ship should have 3 files associated with it, a ship file, an object file, and png thumbnail (copy all 3 for each design).  In the future, you should not have to move the files to program files but just keep it in a mod folder.  

4) Create an xml called ShipClassDefs_CUSTOM.xml in your mod's Game folder (where CUSTOM is the name of your style) using the same structure found in the original file (found in program files x86)\Steam\steamapps\common\Galactic Civilizations III\data\Game).  You will want to copy the structure of one of the factions ship entries (say, terran) into your new xml.

5) Edit the copied lines so that all the words "Terran" are replaced with something else relevant to your ship design.

6) In the same xml, you will noticed elements called "ThumbnailOverride" and "ShipDesign".  The value for these elements needs to be changed to the filename for the ship you want to use.  For example, my design files for a scout ship care called  MyNewScout_1231298547129587 (.png, .ship, .objgfxcfg).  I would use my file name in the appopriate spot:

<ShipClass>
<InternalName>MyNewScout</InternalName>
<DisplayName>MyNewScout_Class_Name</DisplayName>
<Description>MyNewScout_Dec</Description>
<ThumbnailOverride>MyNewScout_1231298547129587.png</ThumbnailOverride>
<ShipHullType>Tiny</ShipHullType>
<ShipRule>Scout</ShipRule>
<ShipDesign>MyNewScout_1231298547129587</ShipDesign>
<AIShipClass>Scout</AIShipClass>
<StrategicIcon>Scout</StrategicIcon>
<BlueprintDef>ScoutBlueprint</BlueprintDef>
</ShipClass>

6) Do this for all of your ship designs.

7) Create another xml called FactionShipStyleSetDefs_CUSTOM.xml  in your mod's Game folder.  Copy one faction's ship style set xml lines from the original file found in the program files location.  If you looked here earlier you know that this lists all the ships that this style uses, including the shipyard and various starbases.

8) After copying the xml lines and structure to your new file, edit it so that references to the old style (ei, "Terran") are replaced by whatever you are using.  Of course be sure that the Internal Name of your ship style is unique. Here the entries for ship class should match what you have for in your ShipClassDefs_CUSTOM.xml file.

    <ShipClass>MyNewScout</ShipClass>

9) Edit them all, and make sure each has a corresponding Ship Class entry in your ShipClassDefs_CUSTOM file.  

10) If you are using text string variables, then make sure that all the variables such as Display Name, description have a corresponding string declaration in a text file placed in your mod's text folder.

And there you go.  :)

 

I will admit, it does take a bit of work. But with some tinkering, it is not too difficult.  The main thing is you have to make sure the two files use the same terms because one refers to the other. Also, I admit this isn't a super user friendly description for folks who may be beginners.  But I hope it is helpful to you or others who might want to try their hand at this.

 

Edit:  Just as a note, I think I will end up writing a more full guide with some screenshots and more examples, when I get the chance.

Reply #5 Top

thank you

Reply #6 Top

This may also help :)

https://www.youtube.com/watch?v=JyuzaYS0ewY&index=4&list=PLVA5Lf10pstMfYckhKGNE2YjlAtbRaTD1

Reply #7 Top

Honestly much as I like the game, creating custom ship sets is a mess. It should be the single most important modded feature, ship sets with a race to go with them. Anyone who takes the time to go through the process share and update their creations, my hat goes off to you.