1.0 Editor IDsPrimarily, I construct my editor IDs to identify the author in some way, the group of mods to which they apply, the class of object, the type of reference and a name indicating the purpose of that object. For example, in one of my mods you'll find (if it is ever completed and released):
.
zqzzClSaddlebag.
"
zqzz" has my trademark (the 4-bit binary for the number eleven) embedded in a combination of letters whose selection refers to the group of plug-ins to which this object belongs; in this case "
q" refers to
Questfall Tower. This is followed by the capital, in this case "
C" designating a container, and then a lowercase "
l" designating base object identifier. If it was an object reference it would be a lower case
r, for example. The remaining description need only be brief - in this case I think the word "
Saddlebag" paints the picture quite nicely. At any time, this allows me to filter for all objects I've added or specific types of object that I've added.
.
2.0 Keeping it CleanFirstly, it's how you go about keeping your edits clean which makes the biggest difference. It actually starts with your planning - before you open up the editor. Your journey through the creation of your mod will be a journey of baby-steps from one minor working function to another. So, every time you make a successful change that adds even the most minor degree of game-accessible working functionality, save your plug-in and, using
Windows Explorer or some such, back it up to a separate file with its own date and time code in the filename. For example, in my version control directory you might find files named thusly:
.
1011_(Skyrim)_QuestfallTower_2012-0307-1735_Level-3-Atrium-Mannequins.esp
1011_(Skyrim)_QuestfallTower_2012-0307-1903_DaggerDisplayCaseFixed.esp
1011_(Skyrim)_QuestfallTower_2012-0307-1930_LibraryPropsLinked.esp
1011_(Skyrim)_QuestfallTower_2012-0307-2048_Atrium-Level-3.esp
1011_(Skyrim)_QuestfallTower_2012-0307-2130_Atrium-Level-3-Finalised.esp
1011_(Skyrim)_QuestfallTower_2012-0307-2318_Office.esp
1011_(Skyrim)_QuestfallTower_2012-0308-1331_Armoury-WeaponMounts.esp.
That way, if something goes so wrong that the plug-in cannot be recovered, you can always role back to the last working version. That would include any dirty edits, because most of these updates take less time to repeat than rooting around for a dirty edit which may or may not be the only one.
.
Once you have procedures in place that keep your version history under control, the key is to avoid modifying existing base objects. Instead, create your own and modify those - by modifying the Base Object ID field with your own identifier and clicking yes when the
Creation Kit asks you if you "want to create a new form". Finding desired objects with the search window is ideal, but if you have something specific in mind and cannot find it through the search window,
- save your mod and back up the current version,
- look for the object in the cell where you've seen it before
- make a note of the object's "Base Object ID" (which appears in the search window)
- close the Creation Kit without saving
- restart the Creation Kit with your plug-in set to active
- get the desired object from the search window using the Base Object ID you copied out with pencil and paper about 10-20 minutes ago in step 3
- save your mod and run the game to see if the changes you just made either work, do not work, or totally mess things up
Of course, when
TESVEdit comes out, there will be braces to go with the belt!
.
3.0 Reference Editor IDsReference editor IDs refer to a specific instance or, perhaps, "clone" of the Base Object as placed in the game. Before the scripting language was changed to produce
Papyrus, the Reference Editor IDs were used in scripts to refer directly to objects in the game. It was quite the convenience too, I must say, and it's one of the features of the old scripting system I miss.
.
4.0 Nay! Horses for Courses: Fail to plan = plan to failSome of your modding ideas will depend on one-another - these should go in a single mod. Independent modding ideas are best kept separate until dependencies are formed with other ideas. Modding ideas which affect overall game-play should definitely stand alone as separate plug-ins
.
I'm currently working on a basic little player home with a few avatar comforts and, eventually, a brief campaign of little quests to make it just slightly more interesting. As I'd like to finish some time this millennium, the key is keeping things simple and avoiding, as far as possible, the limitations of the game engine. Having said this, the saddlebag bug (you can see them but they just don't activate) is an itch I feel compelled to scratch. So, in line with my systematized approach to things, I've set them up to have weight limits more appropriate to a horse than a human being and to be automatically accessed whenever the player mounts the horse. As you might well imagine, this may just annoy some people, who would therefore enjoy the game more if they used another system of accessing saddlebags and mounting horses. Now, if I combined this potentially irritating saddlebag system of mine with my player home plug-in, how do you think those people who prefer either no saddlebags or different saddlebags are going to feel about this player-home plug-in of mine?
.
So, it is always worth keeping an eye on the larger picture, especially seeing as each of us already has an overall concept in which each of our plug-ins is generally a component. One of the key ideas here is in making these components modular...