[GS] I am new to modding and have 3 questions

Noxempire

Chieftain
Joined
May 18, 2020
Messages
19
I am trying to make a really basic civ with ModBuddy. I am getting along alright with the software. I want to do nothing too flashy. I just have some questions.

1. Which template to use? Most people seem to use Keniisu's template, but isn't that one incomplete? His tutorials do not include how to add a leader or art. Is Jasper Kitty a viable choice aswell? Seems to be rather easy structured and complete.

2. How do I add simple 2D art. I tried replacing the dds files in the Jasper Kitty template, but I guess I also have to change around some settings in the ArtDef and tex files. Are there some handy tools that build ArtDefs/tex files for you that are still up to date?

3. How do I access base game content (like adding a new leader to a civ) and other mods. Some people say "just use another mod as a template" but where do I find them and how am I able to open them in the ModBuddy?

~Nox
 
As someone fairly new to making actual, tangible mods (though who has been wondering/watching/inspecting code from afar for some time), I am going through this journey myself. Welcome to modding - it's fun and very rewarding when things start to work!

1. Which template to use? Most people seem to use Keniisu's template, but isn't that one incomplete? His tutorials do not include how to add a leader or art. Is Jasper Kitty a viable choice aswell? Seems to be rather easy structured and complete.

I ended up starting with the Keniisu template. I found it patchy - though it served as a good base. You're absolutely right that, the moment you arrive at 'art', it ends up falling short of the mark. For me, working the art in from nothing was too daunting. So I moved on. I then thought I'd start from JasperKitty as a base. That, conversely, proved a little too thin on the ground - though it did include some art, which was great.

Because I went down a lot of rabbitholes along the way, I essentially ended up doing some kind of amalgamation of the two and worked my first custom civilization through to completion. By the end, I had a file list that was a hybrid of various templates - but it works for me. Knowing that my ambition was to create further custom civilizations, I stopped and created myself a template. If you wish, I'd be happy to share it with you - on the understanding that it is a hack-and-slash plagiarism of other templates, not my own work - and walk you through how it all stitches together. In fact, if you would like it, I can probably just comment it a bit more clearly so its friendly to a mind other than my own.

For the avoidance of doubt - I am new at this, but the template is solid. Ignore the fact that I have other posts where my own logic has failed me and I've needed help with implementation - the mistakes were my own, in terms of data input. They were not down to what is now 'the template' I use being constructed wrong.

Noxempire said:
2. How do I add simple 2D art. I tried replacing the dds files in the Jasper Kitty template, but I guess I also have to change around some settings in the ArtDef and tex files. Are there some handy tools that build ArtDefs/tex files for you that are still up to date?

There are two main ways to have Civilization VI 'recognise' and present 2D artwork - or, more correctly, anything of the UITexture asset type. You can load a DDS/TEX pair using an ImportFiles action, or you can use an XLP-DDS-TEX file set to create a BLP, which is the format that is output when the integrated ModBuddy asset cooker interprets the XLP file.

This may be of use, which is essentially an exchange where I had asked the same sort of question: https://forums.civfanatics.com/threads/loading-new-artwork-into-a-mod.657356/#post-15748396

As far as I know, an ArtDef file is not needed for any element with UITexture as an asset type. If you're considering all of the various things you need to make a custom civilization that 'looks' complete, the only element that sits outside of this is the Fallback Leader - which is used on the Loading and Diplomacy screens if no animated version is defined (though this static version, of course, needs to be defined).

The workflow I have adopted for ensuring the graphical assets are present within the ModBuddy project is the following:

