Good morning!
I've been meaning to post this for a bit, but RL has been keeping me too busy. I'm also working on testing the new (and frequent!) updates to DF 2010, which really cuts into my modding time.
That said, I'd like to start a discussion about something important for modders, and mod-users.
I make my own mods (MMO conversion is underway, for those who care), and I also use mods from many of the other talented and creative modders who post their creations here and on DFFD. I have the highest respect for people willing to devote their time and creative energies to make MY game more fun, and for free no less!
But there are some simple things that could be done to make this process easier and smoother for new users, and experienced modders alike.
Here are my thoughts, and discussion is freely encouraged.
1. Please include a readme.txt with EVERY mod file posted. It's extremely easy to separate a mod archive from the header information that describes it, leaving you with a mod that you're not QUITE sure what it does. The readme doesn't have to be encyclopedic, especially if you want some "HFS" in there of your own, but a quick summary of the concept, at least, as well as your ownership info, would be very helpful. I've got dozens of 40D and older mods that I just don't know WHAT they do, or who made them, since the creators failed to include that critical information. Related to that, make sure that you always give proper credit for the ideas and content you've stol...err, incorporated, into your mods! Proper credit makes for happy creators, and happy creators make more cool mods!
2. If you are adding content, create NEW files, don't use existing files. This is especially important right now, when the canonical files (from Toady) are being updated on a weekly basis. If, for example, you add a new weapon to item_weapon.txt, and then two days later Toady uploads a new DF version, any user who uses your mod runs the risk of backdating over his changes/improvements.
3. Now, obviously, if you are CHANGING existing content, modifying the standard files is necessary. In this case, a readme file (see above) is even more important, as well as in-file comments clearly indicating what has been changed. This makes it possible for users to either carry your changes forward into new versions, OR merge them with OTHER changes to the same file.
4. Only include relevant files in your archive. I can't count the number of times I've downloaded mods where the user just took the total contents of their raw/objects folder and distributed it (usually with no documentation). If, for some strange reason, you actually DID change every single one of these files, fine. But usually only a few changes have actually been made, and sending irrelevant files can cause major problems down the road.
5. Test your mods before distributing them, and make sure that you're either NOT generating any error messages, OR document any you are generating, and why. An experienced modder will probably be able to fix anything you distribute that's broken, but many new(er) users won't be able to (easily).
6. Be careful to follow standard (Toady-approved) file use and directory structure. Adding appropriate sub-directories (such as under graphics) is fine, and can actually help keep your content organized effectively. For a major mod, keeping different types of content in appropriate files (ammo in item_ammo_mymod, armor in item_armor_mymod) is logical, and helps the user find any of your content if necessary, but for smaller mods combining compatible items (items_mymod) probably makes more sense, to avoid having a dozen sub-1-k files to archive.
7. Always remember that while your mod may be totally great and awesome, it's also quite likely to be used alongside OTHER equally great and awesome mods. Keeping your files, clean, unique, and as compact as possible, along with appropriate explanations, will dramatically reduce inter-mod conflicts, as well as making SOLVING the ones that inevitably crop up much simpler.
8. For really complex mods, give careful thought to using one of the mod-merging utilities, such as Uristmod, to allow your content to be merged into existing files. Again, the utility of such an approach depends on the scale of your changes. If you're altering a given file SO much that little of the original content remains, it's probably more sensible to just include the altered file.
9. Be MOST careful about changes to key files like creature_standard and entity_default, since these are the places OTHER folks are most likely to be making changes also.
10. Have fun! That's what it's all about after all. If you have a question, or aren't sure about something, ask. It's almost a certainty someone here will be able to help you, and if a simple questions prevents a formatting/conflict issue, everybody will benefit in the long run.
I fully understand that not everyone here is a professional documentation specialist (like me), and that most mods won't include an obsessively detailed list of changes and information. BUT, I do think that a little more effort put forth by the community, especially NOW when, as they say, everything old is new again, would help make inter-modding conflicts a lot less frequent and annoying.
As always, I'm happy to have my ideas discussed/commented on. Feel free to post, positively or otherwise.
Rochndil, back to mangling reaction_smelter.txt...