Best Practices for Mod Makers: Iterative Mod Releases

Post » Mon Jul 14, 2014 6:27 am

So I've been working on a mod for a while now, and up until now I've always made sure to load a clean savefile before trying out my changes. That works fine for me, as a mod maker, but if I want to release a version to the public I would like to know that if I push out any updates (with fixes or new content) I'm not going to ruin someone's savefile.

Are there any guides / articles that explain what things are changeable and what things aren't? What certain methods such as disabling the esp, loading, saving, and then re-enabling actually accomplish, and the like?

I've already learned that OnInit won't be called again just because you added more properties/variables for it to initialize. What else do I need to look out for?

User avatar
Evaa
 
Posts: 3502
Joined: Mon Dec 18, 2006 9:11 am

Post » Mon Jul 14, 2014 1:24 pm

What kind of mod is your mod? Does it add heavily scripted game-wide features like Frostfall? Does it add new content, quests, chracters and dungeons like Falskaar? This will help us answer the question more specifically.

I can't point you to any guides myself, but the rule of thumb is that anything that's baked into the save will have to be updated manually by a retroactive script if you want it changed. Here are a few examples:

- Meshes and textures as well as their placements in game (I.e. if you move a hallway or some clutter around or retexture a chair); these updates should work without any work from the user.

- OnInit runs the one single time that that script instance is initialized. This means once. No matter what you do to this script, OnInit only runs the first time it's booted up. Once they save after that, there's no going back to that OnInit block. You can still change things inside, as it will work for anyone newly installing your mod, but if the changes MUST be made to everyone, you'll have to make an 'update' quest that does the same thing retroactively.

- Anything that's a default in a script that you change later via script won't work. The 'changed' version will remain and your default won't matter. Retroactive fix will be needed here as well.

Due to the changes in my mod, the effect is basically that for the smoothest experience you need to reinstall the mod. Much like patches to the vanilla game, a lot of them would be an incredible pain to implement retroactively. You may have to do the same. Or, if your mod is a very flat script based content mod, then it should be easier.

Also, at least with my mod, only about ~15% of users update on average. Now, this is due to my mod being one that you can play through thoroughly then leave and never look back at, so many wouldn't think to update, but even with other kinds of mods I don't think users update as much as they should, so it isn't as big of an issue as you might think it is.

Hopefully this helps. Someone else may be able to point you to a more concise guide. :)

User avatar
Nice one
 
Posts: 3473
Joined: Thu Jun 21, 2007 5:30 am


Return to V - Skyrim