1. Create the necessary DDS files. I am assuming you are aware of the formatting and export options required (let me know if not). For this example, let's assume we are creating an asset called LeaderIcon256 and we have a file named LeaderIcon256.dds we'd like to use.
2. Within ModBuddy, open your project/solution/mod-to-be. Create a Textures folder - it should have no content. If your template-of-choice has one, use the existing folder. A useful exercise for me was to make a list of all of the different graphical assets needed, including the different sizes. This way, if you wish, you can clear the contents entirely of any template you have.
3. From within ModBuddy (with your project/solution open), launch the Asset Editor. Go to File > New, choose Texture and select OK.
4. Under Class Name, choose UserInterface from the drop-down.
5. Under Source File Path, browse and find your LeaderIcon256.dds file. Hit Open.
6. Hit Save. You should see the Asset Previewer show you a preview of your 2D art.
7. Back in ModBuddy, right-click your Textures folder and choose Add > Existing Item.
8. Browse to your project/solution's Textures folder and you should see a pair of files - both the LeaderIcon256.dds and LeaderIcon256.tex. Select both and import them - you now have your 2D graphic, prepared outside of ModBuddy, in ModBuddy and ready for inclusion in your game.

Note: You still need to reference this file in the appropriate places to make it work. Different asset-types have different logic attached - I am sure from the template I hope you'll allow me to share with you, you should be able to join the dots.

The variation on the above comes in with the Fallback Leader. It's the same workflow, save for selecting Leader_Fallback as the Class Name within the Asset Editor (step 4). There is also a requirement to create an XLP file for the Leader_Fallback asset - I'll be honest, I don't recall how I created the one I have for this, but I expect it was shamelessly stealing one from another mod, or similar.

Edit (important concept alert, that I forgot first-time!): Don't forget that any new files added to your project with new names need to be represented in the Actions List (either Front-End, In-Game or both) otherwise the game will not pick those files up. Both Actions Lists can be found via the project properties panel in ModBuddy.

Noxempire said:
3. How do I access base game content (like adding a new leader to a civ) and other mods. Some people say "just use another mod as a template" but where do I find them and how am I able to open them in the ModBuddy

The base game content is all within the installation directory (certainly gameplay code). A significant majority of it is found via -installationdirectory-\Sid Meier's Civilization VI\Base\Assets\Gameplay\Data in XML files (that's the vanilla/base game; if you have expansions, you can find their additional/replacement code in the \DLC folder in your main Civ VI directory). The key thing here is that anything that exists in-game already can simply be referenced - you don't need to re-write the logic. For most, it's a case of look-up and reference to familiarise.

My personal workflow is to use a program called TextPad - which is a text file reader/editor that allows search in any file type you wish. If I'm trying to find a concept, or all instances of a reference, once I know my search string, I set it up to look in the 'Data' folder I mention above and all sub-folders and in all .xml, .sql, .artdef, .tex, .modinfo & .dep files. Some of those file-types are not required, but it saves me changing my criteria if I ever want to search my own mods quickly outside of ModBuddy.

Again, a general tip - I tend to try and follow the 'trail' both up and down the chain for any concept I find that I want to use. I make notes as I go, which helps me get it straight in my head before I start coding into ModBuddy. Essentially, if you find all unique instances of concept 'C', what you're then interested in knowing is where it references D, but also where it is referenced by B. I work this method in both directions until I get to the 'end' and substitution in my mod normally proves fruitful.

Or, it fails due to me doing something wrong, I then come on here, post my code and someone fixes it for me.

Hope this helps - please shout if you would like the template!
 
Last edited:
Thank you so much! I think I never got such a wholesome and valuable response when asking for help on the Internet.

I'd love to use your template! Thanks very much again!
 
No worries at all - I have bugged the brighter minds in the last few weeks on multiple occasions, so I know how much the responses help to move your idea forward when you're 'stuck'.

I will get my homebrew template commented up briefly and then attach it here for you. Give me 24 hours if that is OK.
 
Just to check in on this - I’ve not forgotten but 24 hours was too ambitious a turnaround.

I’m getting there but real-life has got in the way for tonight. I’ll share soon, hopefully tomorrow!
 
Just to check in on this - I’ve not forgotten but 24 hours was too ambitious a turnaround.

I’m getting there but real-life has got in the way for tonight. I’ll share soon, hopefully tomorrow!


No problem! Take your time :)
 
Top Bottom