Jump to content

Creating a consistent, stable mod and parsing user feedback


DrHappy

Recommended Posts

I recently released this mod and am very happy with its reception. However, I can't help but feeling a bit overwhelmed with all of the bug feedback and am finding it difficult to figure out what is my responsibility and what isn't. Since this is my first mod, I've never dealt with this before, and was hoping some veteran modders might be able to offer some advice on how to parse user feedback. Users report many errors that I can't replicate. My initial instinct is to take it all on myself and assume that I messed something up somewhere, but I'm not not sure how to debug that which I can't replicate. How do I know what errors are caused by user error, and what are caused by loose coding?

 

In debugging, I've also noticed some anomalies that make me wonder if Skyrim itself (or something else external) is to blame. For instance, I just released my V1.11 update the other day, and in it I use the OnVersionUpdate(version) event to set some variables. I loaded a past save, it worked, so I packed up the files and was ready to put them on the Nexus. Just to be sure, though, I exited Skyrim and did it again. This second time, though, the OnVersionUpdate even never fired. I loaded the exact same file with the exact same compiled script in place, but for some reason the event did not shoot off. I freaked out and looked at the file again to see where I messed up, then tried one more time, and it worked. I repeated this several times and couldn't get the OnVersionUpdate() to not fire again. I don't know how to explain this behavior and am wondering how I can make my mod stable in the face of this randomness.

 

Another example. In another save which did NOT previously use my mod, I loaded the game and my widget was not visible. I adjusted all of its features and couldn't get it to show up. After fiddling around loading different files, I realized the widget would not show up if I started Skyrim, loaded another save game, then loaded this saved game. But if I just loaded this saved game first after booting up Skyrim, everything worked as it should.

 

Maybe these are very specific errors that can be explained by shoddy coding on my end. I'm just curious if others experience this stuff, and how you might deal with it when debugging.

 

Any help or advice on how to navigate here, or just how to be a more responsible modder, is much appreciated. Thanks!

Link to comment
Share on other sites

One thing, that I noticed when equipping 20 guards with an OnLoad event that changes their armors is, that Skyrim sometimes randomly just skips a script. In 99% of cases a quick reload (f5 => f9) fixed the issue. This problem seems to get worse the more scripts are running simultaneously. Could be caused by Script Lag (the time a script needs to be executed) or a memory overflow or something like that. I guess that happened to your OnVersionUpdate.

 

So just because your code is fine does not automatically mean Skyrim runs it fine. I am not sure if there is a way to avoid this. You could try to design your code in way that lets you check if it was executed properly. For example set a boolean var to true if the script has finished and check it from elsewhere. Besides that: Testing, testing and even more testing. If you made some critical changes, you could release a Beta version first and wait for user feedback.

 

But be assured you are not responsible for every bug someone reported to your file. Many issues are either caused by Skyrim being buggy or users using to many mods.

 

--------------------------

Edit:

here are a few usefull links concerning code design of papyrus script:

http://www.creationkit.com/Threading_Notes_(Papyrus)

http://www.creationkit.com/Persistence_(Papyrus)

http://www.creationkit.com/Save_File_Notes_(Papyrus)

http://www.creationkit.com/FAQ:_My_Script_Doesn%27t_Work!

Edited by DarthWayne
Link to comment
Share on other sites

Thank you! I will definitely check out all of those links. I think my code could definitely do with some optimization. Some users have reported it has like a second lag or so when pressing buttons... Perhaps this could cause further problems elsewhere. Thanks for your help.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...