Seems like this mod is causing some stuttering for me. Was noticing I was having a lot of FPS drops due to my lua mods and this one seems to be the main culprit dipping my FPS from 120 to 90 every 3/4 seconds.
Under which conditions? In cities? In combat? Always? Asking mostly out of curiosity, its unlikely I can do anything about it. This mod is fairly heavy in a context of usual lua mods, but its not really _that_ heavy. It might also be due to the overall amount of lua mods you have, i.e you might be fine if you remove other mods but not Mercy. But all in all it is what it is, there are already optimisations in place, if it currently leads to some fps decrease - nothing comes free I guess. But I certainly don't expect this mod to solely drop fps from 120 to 90. As a wild guess - check that you are not at the limit of your RAM.
Hey! Good news (kind of) You mentioning stutters made me pay extra attention and I started noticing them haha. They are fairly noticeable if you have all my mods installed (this, reanim and hitmarkers). Seems to be partially my fault and partially an engine bug (I was just too fancy with my code and the engine didn't expect that or whatever), In a process of investigating that, will probably be fixed soon-ish.
I didn't test it a ton but was noticing it in sadrith mora a lot, yeah. I don't have hitmarkers installed but I do have reanim. I did have a few other lua mods but this one by far seems to have the biggest problem with the stuttering.
I'm sure you had the same thing now that you've mentioned noticing it as well, it was like every 5 seconds the game would stutter, presumably running some sort of checks? Hoping you can fix it because the mod seems really neat!
I got a pretty beefy PC (32GB of DDR5 ram, rtx 3080ti, amd 7800x3D) but I know mods and game engines can be finnicky even on top end hardware. And from what I could see the only thing causing the issues was my LUA scripts, but again, I'm assuming you probably saw the same thing I did.
Yes, its few seconds inbetween, maybe 3-4 seconds, no matter where you are, but I think its worse when you have some npcs around. Not really checks its a memory-leak issue (kind of), due to some weird reason a fairly innosent part of the mod generates a lot of trash in memory which gets cleaned up every 3-4 seconds (the cleanup is a completely normal thing, lua always does that), but since its just so much trash to cleanup - it creates a stutter. But its all very weird and doesn't even look like the engine should behave like that at all, I asked the devs about it, I'm sure there'll be a fix for this one way or another.
Ok, in the latest version, i tried to work around things that out of my control, probably stutters should be better now, or even completely unperceivable. Also if you are using my hitmarkers mod - it cases the biggest amount of stutters, that one really needs engine-side fixes to work properly.
Just to add to this - I was getting a slight freeze on loading interior/exterior cells with this mod installed. PC couldn't move for about a second as the game was frozen.
@templeofninpo rogue is probably 20 times lighter than Mercy performance-wise. Take cover - don't know. Actually I think I know why that freeze might be happening, for each NPC its reading a behaviour setup file from the disk - probably that's the bottleneck, and most likely I can make it read it only once. And most likely I should've done it in the first place :) I don't have a specific timeline, but ill try to remember to look into it.
Ok, check it now. I moved that file-fetching logic from on-every-actor to once-globally, if that was the culprit - freezes should be gone. If, on the other hand, they are not - then probably its the whole logic that runs to initialise actor's behaviour when it's first spawned. Let me know, I can potentially optimise that as well.
Can confirm this mod is causing my game to heavily lurch every 3/4 seconds even after the update. I have an extensive mod setup so it's probably just the case of having too many Lua mods on top of this being relatively heavy. Amazing mod but I think I'll have to remove it for now.
No noticeable changes. I find it that version 1.2.2 performs better, at least on my build.
I really can't pinpoint the issue, there's some funny behaviour with guards too. Example: a cliff racer wandered in seyda neen, prompting the guards to fight it. Heavy performance hit even after it was dead
Hey everyone - uploaded a separate archive with some experimental optimisation (see it in Files tab, mod manager still downloads the main archive, not the experimental high performance one). This mostly suppose to optimise away out-of-combat stutters. Doesnt affect combat logic much, but will probably improve incombat performance by extension due to reduced load from out-of-combat npcs. I think everything should work fine, but I need people experiencing stutters to try it, and play with it, and tell me if you experience any issues. Mainly that npcs don't get frozen and that their behaviours don't get abruptly weirdly interrupted (like starting to say a voice line that then gets cut in half a second or anything along those lines, i.e things that don't usually happen in non-experimental version).
tried out the new file to see if it'd stop my stuttering, and it didn't really make any difference at all. unfortunate because i really love what this mod does.
@neverwonder - its is fairly unlikely that it makes no difference. Ensure you not running 2 versions of mercy at the same time, and that its actually mercy causing stutters (confirm that there are no stutters when mercy is disabled) Note that this version specifically should improve stutters OUTSIDE combat.
Hey everyone - I've uploaded new experimental high-performance version, this is probably as optimised as it can get. Should also improve in-combat performance now.
I encountered a potential bug where a Ordinator guard did not fight or pursue me, they just run forward and backward with their weapons/hands drawn (does not happen to all of them, the guard did this after I killed someone infront of him). Could be a one time issue though so far. I left the area and came back and he chased me.
Edit: I reloaded the save and the guard was behaving like this before I even killed anyone. This time he casted a spell but it did not hit anymore. After a few seconds he went back to normal.
Hey man, didn't know if this should be a considered a bug. I mean it's not. Technically it's awesome.
Loving the mod.
But, my companion just surrendered and set down all of her inventory.... So I'm sure you can guess what I'm doing... Lol I was just thinking that maybe you could set it up to where companions are less likely to do that specific behaviour. The whole dropping 1000 pounds is a bit of a headache lol.
Anyways great mod, I have nearly all of yours love them thanks for your time and effort man.
The "Stand Back Modifier" don't seen to work well, when is 0 every npc attacks, but when value>0 almost every npc don't want to fight. Version 1.3 experimental
define > 0? Which values did you try? I believe 1 is default, i.e no change from base mod. try setting it to 0.5 if you want npcs to be more reager to attack (but not always). What are you tryting to achieve though?
I'm having bizarre issues with companion NPC choices during combat, and i've narrowed it down to this mod.
Something that is popping up frequently, are the companions choices to put away their weapons and fist creatures to death, regardless of difficulty.
Reloading losing fights because 3 bandits attack and a companion unequips a daedric dai-katana to punch at them helplessly with their level 0 hand-to-hand is only funny the first dozen times or so.
To be clear, this is not a magical creature being immune to mundane weapons, forcing the NPCs to use hand-to-hand. This is NPCs actively foregoing their equipment in deadly situations for no discernable reason.
The interesting thing, is that bringing up the log shows no serious errors, but this does keep firing;
"Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fufill requirements of Equip instruction"
Anytime a NPC is playing shenanigans with their equipment, this is going off.
NPC companion AI is likely last on your list of things to look at when creating a system like this, so I understand that it's lagging behind. If I can pinpoint more exact circumstances, i'll be sure to update this post.
EDIT: I did some testing with multiple NPCS in multiple fights. This one stuck out to me;
This is just me guessing completely, but from the LOOKS of it, everytime the NPC companion seems to have difficulty reaching or tracking the enemy, it swaps out whatever it's using to "try" a different method.So for instance, she takes 5 swings of her sword on a rat, and because of current 0.49 hitboxes, she can't land a hit, so she walks away, unequips the sword, and begins to try to punch it.
That fails for the same amount of time, so she puts the sword BACK on.
The "Equip instruction" command fires off 5 more times after the sword doesn't work, and then she eventually dies to a rat just eating her.
This is just me guessing completely, but from the LOOKS of it, everytime the NPC companion seems to have difficulty reaching or tracking the enemy, it swaps out whatever it's using to "try" a different method. So for instance, she takes 5 swings of her sword on a rat, and because of current 0.49 hitboxes, she can't land a hit, so she walks away, unequips the sword, and begins to try to punch it. That fails for the same amount of time, so she puts the sword BACK on. The "Equip instruction" command fires off 5 more times after the sword doesn't work, and then she eventually dies to a rat just eating her. If this is the case, the script is deciding the weapon equipped isn't effective is firing off FAR too quickly. Even an NPC dodging or running away is causing her to believe that she needs to start punching.
[01:16:16.531 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction [01:16:21.131 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction [01:16:30.763 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction [01:16:37.213 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction [01:17:41.469 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction
If this is the case, the script is deciding the weapon equipped isn't effective is firing off FAR too quickly. Even an NPC dodging or running away is causing her to believe that she needs to start punching.
Been using the experimental version with voices off and enjoying it so far. There something about beating up bandits then taking their stuff and talking to them after that is more satisfying to me than just massacring rabid humans. So, thanks for the great work!
Minor thought/request: occasionally I've had enemies place their items through the floor; is it possible to float their placement a little to protect against this?
I believe the whole "align item with the floor" logic is done by the OpenMW itself - it is certainly possible to reimplement and adjust it within the mod, but it's unliikely I'll do it any time soon. Also I have a gut feeling that those item should be interactable - its possible that some part of them will clip into the ground but atleast a little bit of an item should stick out and allow you to pick it up (i beleive center of the item should always be accessible)... unless OpenMW logic for this actually has an issue with some ground shapes/objects.
Having a lot of fun with the mod! Was a real jumpscare actually seeing an NPC jump for the first time (no pun intended.) Any chance of adding a toggle that disables the surrender mechanic so that people can just take advantage of the enhanced combat AI alone? Also maybe a blacklist for it? I feel that there are situations where NPCs surrender and it just doesn't make sense.
Also, been using the experimental version and the only real difference I've noticed gameplay-wise is that NPCs will sometimes still try to throw hands at me for a few seconds after they've surrendered. It's funny, but fairly non-intrusive -- reminds me of Skyrim NPCs a bit, haha.
Tried it out, and it's a really phenomenal mod! Really impressive work you've done here, though I'm sad to say I won't be using it going forward. I get consistently poor framerate in combat, as bad as a 30 FPS loss in some areas (fighting guards in Ebonheart for example, where in Vanilla I get 70 FPS, and with this mod I get 40 FPS).
Additionally, as a voice actress myself it breaks my heart to see the use of generative AI in this mod. Really disappointed, considering how promising the mod is without it. Hoping for an alternate AI-free version at the very least.
ai voices sound a hell of a lot better than 99% of mod voice acting, i dont want to listen to a 14 year old way too close to his headset mircophone that sounds like the burger king foot lettuce guy pretending to be an orc warrior
If you are curious to try - give a new experimental high performance version a try (its an additional archive in files section). Also I am planning to add an AI voice switch in the future, just need to be reminded about it from time to time haha.
It doesnt seem to work for some reason,i followed on how to install it properly but still nothing,also the f10 log shows red lines similar to the other comments im using 0.49 btw
240 comments
This mod is fairly heavy in a context of usual lua mods, but its not really _that_ heavy.
It might also be due to the overall amount of lua mods you have, i.e you might be fine if you remove other mods but not Mercy.
But all in all it is what it is, there are already optimisations in place, if it currently leads to some fps decrease - nothing comes free I guess.
But I certainly don't expect this mod to solely drop fps from 120 to 90. As a wild guess - check that you are not at the limit of your RAM.
I'm sure you had the same thing now that you've mentioned noticing it as well, it was like every 5 seconds the game would stutter, presumably running some sort of checks? Hoping you can fix it because the mod seems really neat!
I got a pretty beefy PC (32GB of DDR5 ram, rtx 3080ti, amd 7800x3D) but I know mods and game engines can be finnicky even on top end hardware. And from what I could see the only thing causing the issues was my LUA scripts, but again, I'm assuming you probably saw the same thing I did.
Not really checks its a memory-leak issue (kind of), due to some weird reason a fairly innosent part of the mod generates a lot of trash in memory which gets cleaned up every 3-4 seconds (the cleanup is a completely normal thing, lua always does that), but since its just so much trash to cleanup - it creates a stutter. But its all very weird and doesn't even look like the engine should behave like that at all, I asked the devs about it, I'm sure there'll be a fix for this one way or another.
Also if you are using my hitmarkers mod - it cases the biggest amount of stutters, that one really needs engine-side fixes to work properly.
Is the lag related to actor processing range?
Actually I think I know why that freeze might be happening, for each NPC its reading a behaviour setup file from the disk - probably that's the bottleneck, and most likely I can make it read it only once. And most likely I should've done it in the first place :)
I don't have a specific timeline, but ill try to remember to look into it.
If, on the other hand, they are not - then probably its the whole logic that runs to initialise actor's behaviour when it's first spawned. Let me know, I can potentially optimise that as well.
Try it when you'll have some time and let me know!
Which is a pity since the mod is very well done
set this https://openmw.readthedocs.io/en/latest/reference/modding/settings/lua.html#lua-profiler to false
I haven't tested it myself, but it might help.
I really can't pinpoint the issue, there's some funny behaviour with guards too. Example: a cliff racer wandered in seyda neen, prompting the guards to fight it. Heavy performance hit even after it was dead
I think everything should work fine, but I need people experiencing stutters to try it, and play with it, and tell me if you experience any issues. Mainly that npcs don't get frozen and that their behaviours don't get abruptly weirdly interrupted (like starting to say a voice line that then gets cut in half a second or anything along those lines, i.e things that don't usually happen in non-experimental version).
Note that this version specifically should improve stutters OUTSIDE combat.
Edit:
I reloaded the save and the guard was behaving like this before I even killed anyone. This time he casted a spell but it did not hit anymore. After a few seconds he went back to normal.
Loving the mod.
But, my companion just surrendered and set down all of her inventory.... So I'm sure you can guess what I'm doing... Lol I was just thinking that maybe you could set it up to where companions are less likely to do that specific behaviour. The whole dropping 1000 pounds is a bit of a headache lol.
Anyways great mod, I have nearly all of yours love them thanks for your time and effort man.
Something that is popping up frequently, are the companions choices to put away their weapons and fist creatures to death, regardless of difficulty.
Reloading losing fights because 3 bandits attack and a companion unequips a daedric dai-katana to punch at them helplessly with their level 0 hand-to-hand is only funny the first dozen times or so.
To be clear, this is not a magical creature being immune to mundane weapons, forcing the NPCs to use hand-to-hand. This is NPCs actively foregoing their equipment in deadly situations for no discernable reason.
The interesting thing, is that bringing up the log shows no serious errors, but this does keep firing;
"Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fufill requirements of Equip instruction"
Anytime a NPC is playing shenanigans with their equipment, this is going off.
NPC companion AI is likely last on your list of things to look at when creating a system like this, so I understand that it's lagging behind. If I can pinpoint more exact circumstances, i'll be sure to update this post.
EDIT: I did some testing with multiple NPCS in multiple fights. This one stuck out to me;
This is just me guessing completely, but from the LOOKS of it, everytime the NPC companion seems to have difficulty reaching or tracking the enemy, it swaps out whatever it's using to "try" a different method.So for instance, she takes 5 swings of her sword on a rat, and because of current 0.49 hitboxes, she can't land a hit, so she walks away, unequips the sword, and begins to try to punch it.
That fails for the same amount of time, so she puts the sword BACK on.
The "Equip instruction" command fires off 5 more times after the sword doesn't work, and then she eventually dies to a rat just eating her.
This is just me guessing completely, but from the LOOKS of it, everytime the NPC companion seems to have difficulty reaching or tracking the enemy, it swaps out whatever it's using to "try" a different method.
So for instance, she takes 5 swings of her sword on a rat, and because of current 0.49 hitboxes, she can't land a hit, so she walks away, unequips the sword, and begins to try to punch it.
That fails for the same amount of time, so she puts the sword BACK on.
The "Equip instruction" command fires off 5 more times after the sword doesn't work, and then she eventually dies to a rat just eating her.
If this is the case, the script is deciding the weapon equipped isn't effective is firing off FAR too quickly. Even an NPC dodging or running away is causing her to believe that she needs to start punching.
[01:16:16.531 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction
[01:16:21.131 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction
[01:16:30.763 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction
[01:16:37.213 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction
[01:17:41.469 W] Implicitly adding one "silver dagger" to the inventory store of "1car_rangela" to fulfill the requirements of Equip instruction
If this is the case, the script is deciding the weapon equipped isn't effective is firing off FAR too quickly. Even an NPC dodging or running away is causing her to believe that she needs to start punching.
Minor thought/request: occasionally I've had enemies place their items through the floor; is it possible to float their placement a little to protect against this?
Also I have a gut feeling that those item should be interactable - its possible that some part of them will clip into the ground but atleast a little bit of an item should stick out and allow you to pick it up (i beleive center of the item should always be accessible)... unless OpenMW logic for this actually has an issue with some ground shapes/objects.
Also, been using the experimental version and the only real difference I've noticed gameplay-wise is that NPCs will sometimes still try to throw hands at me for a few seconds after they've surrendered. It's funny, but fairly non-intrusive -- reminds me of Skyrim NPCs a bit, haha.
I get consistently poor framerate in combat, as bad as a 30 FPS loss in some areas (fighting guards in Ebonheart for example, where in Vanilla I get 70 FPS, and with this mod I get 40 FPS).
Additionally, as a voice actress myself it breaks my heart to see the use of generative AI in this mod. Really disappointed, considering how promising the mod is without it. Hoping for an alternate AI-free version at the very least.
Also I am planning to add an AI voice switch in the future, just need to be reminded about it from time to time haha.
Also did you install the dependency?