Modding tips

Started by Kirid, August 18, 2014, 07:15:20 PM

Previous topic - Next topic

Kirid

As a mod maker and user, there are several things that encourage or discourage me from using mods.
I can't speak for everyone, and by no means are my mods the most popular, but hopefully I can provide tips that might help newer modders decide how to design theirs.
Some of these points may seem redundant, but they all blur together at some point.
I hope noone is insulted, I've avoided naming any specific mods. I would love some feedback and perhaps more tips along these lines.

Keep it simple. All my mods are small and separate. I think this has helped me to be able to update my mods easily, and it limits confusion people using it may have. The larger your mod is, the longer it takes to update, and the more bugs you'll have. Some mods are so large they don't get updated until the next alpha has already been released. They also have constant issues. The progress of the mod will become entirely halted, someone will notice an issue and by the time it is fixed, more issues have come to light, leaving no time to add new content.

Consider separating mods. Some modders like to lump everything into one mod, which puts people into an all-or-none situation. There are several mods I don't use because I don't like the complete package. I may like one item in the mod, but I don't want to add 20 items I don't like just for that one. If you do post your mods together, it is a good idea to make separate download links, one with the full package, and downloads for the individual features.

Don't overwork yourself to make a complete overhaul unless you need to. Rimworld is still very new, and it is constantly changing. I don't see the need in changing the entire game when we still haven't seen everything yet, nor am I bored with the vanilla game enough to warrant an overhaul. Your mod is also more likely to become obsolete or outdated with so much content. You may spend a month working on a complex new system, only to find out the next Alpha makes it useless.

Only so many people will download your mod. Not everyone in the ludeon community uses mods, and of those, not all are going to download and use your mod. There is no sense in creating something that takes you weeks to perfect, when a simple mod would get the same effect, and you get the same number of downloads.

Collaborate. This one can be difficult, working with other people isn't easy, and sometimes can lead to the failure of a mod because coordinating multiple modders can be problematic. Yet my most positive experiences come from working with other modders. While I am a decent artist and coder, both the modders and the users of the mod will be happier if you let someone who is more qualified handle it.
You can't rollerskate in a muffalo herd

Bog

hehehe, I've basically gone against everything in this post with my Divergence of Civilization mod.  ;D (well, except the collaboration part)

But that's because even though the nature of the mod makes it take quite a lot of work to make, in the end the concept is actually fairly simple.

In the end though, I'm not making it so that I can get lots of people downloading it. I'm making it because it's something I'd like to play, and more importantly it's something I enjoy making. Whether or not other people like it in the end doesn't really matter to me.

