I want to create a mod for Oblivion. I'm pretty good at spinning a yarn and I have some (not a lot) of programming experience. I know I'll need OBSE for this project because I need to do some things that the little documentation I can find indicates that vanilla TESCS can't do, but OBSE can. Now, here's my problem. TESCS is one of the most user-vicious pieces of software I've ever encountered, clearly written "by committee" where the different groups working on it didn't bother consulting with each other when they added features (just examine the Object View and you'll see that someone had no idea at all how to organize things to make objects easy to find). There appears to be no comprehensive documentation for it and the various tutorials I've read ALL make assumptions about things that probably seem quite obvious to the people who wrote them but aren't at all obvious to someone sitting down with no experience just experimenting with the blasted thing for days and weeks on end. I don't want to spend days and weeks not accomplishing anything useful. For one thing, I don't have unlimited time to spend trying to figure out how to use it. For another, I've reached the end of my patience with "explanations" that wind up leaving out crucial elements. Yes, my Googlefu is pretty good. People turn to me when they can't find something, and I can usually find it. I've reached a dead-end with both TESCS and OBSE.
Case in point (several, actually): I'm adding a house to the low-rent area of the Waterfront district. I'm putting in a new NPC who will be a merchant, there, and this NPC will be the primary contact for a series of quests. Nowhere could I find a simple, step-by-step explanation of how to link doors on the static house object to the doors on the interior in the custom cell I created. There were partial explanations, and cryptic mentions of having to search for the teleport marker because it might not be located in front of the door. I finally figured it out for myself, after several hours of pulling my hair out and it's really, really simple. But nobody actually explained it so that it was really, really simple. What constitutes making something simple? Basically, it's a step-by-step procedure -- do this, then do that, then do this thing, then do this to that, then go here and do this ... step-by-step, with no ambiguity and nothing left out, and people-proofed so someone with no knowledge at all of the procedure or even the user interface to the software, can follow those steps and it will work. After all, once you've done it right, and understood what you did, it becomes simple. The problem is that it's already simple to the people who explain these things, and they unintentionally leave things out and make assumptions regarding what their readers do and do not understand. With what I now know about door linking I could easily write a tutorial designed to just explain that process and someone who was using TESCS for the very first time could follow the procedure and do it -- and it would work. Nowhere, though, have I been able to find such a tutorial. Instead, door-linking is partially explained in a number of other tutorials which cover much more extensive procedures, and the linking procedure sort of gets buried and the authors skim over crucial steps.
Next case in point: My merchant has a pet rat. The rat belongs to the domestic rat faction (CGDomesticRat01). The merchant kills the rat. So, what to do? Factions, right? So, I create a special faction for the merchant's pets (she's going to have more than one pet). I also created a faction just for this merchant. Unfortunately, I couldn't do anything with those factions. I figured it would be as simple as dragging the merchant's pet faction into the merchant's faction and then setting the reaction modifiers. Nope. You have to right click on a line and select "new" from a drop-down menu to add faction relationships. That's not intuitive when you've already learned that you drag a faction from the master faction list into the player's faction list to add new factions, there. And there are no instructions that I could find anywhere that said this, but I discovered when I finally decided that different programmers were probably working on that part of the program and that, just maybe, the guy that programmed the drag and drop process for one part wasn't the same as the guy who programmed the right-click and add new part in a different place. It's little inconsistencies in the UI like this that make learning TESCS so frustrating. And nobody seems to have documented them.
Then there's the case of the disappearing objects: I put a door overhang on the house in the Waterfront, and two barrels outside the door. They aren't there in-game, but they're still present in the mod when I examine it with TESCS. In the interior the bed, four chairs, a money box, and a jewelry box refuse to appear in-game. Curiously, the fifth chair does and they're all identical! Indeed, at first, my merchant didn't appear in-game, either. I fiddled and fiddled and now she does (I'm not sure if I had to set her to be a persistent object or not, although she is, now, but that didn't work for the chairs, boxes, barrels, and overhang). If I'm missing something simple, I just can't pin it down and this issue remains unresolved.
Some people say never make a mod the active mod. Others say make the mod you're working on the active mod. Who do you believe? Some people say never save your mod using the Save Plugin icon on the toolbar. Other people say save your plugin periodically (I've never had problems with TESCS crashing, but apparently some people do). Again, who do you believe? And why not use that icon -- or the drop down menu item in the File menu, which does the same thing? I did figure out how to make TESCS periodically make a backup, but, of course, TESCS doesn't bother telling you that it won't create the "Backup" folder in the Data folder if it's not already there -- another little nasty surprise from a piece of software that, in many cases, seems very "unfinished" to me.
I tried to follow a "tutorial" on one of the popular modding sites that was supposed to lead you through the steps to create a cave complex, only to discover when I tried to join the beginning back with the end that there was no way to do it using any of the pieces in the tile set. The end was much higher than the beginning, and there were no "ramps" that could serve as transitions between the two ends -- even though what I did looked like the picture the author of the tutorial included. He just guided the reader through the first couple of steps and then left the reader out in the cold to wade through the plethora of tile pieces -- as though everyone likes to search through a pile of pieces to put puzzles together (I don't). So, three hours of frustration after I started said wading, I was left with a tutorial I couldn't complete, and it remains uncompleted.
So, I added a new house to ICWaterfront3. It shows a big asterisk in the Cell View, now, showing that I've modified it. Is this a Good Thing or a Bad Thing? Judging from what people say about "dirty mods" it is, in fact, a Very Bad Thing. But how do you add a structure to an existing World Space region without modifying it? Am I missing something, here? I read through a tutorial where someone added a new merchant to the Waterfront (on the other side of the wall from where I added mine). He sure didn't mention anything about having a dirty mod, so how did he avoid this? Or did he?
Speaking of modifying objects, just how do you give an object a unique name (not the ID) without editing the base, which seems to create dirty mods? Do I have to first create my own instance of that object by duplicating it? I can't find any explanation, anywhere, that says whether or not it's safe to touch that "Edit Base" button on the Reference dialog. And if it isn't, then why is that option on by default?
The problem is there is no comprehensive guide to using TESCS -- something that fully explains the UI, what all the menu options and buttons do, and, basically, gives you a roadmap for getting around what would, otherwise, be a wonderful and powerful piece of software. Then you get to OBSE, the "documentation" of which is nothing more than a list of its functions. I was finally able to find, buried on some webpage, an explanation of what I needed to do in order to launch TESCS with OBSE extensions enabled (editing the shortcut and adding the "-editor" switch), but, again, there's no comprehensive guide to OBSE -- just stuff that seems to assume you already know what you're doing with it. I need to do some serious scripting. I have a lot of it already written in "pseudocode". I don't learn well by peering over lists of functions until my head starts hurting. I like examples. Studying how other people do things is one of the best ways (at least for me) to learn how to use a programming language. Unfortunately, there's no comprehensive guide to using the scripting language built into Oblivion, and taking other people's mods apart and examining them is a nearly fruitless exploration into frustration because most people don't adequately document their code with comments. Where's the repository of useful scripts? Most other languages have them. There seems to be no such place where people share and discuss Oblivion scripts -- just "tutorials" that, again, seem to be written by people who don't remember what it was like to not know what they were doing when they were first learning, or a few "collections" of scripts that tend to be tiny and strongly focused on what seem to be very author-specific features of his own mod(s).
Am I asking too much when I expect that a tutorial or a "manual", or any informational material, for that matter, be designed with the "clueless newbie" in mind when said material is, ostensibly, intended for consumption by such people? I'm not saying to dumb down the documentation -- just not leave things out that make perfectly good sense to you, but which aren't obvious to someone who's never done it, before. That said ... does such documentation exist, either for TESCS or OBSE, and, if so, where is it? Yes, I know. The canned response to a question like this is "just play with it until you know what you're doing". That's not the answer I'm looking for. I don't want to wait a year to release my mod because I have to waste my time trying to learn something from scratch with almost no useful guidelines for how it works, other than tutorials which just skim the basics, when I know there are other people out there who have already invented the wheels I'm trying to create. I've already broken enough things as it is, and have scrapped and re-built what I have of my mod four times, already. I don't want to become yet another would-be Oblivion modder who gives up because the sources of information needed to solve specific problems in a project aren't available.