antistar Posted August 26, 2017 Share Posted August 26, 2017 I released Clockwork about a year ago now, and some users - very few users, as far as I can tell - seem to encounter a rare and random issue where quests in the mod just won't progress. It doesn't happen in the same place for everyone; it's as if - sometimes, for some people - the script fragments (on dialogue or whatever) that set the next stage of whichever quest are just not firing. As far as I can tell, again. I've never had it happen to me (and I ran through these quests countless times when making the mod), and tens of thousands of people have played the mod without running into this issue - but every week or so I get another person reporting the same kind of problem. So it seems very rare, but it's still quite frustrating, as I have no idea what might cause it. My best guess is that it's a result of Skyrim's scripting engine getting overwhelmed because someone is running too many "script-heavy" mods and/or their system isn't powerful enough to handle the game. I do seem to get more reports of this kind of issue from XB1 users. I've just had to tell people to load an earlier save and try again. It's the best advice I've been able to give, which is unfortunate because it's likely not very useful for people in that situation; they probably won't know that some quest trigger hasn't fired properly until some point later on, or when it failed exactly, and who knows whether they saved before or after that point, etc. Does anyone have any ideas on this? I've searched around for information on it without any luck. Link to comment Share on other sites More sharing options...
OblivionRanger Posted August 26, 2017 Share Posted August 26, 2017 Have you received log info or load order from anyone reporting problems?BTW - read through the description - and that sounds like an awesome quest/mod! Link to comment Share on other sites More sharing options...
antistar Posted August 27, 2017 Author Share Posted August 27, 2017 Thanks. :) I am quite proud of it - rare annoying issues notwithstanding. Anyway, no; I haven't asked for log info; the issue happens at random places for random people, so I don't have logging set up for anything that would be helpful. To be honest I'm not sure how I'd go about that, either; the script fragments that are apparently failing are usually about as simple as you can imagine. A setstage of course, sometimes an enable/disable or two... I think I've received the occasional load order, but I probably should just start asking for it from anyone who reports this. That is a good suggestion; thanks. Kind of a long-term thing that may or may not help in the end, but it's about all I've got to go on at the moment. Link to comment Share on other sites More sharing options...
foamyesque Posted August 27, 2017 Share Posted August 27, 2017 If something triggers a stack dump, Papyrus might be discarding your events. The timing would be rare, intermittent, and could be caused by something entirely unrelated to your quests or their scripts. Seeing if anyone who has reported this had logging on and, if so,what it might have said could confirm this (since stack dumps produce a very obvious trace in the debug log). Link to comment Share on other sites More sharing options...
antistar Posted August 27, 2017 Author Share Posted August 27, 2017 Stack dumps; alright, thanks. I think I've only vaguely heard about them before. Link to comment Share on other sites More sharing options...
foamyesque Posted August 27, 2017 Share Posted August 27, 2017 (edited) Stack dumps; alright, thanks. I think I've only vaguely heard about them before. Basically what happens is it's possible to generate events faster than papyrus can process them. They get queued for a while, but at a certain amount -- I don't know the exact number -- Papyrus just starts saying 'nope, won't process' and dumps everything coming in until the queue shrinks. The easiest way to trigger one is an OnItemAdded or OnItemRemoved event firing on a large container (e.g. the player's inventory or some QASmoke containers). The logging of it is pretty verbose and spikes the logfile size tremendously. Edited August 27, 2017 by foamyesque Link to comment Share on other sites More sharing options...
nerdofprey Posted August 27, 2017 Share Posted August 27, 2017 I'm not saying this is the problem (it's probably not) but really for anyone dealing with similar issues it's food for thought: I just recently released my first extensive quest mod, and one of the things that took a long time to hammer out was anticipating the weird choices players would make that would break my quests. After months of testing, I determined that everything worked flawlessly if I did all the steps in the right order, but unfortunately I left way too much wiggle room for people to try to do stuff out of order. I got SO MANY reports of quest stages not working, NPCs not appearing, all manner of awful problems, and I was tearing my hair out figuring out why I couldn't reproduce the issues on my end. Finally I figured out that players were not doing the steps in the correct order... because the quest stages outlined in the journal, or indicated by quest markers, were simply not holding their hands and connecting the dots for them the way they should. It would be easy to say this was simply user error, but that's not really fair. The problem was mine. I had not made the steps clear enough, or built in enough contingencies for unusual player decisions. I had assumed things would be obvious that were not obvious.Eventually I went in and reworked the quest stages such that they provide a lot of hand-holding. I wasn't super happy that I had to do that, but the "bug reports" regarding quest stages have slowed to a trickle.Just to name some examples:My quest has a rescue scene where you break an NPC out of jail. For the quest to progress, the player has to free the NPC and then talk to her. A lot of people just freed her and left without having that conversation, and the entire quest would break at that point.There was also an important scene that would happen as the player was about to exit the room. A lot of people were using mods that let them fast travel from indoor locations, and they would never walk to the exit, the scene wouldn't happen, and the entire quest would break.After people left the building, there was a conversation available that would start a new quest objective. This didn't have conditions set that required the previous steps to be complete. Anybody that skipped the steps I mentioned before - didn't talk to the NPC, fast traveled out of the room - would still get this next quest objective and THINK they were doing it right, but the quest would be permanently broken at that point, because the previous stages couldn't be done out of order. Now the quest stages don't go "free the person, escape," they go "free the person, talk to the person, walk out of the room, talk to her outside the room." And so on from there. I've only had one person who got it wrong after that, and I can now safely say "user error." Again, I'm not saying this is the problem with YOUR mod, and it's probably not. But these were valuable lessons, and I figured it would be worthwhile to share with other modders working on quests... Players are wily, and they might make "interesting" choices. Link to comment Share on other sites More sharing options...
antistar Posted August 28, 2017 Author Share Posted August 28, 2017 Basically what happens is it's possible to generate events faster than papyrus can process them. They get queued for a while, but at a certain amount -- I don't know the exact number -- Papyrus just starts saying 'nope, won't process' and dumps everything coming in until the queue shrinks. The easiest way to trigger one is an OnItemAdded or OnItemRemoved event firing on a large container (e.g. the player's inventory or some QASmoke containers). The logging of it is pretty verbose and spikes the logfile size tremendously.Thanks for the info. Users with issues like this sometimes say that it keeps happening when they load an earlier save, but it's difficult to know if it is happening again or if they've just loaded a save made after the issue occurred. Recently though I had a case where it seemed like someone was having it happen in the same place; twice, but then the third time worked. If I hear from someone like that again, I'll try asking them to enable logging. I'm not saying this is the problem (it's probably not) but really for anyone dealing with similar issues it's food for thought: (snip)Yes, this sort of thing is extremely important. I put a lot of effort into stopping players from getting into that kind of situation in Clockwork. For example there are a few parts where someone needs to talk to a character before proceeding - and most players will - but in case someone doesn't and tries to leave or whatever... they'll find that the door's locked until they talk to the character. Most players will never notice... but just in case. There's always a chance that I missed something (and the chance that the player does something crazy and unforeseen via another mod they've got installed, of course), but I put a lot of time into this stuff, so that's probably not what's happening for these users. Link to comment Share on other sites More sharing options...
Recommended Posts