Anyways, you made some very good points and new modders should definitely take notice.
Divergence of Civilization Lead Developer (in this case that's the fancy way of saying "Only Developer")

Project Armoury Developer (New huge 2.13 Release now live!)

Kirid

Yeah bog, ultimately it comes down to the modder, and what they want to make.

I remember when I started modding, downloads were important to me because they are a good gauge of how well you've made it, and not getting many downloads can be a sign that you could be doing something better.

Trying to think up how to type the point: If your mod is too expansive, it can break compatibility, not because of code reasons but because of gameplay. It can force mod users to choose between using one giant mod, or tons of other mods, and in the end they(I) will choose the many mods. My modular solars are incompatible with many overhaul mods as it interrupts the balance.
You can't rollerskate in a muffalo herd

RawCode

There is only one tip for modding, and games in general - more does not mean better.

It may be fun to add 100 weapons to your mod, may be fun to add 200, especially if all guns have only difference in single number - damage and everything else is 100% same.
(player will ignore low damage guns and rush to top)

Everything added must be somewhat unique and everything must have some kind of use.

If you added 10 pistols, they all should be special in one way or another.
In other case there is no reason to add 10 pistols.

If your weapons consume ammo, there is absolutely no reason to make unique ammo for every gun.
Energy guns consume energy cells.
Other guns consume unified "bullets".
Larger caliber guns consume more cells\bullets.

In case of "cosmetics" reason, it a lot better to allow player to change "sprite" of armor or weapon by recipes, crafting or other reasons instead of making 100500 guns one for each sprite.

Over complication always bad, it does not make game deeper, it make it slow and tedious.

Neurotoxin

Quote from: Kirid on August 18, 2014, 07:15:20 PM
Collaborate. This one can be difficult, working with other people isn't easy, and sometimes can lead to the failure of a mod because coordinating multiple modders can be problematic. Yet my most positive experiences come from working with other modders. While I am a decent artist and coder, both the modders and the users of the mod will be happier if you let someone who is more qualified handle it.

The easiest way to do this part is laying out the framework yourself, make a base build off of then maintain it on a Version control server. I use Github for this. It has a bit of a learning curve at the start (setting up repos, learning how to make commits, merges, rebases etc..) but once everyone on the team gets there it's really easy to manage what's being added/removed from the mod. Every new feature can be added as a pull request where every team member can review the code or textures or w/e it is and decide if they want to use it. If you get a majority or you as the maintainer want it (depends on if you're running a democratic team or a dictatorship) it's USUALLY as simple as pressing a button to incorporate it.

Sometimes, you might get code that adds a feature you like but has a problem you know how to solve, it's easy to fix and maintain modularity. Fork your own branch off master (or the current working branch) and merge the pull request into it, make your fixes then make a new pull request. I know to a lot of people that sounds like gibberish but don't worry, it sounded like gibberish to me a month ago too.

Otherwise, good post. It's far easier to maintain small mods or a single application with a specific scope than it is to manage a huge mod or an all in one application. It's actually why I decided rather than parsing xml def files straight from rimworld's directory I'd pre-parse them myself and rebuild them in a simpler format for my save editor. When an update comes out, I can reparse everything myself, make sure no new tags are present that are necessary and roll out an update with just the updated files and maybe remapping the nodes in the save file instead of completely rebuilding my def dumping logic, say if a node becomes a child of another or no longer has a parent.

minami26

#5
Also take note that making mods largely depend on the hype and inspiration you built upon the entirety of the mod.

My mod might be too large and I admit its very complex. But this is the foundation of my mod and I can't play without it which makes me very happy and always having fun in making my mod and quite frankly im just sharing how I play RimWorld :) basically making mods is sharing and loving the game you play even more. *wink wink

Neurotoxin

Quote from: minami26 on August 19, 2014, 03:29:13 AM
Also take note that making mods largely depend on the hype and inspiration you built upon the entirety of the mod.

My mod might be too large and I admit its very complex. But this is the foundation of my mod and I can't play without it which makes me very happy and always having fun in making my mod and quite frankly im just sharing how I play RimWorld :) basically making mods is sharing and loving the game you play even more. *wink wink

^this, a million times. While all of the above are good Guidelines, someone who is passionate about the game will go through the effort of maintaining a large mod if they're passionate about it and kudos to them.

Bog

Quote from: Neurotoxin on August 19, 2014, 06:51:24 AM
Quote from: minami26 on August 19, 2014, 03:29:13 AM
Also take note that making mods largely depend on the hype and inspiration you built upon the entirety of the mod.

My mod might be too large and I admit its very complex. But this is the foundation of my mod and I can't play without it which makes me very happy and always having fun in making my mod and quite frankly im just sharing how I play RimWorld :) basically making mods is sharing and loving the game you play even more. *wink wink

^this, a million times. While all of the above are good Guidelines, someone who is passionate about the game will go through the effort of maintaining a large mod if they're passionate about it and kudos to them.
Both of these posts are great. Hear, hear!
Divergence of Civilization Lead Developer (in this case that's the fancy way of saying "Only Developer")

Project Armoury Developer (New huge 2.13 Release now live!)

Kirid

I'm going to assimilate some of these comments into the op if you don't mind.
You who are making big mods are doing incredible work and I don't want to discourage it. Yet we've reached a point in which more mods are outdated than are usable, and more are added to that list with every alpha. While passion seems like a good enough incentive to keep your mod updated, most people like to think they are passionate. I consider tech tree minami to be one of the only current huge overhauls, and it has been kept updated so I don't doubt the passion there, yet I think the secret to it's success has more to do with hard work.
You can't rollerskate in a muffalo herd

Neurotoxin

#9
Quote from: Kirid on August 19, 2014, 03:44:59 PM
I'm going to assimilate some of these comments into the op if you don't mind.
You who are making big mods are doing incredible work and I don't want to discourage it. Yet we've reached a point in which more mods are outdated than are usable, and more are added to that list with every alpha. While passion seems like a good enough incentive to keep your mod updated, most people like to think they are passionate. I consider tech tree minami to be one of the only current huge overhauls, and it has been kept updated so I don't doubt the passion there, yet I think the secret to it's success has more to do with hard work.

Real passion begets the desire to put forth the hard work to maintain your creation. I've been around with other indie games where there's Modders who love the game and modders who want internet fame. The modder's who love the game, might not update right away, due to IRL obligations but USUALLY do, at some point update whereas the fame modders may keep up to date for 1 or 2 releases then disappear.

Point being, Passion doesn't determine the speed at which you're able to push an update but rather your desire to continue doing so and your desire to push past whatever roadblocks may be in your way.


Might I add to your post sir?

When decided what you want to mod, pick something YOU care about. Don't worry about everyone else, it's your mod. There WILL be someone else that can benefit from the mod.

Design something YOU want to use. If you don't want to use it, why would anyone else? If you don't want to use it, why make it in the first place?

For every person who dislikes your mod, there's someone who likes it. This community is good about not being negative to each other from what I've seen but at some point you might receive negativity, be prepared for it and know that for every negative there's a positive.

^ to go with my statement on negativity: Even if you don't like what the person has to say, at least read it. They may have some valid complaints and you can use that as a way to improve. If they do not offer specific complaints, don't bother replying to them. Some people who have valid complaints may come off as being hostile because A. this is a text based format so and some people don't know BBCode to offer inflection on certain words that may make the difference between hostility and politeness and B. Not everyone speaks English natively and may be unable to express themselves in what you consider a polite manner.

I can't stress this enough, Make your mod for YOU. If it's something you like you'll have the desire to put forth the effort to make it everything it can be, even if that means learning new and hard to understand concepts. If you really put that effort in, other people will notice it and your mod will be better off for it. If it's something you want in your game, chances are someone else wants it too.

Lastly, don't be afraid to ask for help. Most of us are friendly, and are willing to help if/when we can. If nothing else, we may be able to point you where you need to look.

Shinzy

Quote from: Neurotoxin on August 20, 2014, 01:45:27 AM
When decided what you want to mod, pick something YOU care about. Don't worry about everyone else, it's your mod. There WILL be someone else that can benefit from the mod.

This applies to almost every creative process ever =P
But I wouldn't want to discourage the non-passion projects
cause you might actually learn something totally unintentional from those or just get completely new out of the blue ideas for the stuff you're really passionate about

But like said if you enjoy doing something it usually shows in the result!

Neurotoxin

Quote from: Shinzy on August 20, 2014, 02:56:00 AM
Quote from: Neurotoxin on August 20, 2014, 01:45:27 AM
When decided what you want to mod, pick something YOU care about. Don't worry about everyone else, it's your mod. There WILL be someone else that can benefit from the mod.

This applies to almost every creative process ever =P
But I wouldn't want to discourage the non-passion projects
cause you might actually learn something totally unintentional from those or just get completely new out of the blue ideas for the stuff you're really passionate about

But like said if you enjoy doing something it usually shows in the result!
Oh no, yeah I don't mean to discourage either. I just mean as a guideline to new modders especially, the easiest way is to pick something you care about and stick with it. Once you've done that all your mods will be better for it. Your best learning experience will be from facing challenges trying to accomplish something you care about.

mrofa

QuoteOnly so many people will download your mod. Not everyone in the ludeon community uses mods, and of those, not all are going to download and use your mod. There is no sense in creating something that takes you weeks to perfect, when a simple mod would get the same effect, and you get the same number of downloads.

Downloads arent a problem especialy if you use a site that dont have downlad counter (sendspace):D

All i do is clutter all around.