Do you have any advice on how to make your own clangen mod please?
About any mistake or important things you should learn from.
The first most important thing in my opinion that people don't talk about often enough is expectation management. Overambition is the killer of most projects, and scope creep can indefinitely extend their development time.
My own first ClanGen modding project was very ambitious, but I also have previous modding experience and am aware of my capabilities. There is nothing wrong with having a specific idea you want to create, but you need to lay down your priorities if you don't want it to turn into a mess.
A well formed idea
Start by really thinking about what you want your mod to accomplish, and how you want it to function.
Starting work on a few hazy ideas will always be worse than taking the time to think it over and refine your concept. If you change your mind on something mid development, it will be much more work to adjust existing stuff than if you already thought about it beforehand.
Most importantly, clearly define what features you want your mod to have. You can always add features in future updates, but you need a definite list of things to work on while first creating your mod.
Priorities
Once you have a list of features for your mod, sort them in categories of importance. A simple system of three points works best: essential features, nonessential features, and optional features.
Essential features are features that lay the foundation of your mod and are nonnegotiable. This list should be short and concise, while still covering your mod's core functionality. If you end up with too many things in this category, go over your list again and cut anything that isn't truly essential.
Nonessential features are ones that aren't necessary, but expand on the core concept of the mod or are features you really want included. This list can be longer than the essentials, but you should still be wary of scope creep. These are also features you should optimally work on once all your essentials are finished.
Optional features are features you'd like, but that are not important to the core concept of the mod and/or don't need to be included in its first version. These are things you can either work on if you finish all your higher priority features, or as future updates to the mod.
As an example, we can list some features of the Fairytale Mod:
Essential
Add a new "species" variable to cat data
Add basic inheritance of the "species" variable based on parents
Add two new minimal sprite sets, making for a total of 3 species
Nonessential
Make species inheritance more in-depth
Add new pelts
Add two hybrid species, for a total of 5 species
Optional
Add species-specific flavour text
Add new patrols
Add in-game soundtrack
Add more species with unique sprite sets
Modify prey use by cat's species
As you can see, that list isn't actually as long as you might expect. Of course, some of those things are much bigger than others (a whole sprite set is much more work than modifying prey use by a variable), so keep in mind how much work a feature actually needs when you consider your priorities.
If you work alone, like I do, adjust your expectations accordingly. Even with a lot of free time you can only work so fast, and most people have other obligations and can't work on their projects every day.
Necessary skills
If you want to do anything more involved than modifying existing sprites or adding an event that works within vanilla ClanGen's framework, you will need programming knowledge. However, while it is of course advantageous, prior knowledge is not necessary.
Python is a very beginner friendly language, with many online resources, and ClanGen is robust, but still simple enough to be a good first project. If you want to make your idea real, you will need to put in the effort to learn.
You can technically edit script files in any plain text editor, but one made with programming in mind works best. If you are a beginner, an IDE is often recommended, but some people, like myself, work without one.
I also strongly encourage you to learn about Git, more specifically GitHub which is used by official ClanGen and - as a result - its many mods. Other than convenience for you as the creator, GitHub also provides easy access to the source code which makes modding safer due to others being able to look over your code freely, compared to if you only distributed a compiled .exe (don't do that).
As a last closing remark, I'll state my personal opinion on suggestions. Don't take suggestions from others. Feedback is useful, but suggestions at best contribute to scope creep and at worst are unfeasible or don't fit the core identity of your mod.
Although these are often well-meaning, and I can understand the desire to connect with the community, you should be assertive about what your mod will and will not have. Ultimately, this is up to you to decide, but it is my opinion that not adding features on a whim because of a suggestion is much better in all situations.
That's right it's a new SPS update everyone!
- SPS is now up to date with ClanGen a2c75da
- each species now has its own dicts folder
- individual data jsons allow you to have different pelt elements for each species
official documentation