Operand Posted March 25, 2021 Posted March 25, 2021 As a disclaimer - I'm not really a modder and I started doing it for a bit of fun and because I had an idea for a very long time that I wanted to implement. Now I think I'm pretty close to something playable there, but I have quite a bit of things to consider. I'd like to ask esteemed authors here who released some "big mods". "Big" not in terms of popularity, but in terms of how much change those mods bring and how much effort they took to release and maintain. Here's what I have in mind: How do you document mod changes in-game? I mean, in an engaging and easily accessible way? For example, if after the installation the mod adds hundreds of items / dozens of mechanics and whatnot - how do you make sure players are aware of it? I can think of writing the documentation posts, but.. Not everyone is even aware that there are forums/articles etc. Especially if we talk about Nexus People may be just reluctant to go read stuff on some external resource. It's not fun and it's breaking the flow of the game. How do you test things properly? The mod I have now brings a lot of mechanics, some of which are complicated and interact with each other and the game world in many ways. There are just so many things that can go wrong and a lot of those things I probably don't even have in mind, least to say tested. Of course, I can just use the "oh, it's free, so no complains" card, but I feel that's just disrespectful to those who installed the mod How do you let players know about the stuff that's not obvious? Here I mean that - sure, some of the things will be discovered right away because for instance, some quests or systems auto-start, player won't need to do anything to find out they exist. But what if the certain event/mechanics/whatnot have a certain condition to fulfill? Or that PC can't even get those in a single playthough? How do you maintain the integration with other mods? The mod I'm working on integrates with at least 5 mods here on LL and in some cases I rely on features which did not exist in previous mod versions. I can easily imagine that backwards compatibility can be broken should those authors decide to do so in future updates. Do you account for that? Do you just ignore it and hope it works? For the record - here I mean "proper" integration via external mods APIs rather than adding those as hard dependencies. Do you care about licensing of/for your assets? Just to be clear - I didn't use any other modders assets and I created mine as a derivative of other art works in the internet where it was explicitly stated that it is allowed - or the works I bought on steam which allows even commercial use. I'm asking in the sense that: You make sure all your assets are something that you have the right to use You license the assets according to the original permissions and also you set restrictions / permissions for the mod users to do so How do you go about people just reusing your assets without even asking? My approach here is that I want to allow any assets usage so long as it is for the work which I agree with (so if for instance I don't like the direction in which such a work is going - I think I should have the right to deny the assets usage). If you can think of any other things I should consider when releasing a rather big mod that changes a lot in the game - please let me know.
Shakx88 Posted March 25, 2021 Posted March 25, 2021 40 minutes ago, Operand said: How do you document mod changes in-game? I mean, in an engaging and easily accessible way? For example, if after the installation the mod adds hundreds of items / dozens of mechanics and whatnot - how do you make sure players are aware of it? I can think of writing the documentation posts, but.. Not everyone is even aware that there are forums/articles etc. Especially if we talk about Nexus People may be just reluctant to go read stuff on some external resource. It's not fun and it's breaking the flow of the game. You could create some tutorial quests or in-game documents (like books in skyrim) explaining the content in an immersive way. 42 minutes ago, Operand said: How do you test things properly? The mod I have now brings a lot of mechanics, some of which are complicated and interact with each other and the game world in many ways. There are just so many things that can go wrong and a lot of those things I probably don't even have in mind, least to say tested. Of course, I can just use the "oh, it's free, so no complains" card, but I feel that's just disrespectful to those who installed the mod You could spend a lot of time playtesting, find a couple of people who can playtest. Or there is always the concept of beta versions - those users who are willing can install those possibly unstable versions and report bugs if they find any. 44 minutes ago, Operand said: How do you let players know about the stuff that's not obvious? Here I mean that - sure, some of the things will be discovered right away because for instance, some quests or systems auto-start, player won't need to do anything to find out they exist. But what if the certain event/mechanics/whatnot have a certain condition to fulfill? Or that PC can't even get those in a single playthough? Same as number 1. 45 minutes ago, Operand said: How do you maintain the integration with other mods? The mod I'm working on integrates with at least 5 mods here on LL and in some cases I rely on features which did not exist in previous mod versions. I can easily imagine that backwards compatibility can be broken should those authors decide to do so in future updates. Do you account for that? Do you just ignore it and hope it works? For the record - here I mean "proper" integration via external mods APIs rather than adding those as hard dependencies. Specify what versions of other mods your mod works with. Update your mod if needed. 47 minutes ago, Operand said: Do you care about licensing of/for your assets? Just to be clear - I didn't use any other modders assets and I created mine as a derivative of other art works in the internet where it was explicitly stated that it is allowed - or the works I bought on steam which allows even commercial use. I'm asking in the sense that: You make sure all your assets are something that you have the right to use You license the assets according to the original permissions and also you set restrictions / permissions for the mod users to do so How do you go about people just reusing your assets without even asking? My approach here is that I want to allow any assets usage so long as it is for the work which I agree with (so if for instance I don't like the direction in which such a work is going - I think I should have the right to deny the assets usage). Since all the assets I've worked so far is code, I usually go for GNU GPL. But it's totaly up to you.
Operand Posted March 25, 2021 Author Posted March 25, 2021 13 minutes ago, Shakx88 said: You could create some tutorial quests or in-game documents (like books in skyrim) explaining the content in an immersive way. I was thinking about books, but the problem is that there must be too many books then. I'm looking just at the feats that are already implemented and it's closing it at 100 and I think I'm not even half done with them. Same for spells, then go other things etc etc. If I implement everything, then it's maybe half a thousand of books necessary. That seems.. excessive. Besides.. how many books did anyone honestly read in Skyrim.. eh. 13 minutes ago, Shakx88 said: Since all the assets I've worked so far is code, I usually go for GNU GPL. But it's totaly up to you. In my case it's the code, the textures, the visual effects, things like projectile objects and sounds. Some of them are attributed with CC 3.0 and some allow the commercial use once bought. Almost all of them are derivatives, i.e. I transformed the original asset and/or combined with others where license allows. So I'm not sure how does GNU help me here. 13 minutes ago, Shakx88 said: You could spend a lot of time playtesting, find a couple of people who can playtest. Or there is always the concept of beta versions - those users who are willing can install those possibly unstable versions and report bugs if they find any. I already spent a lot of time on that, plus invested a lot of effort into creating an elaborate logging which allows to quickly trace and identify sources of issues, but nothing can be perfect. Right now my bar is "it seems to work as I want it to and there are no warnings or errors in papyrus". Plus I have some debug routines which help me to inspect some inner systems state and with that I can at least verify if things are working as intended. The challenge here is that with so many things to test it might never go out of the beta version if I go this route. Besides, if I'm to release more stuff then it will again add to the "instability" and prolong the beta-version status. Again, I can just wave my hand and state that "it's on your own risk" but I feel that it can be done better. But I think overall the idea of other people playtesting does make sense.
Shakx88 Posted March 26, 2021 Posted March 26, 2021 12 hours ago, Operand said: I was thinking about books, but the problem is that there must be too many books then. I'm looking just at the feats that are already implemented and it's closing it at 100 and I think I'm not even half done with them. Same for spells, then go other things etc etc. If I implement everything, then it's maybe half a thousand of books necessary. That seems.. excessive. Besides.. how many books did anyone honestly read in Skyrim.. eh. Then do tutorial quests. You can put any explanations into dialogues. Or you can force players to read a book via a tutorial quest by making it impossible to progress without actually reading the book and understanding what is written within. I mean, you have to write a guide somewhere anyway. 12 hours ago, Operand said: In my case it's the code, the textures, the visual effects, things like projectile objects and sounds. Some of them are attributed with CC 3.0 and some allow the commercial use once bought. Almost all of them are derivatives, i.e. I transformed the original asset and/or combined with others where license allows. So I'm not sure how does GNU help me here. Well, GNU GPL is a common license for open-source applications. Unless you want to prevent others from using your code in certain ways, it is what I'd go for. CC 3.0 doesn't allow you to prevent others from using, sharing or modifying the product (to my understanding). As for other licenses, you will have to read their conditions and permissions.
tzenrick Posted March 26, 2021 Posted March 26, 2021 1. A mod-quest that teleports you to a "magical space" where the things you do don't affect the "real world." Make the user test and try everything that isn't self-explanatory, then remove any items that they're going to have to find in the "real world" and send them on their way. 2. I play the hell out of it myself with all of the logging enabled, then I comment out the "excessive" logging, release to the public, and stand by to correct bugs and re-release as needed. 3. See #1 4. Specify "tested" versions. Use a lot of IF statements to test the capabilities of the associated mods to see if they function as expected. Set flags within your own mod to indicate features that fail so that you're only testing them once and not every time they could possibly activate. 5. Consider anything you release to be public and put it under a Creative Commons license. People are ultimately going to do whatever they want anyways. Anything you attempt to "copyright" to prevent certain types of distribution or modification can be circumvented by "clean room" rebuilding of the functions. Your copyright won't matter if they change all of the text and maintain the same functionality. Put clause in there that "Distribution is with reciprocation, send me your source code before you distribute it. It's not for approval, just for change tracking" or "Source must be available in full on GitHub." I've always been a fan of cathedral modding over parlor modding as I believe that knowledge should be open source. Everyone can work together and make improvements to make things better. Quote When Michael Jordan signed his first professional contract it came with a unique clause allowing participation in competitive off-season pickup games. Specifically, this clause allowed for Jordan’s “Love of the Game” (a desire to play anywhere, anytime), regardless of potential liability. Mod the game for the love of the game.
Operand Posted March 26, 2021 Author Posted March 26, 2021 1 hour ago, tzenrick said: 5. Consider anything you release to be public and put it under a Creative Commons license. People are ultimately going to do whatever they want anyways. Anything you attempt to "copyright" to prevent certain types of distribution or modification can be circumvented by "clean room" rebuilding of the functions. Your copyright won't matter if they change all of the text and maintain the same functionality. Put clause in there that "Distribution is with reciprocation, send me your source code before you distribute it. It's not for approval, just for change tracking" or "Source must be available in full on GitHub." The point wasn't about "copyright enforcement" (like - come one, who can suggest that while being serious). It's just to learn other people experience in dealing with types of behavior when there are others reusing the assets without giving any credit and/or works that I personally don't agree with. Well I guess there's not much that can be done here. 1 hour ago, tzenrick said: 2. I play the hell out of it myself with all of the logging enabled, then I comment out the "excessive" logging, release to the public, and stand by to correct bugs and re-release as needed. I tend to disagree on this one. Excessive logging needs to be there when released into public - otherwise, if someone starts having issues, there won't be logs available. For the stable releases - maybe yes, but that was also a question, i.e. how to achieve that stable state (or as an alternative just forget about it and "hope it works") 2 hours ago, Shakx88 said: Then do tutorial quests. Haven't done any tutorial quests but maybe that's the best option. Though it will need to be some arrangement which fits the theme.
Invictusblade Posted March 26, 2021 Posted March 26, 2021 On 3/26/2021 at 6:53 AM, Operand said: As a disclaimer - I'm not really a modder and I started doing it for a bit of fun and because I had an idea for a very long time that I wanted to implement. Now I think I'm pretty close to something playable there, but I have quite a bit of things to consider. I'd like to ask esteemed authors here who released some "big mods". "Big" not in terms of popularity, but in terms of how much change those mods bring and how much effort they took to release and maintain. Here's what I have in mind: How do you document mod changes in-game? I mean, in an engaging and easily accessible way? For example, if after the installation the mod adds hundreds of items / dozens of mechanics and whatnot - how do you make sure players are aware of it? I can think of writing the documentation posts, but.. Not everyone is even aware that there are forums/articles etc. Especially if we talk about Nexus People may be just reluctant to go read stuff on some external resource. It's not fun and it's breaking the flow of the game. How do you test things properly? The mod I have now brings a lot of mechanics, some of which are complicated and interact with each other and the game world in many ways. There are just so many things that can go wrong and a lot of those things I probably don't even have in mind, least to say tested. Of course, I can just use the "oh, it's free, so no complains" card, but I feel that's just disrespectful to those who installed the mod How do you let players know about the stuff that's not obvious? Here I mean that - sure, some of the things will be discovered right away because for instance, some quests or systems auto-start, player won't need to do anything to find out they exist. But what if the certain event/mechanics/whatnot have a certain condition to fulfill? Or that PC can't even get those in a single playthough? How do you maintain the integration with other mods? The mod I'm working on integrates with at least 5 mods here on LL and in some cases I rely on features which did not exist in previous mod versions. I can easily imagine that backwards compatibility can be broken should those authors decide to do so in future updates. Do you account for that? Do you just ignore it and hope it works? For the record - here I mean "proper" integration via external mods APIs rather than adding those as hard dependencies. Do you care about licensing of/for your assets? Just to be clear - I didn't use any other modders assets and I created mine as a derivative of other art works in the internet where it was explicitly stated that it is allowed - or the works I bought on steam which allows even commercial use. I'm asking in the sense that: You make sure all your assets are something that you have the right to use You license the assets according to the original permissions and also you set restrictions / permissions for the mod users to do so How do you go about people just reusing your assets without even asking? My approach here is that I want to allow any assets usage so long as it is for the work which I agree with (so if for instance I don't like the direction in which such a work is going - I think I should have the right to deny the assets usage). If you can think of any other things I should consider when releasing a rather big mod that changes a lot in the game - please let me know. 1. I am really bad at this, I try to keep it simple. you don't want to give away too much while not telling anything. so here's a story, I studied game design at Uni, and one Article I kept reading is about Ultima 4, a Highschool Teacher uses Ultima 4 for an assignment. he lets his students play the game but over the years, the understanding of the game became increasing more problematic with each passing year. the first generation read the manuals and could find out the hidden features by playtesting the later generations didn't read the manuals and could barely play it the game didn't change but the players did. so as mod authors, we are stuck in the middle of this. we want players to enjoy and "abuse" our game systems but we have to understand that some player are idiots also a critical thing to remember is that not all of us speak or read the same language. 2. slowly and repeatability. so at the moment, I am testing a new mechanic for ROF which changes the hair style of each and every NPC in the game. so I have written the script and compiled it in a mod, I have it set to be active when a NPC wears the armor and then I test with a NPC to see what happens, The answer is something but nothing noticeable then I test with the player, and it works this becomes even more annoying when it works for one thing but not the other 3. well, my plans with this idea went up with smoke so I have made a separated MCM Help File. 4. my preference is to create combination mods for the end of a load order. but if it is minor, such as Zaz Particles then I add a Game.GetFormFromFile to the script 5. I try to special thank everyone, but I should really change some of the my magazines to use less illegal images(from Rebecca, for instance) finally, as someone who released a big mod(I supposed), relax and follow the advice of a Good Book DON'T PANIC
Operand Posted March 27, 2021 Author Posted March 27, 2021 9 hours ago, Invictusblade said: DON'T PANIC Oh it would take so much more than a failed mod release for me to panic The question was about "best practices" rather than "to do or not to do". I would proceed even if everyone here would yell at me an tell me to absolutely abandon the idea.
Invictusblade Posted March 27, 2021 Posted March 27, 2021 26 minutes ago, Operand said: Oh it would take so much more than a failed mod release for me to panic The question was about "best practices" rather than "to do or not to do". I would proceed even if everyone here would yell at me an tell me to absolutely abandon the idea. look at Companion Ivy Thread, million and one times they said that AFT is not supported but every second post is complaining that AFT is not working with Ivy (or whatever the flavor of the day it is) I know Nexus is Apparently worse than Lovers Lab but remember there is the death of thousand cuts. just have a look at my signature for a problem area a couple of years ago
Recommended Posts
Archived
This topic is now archived and is closed to further replies.