FieryVortessence Posted Monday at 12:04 PM Author Posted Monday at 12:04 PM (edited) 8 hours ago, JonX67 said: Hey there this sounds like a great addition to SA's arousal system, and the gameplay overall. So, I'll bravely give it a try However, when installing (via Vortex) SHtick asks for the HUD Framework as its Master. That wasn't in my load-order so I did install it for now and will start a quick test shortly. You might want to check if you missed to mention a dependency in your description or why it is asking for this additional mod. Anyway, thanks for sharing this one! Could be a great deal of fun! I botched the initial release package badly and included an earlier failed branch of this thing. I spent so much time compiling outputs that I forgot I changed the output dll filename along the way and just stuck the wrong one in the package. I was originally using HUD Framework and some other absolutely wild workarounds to try and get this thing to work. I also just confirmed that I think the .esp I shipped has a stale hudframework dependency. I have uploaded a new file to fix that, thanks for bringing it to my attention, super helpful! I am pretty confident this thing is OG-only at this point. But on the bright side, the main Shtick DLL doesn't appear to be inherently tied to OG. I did some digging and realized I'm compiling it against an older CommonLibF4 setup that is OG-specific. The Shtick source itself doesn't appear to be doing much that is inherently runtime-specific, so I'm cautiously optimistic that moving it to a newer multi-runtime CommonLib build may get us most of the way there. I'm going to work on it. I probably should have been using an AE/NG compatible version of CommonLib from the start, but Im learning from this one. Edited Monday at 01:49 PM by FieryVortessence 2
FieryVortessence Posted Monday at 12:33 PM Author Posted Monday at 12:33 PM Okay I got a new package up that removed the stale master for HUD Framework in the esp. For everyone helping me test this thing out, I think this will be helpful, should have listed it in the original post (I'll go back and add it) cqf ShtickAAFQuest DebugStart cqf ShtickAAFQuest DebugStop Debugstart will pop up the HUD during gameplay. it doesnt interfere with anything at all and it doesnt interface with anything at all. But the mechanics of the game and the display will pop up hopefully. You should be able to play the game, the NPC Progress bar will move. It just doesnt feed anything back into Sex attributes, so the return side of the system is not plugged into the AAF plumbing.
FieryVortessence Posted Monday at 01:22 PM Author Posted Monday at 01:22 PM (edited) 7 hours ago, MSM_Alice said: Yes, I absolutely did want those, and because no one (as far as I could tell) was doing it with the degree of nuance I wanted back in 2025, I built the Sexfight Minigame from the MSMA mod using Papyrus, plus kept building a consequence for outcome system that carries on to outside AAF as well, and made the outcomes matter (as winning/losing brings about consequences, tied in with the story premise). The above it NOT a critique, just happy there is more activity in this space, more options for AAF minigames (from someone who can actually put together DLLs and not just Papyrus scripting, no less) is far better than fewer minigames, to be applauded, and if this is a framework, I will be looking at it closely and full of hope to see if I can integrate it as an alternative to the current MSMA Sexfight minigame gameplay mechanic to have fun with the friendlies or "defeat" the aggressors. Will probably have to adapt the concept of timed challenges/ timed aswer to challenges, and the "difficulty" factors, tied not only to player status but also the partner's status, conversational context, mental landscape, physical size, and the personal preferences/fetishes of the participants, also feed into this "difficulty input" (as they do in the old minigame); All that self-esteem and willpower, arousal are already being used . But there is probably a way to do "translations" of these concepts into "Schtic" inputs. There's also the challenge of how the adaptation should handle multi-actor animations and what are the win conditions/partial win conditions there, where there can be several "targets", each with their own separate difficulty, The way I solved the Arousal limitations is not by patching the Sex Attributes script to add an extra, direct control lever for it, because there are many mods that play with it , scale, it, block it, and do all sorts of things to it that are hard to extrapolate. So to have some form of control over the gameplay experience that is consistent (and not mysteriously blocked), I resolved to also creates a second, parallel "Arousal-like" variable called "extra pleasure" that both the player and the other participants have ( not an Actor Value, but rather something that is spun up only for that particular instance of the minigame) , and that one I manage separately without stepping on any toes, and that can serve as a secondary orgasm condition (and a trigger for other factors), and I only call ModifyArousal as needed, but not super-core. If I am able to integrate Schtic minigame into MSMA, I can easily draw on any of its exposed globals that you originally intended to drive arousal to also ( or instead) drive the "extra pleasure ", in a way to make the minigame output meaningful, even without any external dependencies, like an edited Sex Attributes script. If this is meant to be a framework, and not necessarily a mod: Are there any exposed minigame Difficulty inputs at script level? ( aside from trying to do so by "gaming" the SA variables that are already being tracked). Can the aggressive nature of an interaction be set rather than inferred from animation tags? Are there any exposed real-time Minigame outputs at script level so one can figure out how well the player is doing? Is the multi-actor aspect being handled in any way, and if so, how? Or is it only meant to be focused on just the player and their stats, and other partner context ( physical/,mental/their own separate arousal/ their own separate pleasure and orgasms) do not yet matter at all? Trying to figure out how I can include it as a layer into a gameplay system that tracks a LOT of variables/context and goes beyond the AAF scene. You're going to have to forgive my embarassment at botching the public release package so badly. Im not convinced anyone has gotten it to work yet. If you get a chance to install and test it, use the console debug commands I use to start the game. It doesnt wire back into any of the outputs, but the input side works, and the progress bar will work, and you can actually play it. cqf ShtickAAFQuest DebugStart cqf ShtickAAFQuest DebugStop Please tell me you're getting it to work, lol. Regarding all of your other questions.... Your mod was the inspiration for mine, but Im a little afraid of it, never got a chance to actually try it! I just knew i wanted something that was relatively tactile, and felt a little like work, or fun, depending on context. I figured it might get your attention specifically because you'd already attacked a lot of the same problems from the Papyrus side. I dont know if you ran into all the insane problems I did trying to get inputs to be reliable and work well, but I suspect you might have, and so i specifically wanted modders like you to see how I solved it (MenuFramework) so you all could leverage it in your own builds. But maybe it's an already sovled issue? I just had a very bad time trying to punch this through papyrus. My end goal for this to have it replace Sex Harassment and SEU in my load order. I dont think I'm going to pull that off. But the minigame interface is a component of that larger goal. I just decided i had to pick one side of it to work on first, and this is what I worked on first. So in a sense, it WAS intended as a framework, but for my own mod. But that doesnt mean I didnt want anyone else to use it. I'm publishing it as it is for a reason beyond just beta test experiments. I am not sure how to answer the rest of your post just yet. I still have a bunch of tuning to do on this. And all the AE/NG users are making me want to go down the rabbit hole of how to make it compatible with their builds. (If anyone wants to recompile the source code against a newer common library and test it, youre welcome to) So regarding Shtick working with your mods or other mods..... It may actually be uniquely well suited to it. Once I get it reliably working across everyone else's builds, I could expose a relatively small API for other mods pretty easily. I'm still trying to wrap my head around exactly what that API should look like, though. Internally Shtick already knows basically everything happening in the minigame in real time: current participation (-50 to +50), NPC/scene progress (0-100), player arousal, whether the player is in loss-of-control state, whether the game is active, etc. So exposing those values for another mod to read should be pretty straightforward. Likewise, I could expose inputs so another mod could tell Shtick something like: "start a game, this encounter is aggressive, use this difficulty/tempo modifier, start the player with this participation bias," and then let Shtick handle the actual tactile minigame. Where I'm less certain is what you would actually want Shtick to return when it's finished. Right now Shtick is designed around controlling NPC scene progress: player participation and the other gameplay variables determine how quickly that reaches 100, and at 100 Shtick considers its job done and tells AAF to end the scene. But if MSMA were using Shtick as a minigame framework, I assume you probably wouldn't want Shtick deciding what "winning" or "losing" means for MSMA. Shtick can know when its minigame is complete, but what that completion means — or even whether MSMA wants the AAF scene to end at that point — probably belongs to MSMA. I could return the final participation value, average participation over the encounter, how much time was spent resisting vs participating, whether/when loss-of-control occurred, etc. I could also fire a simple completed/cancelled event so your script doesn't have to continuously poll it. But I don't want to invent a giant API full of information nobody actually needs. So let me turn that question around on you: if MSMA handed an encounter to Shtick as an alternate minigame, what is the minimum information you'd need to give Shtick, and what information would you need back from it to let MSMA handle the consequences? MSMA could remain responsible for understanding all the complicated context you described — partner characteristics, preferences, dialogue, encounter type, whatever else you're tracking — and boil that down into a few inputs for Shtick. Shtick doesn't need to understand why this particular encounter is difficult or aggressive; it just runs the physical minigame. Then it hands the result back and MSMA decides what that result means. It's currently wonderfully stupid for the richness of what it actually delivers contextually, and that probably makes it especially well suited for integrations. It doesn't need to understand all of that context itself. We just have to get the interface there. Edited Monday at 01:34 PM by FieryVortessence
MSM_Alice Posted Monday at 02:27 PM Posted Monday at 02:27 PM (edited) 1 hour ago, FieryVortessence said: You're going to have to forgive my embarassment at botching the public release package so badly. Im not convinced anyone has gotten it to work yet. If you get a chance to install and test it, use the console debug commands I use to start the game. It doesnt wire back into any of the outputs, but the input side works, and the progress bar will work, and you can actually play it. cqf ShtickAAFQuest DebugStart cqf ShtickAAFQuest DebugStop Please tell me you're getting it to work, lol. Regarding all of your other questions.... Your mod was the inspiration for mine, but Im a little afraid of it, never got a chance to actually try it! I just knew i wanted something that was relatively tactile, and felt a little like work, or fun, depending on context. I figured it might get your attention specifically because you'd already attacked a lot of the same problems from the Papyrus side. I dont know if you ran into all the insane problems I did trying to get inputs to be reliable and work well, but I suspect you might have, and so i specifically wanted modders like you to see how I solved it (MenuFramework) so you all could leverage it in your own builds. But maybe it's an already sovled issue? I just had a very bad time trying to punch this through papyrus. My end goal for this to have it replace Sex Harassment and SEU in my load order. I dont think I'm going to pull that off. But the minigame interface is a component of that larger goal. I just decided i had to pick one side of it to work on first, and this is what I worked on first. So in a sense, it WAS intended as a framework, but for my own mod. But that doesnt mean I didnt want anyone else to use it. I'm publishing it as it is for a reason beyond just beta test experiments. I am not sure how to answer the rest of your post just yet. I still have a bunch of tuning to do on this. And all the AE/NG users are making me want to go down the rabbit hole of how to make it compatible with their builds. (If anyone wants to recompile the source code against a newer common library and test it, youre welcome to) So regarding Shtick working with your mods or other mods..... It may actually be uniquely well suited to it. Once I get it reliably working across everyone else's builds, I could expose a relatively small API for other mods pretty easily. I'm still trying to wrap my head around exactly what that API should look like, though. Internally Shtick already knows basically everything happening in the minigame in real time: current participation (-50 to +50), NPC/scene progress (0-100), player arousal, whether the player is in loss-of-control state, whether the game is active, etc. So exposing those values for another mod to read should be pretty straightforward. Likewise, I could expose inputs so another mod could tell Shtick something like: "start a game, this encounter is aggressive, use this difficulty/tempo modifier, start the player with this participation bias," and then let Shtick handle the actual tactile minigame. Where I'm less certain is what you would actually want Shtick to return when it's finished. Right now Shtick is designed around controlling NPC scene progress: player participation and the other gameplay variables determine how quickly that reaches 100, and at 100 Shtick considers its job done and tells AAF to end the scene. But if MSMA were using Shtick as a minigame framework, I assume you probably wouldn't want Shtick deciding what "winning" or "losing" means for MSMA. Shtick can know when its minigame is complete, but what that completion means — or even whether MSMA wants the AAF scene to end at that point — probably belongs to MSMA. I could return the final participation value, average participation over the encounter, how much time was spent resisting vs participating, whether/when loss-of-control occurred, etc. I could also fire a simple completed/cancelled event so your script doesn't have to continuously poll it. But I don't want to invent a giant API full of information nobody actually needs. So let me turn that question around on you: if MSMA handed an encounter to Shtick as an alternate minigame, what is the minimum information you'd need to give Shtick, and what information would you need back from it to let MSMA handle the consequences? MSMA could remain responsible for understanding all the complicated context you described — partner characteristics, preferences, dialogue, encounter type, whatever else you're tracking — and boil that down into a few inputs for Shtick. Shtick doesn't need to understand why this particular encounter is difficult or aggressive; it just runs the physical minigame. Then it hands the result back and MSMA decides what that result means. It's currently wonderfully stupid for the richness of what it actually delivers contextually, and that probably makes it especially well suited for integrations. It doesn't need to understand all of that context itself. We just have to get the interface there. I mean, If needed, I could probably distill the MSMA stats context into one or two "difficulty" variables that I would feed into Shttic, It could be just one, or maybe two, like "starting point" and "speed of progress". The "feeding" of parameters would be at some point after the animations start, as I need to sample the context ( actor array tags and whatnot) , and that is done via the OnAnimationStart event. What I would love to get back at the end is not just a win/loss binary, but also anything intermediary, a measure of how a. how well the player did. ( the exit context) Or maybe I could infer that by how fast the win/loss was achieved? b. what happened with each of the animation participants ( if more than two - or is that not supported yet). Edited Monday at 02:30 PM by MSM_Alice
JonX67 Posted Monday at 03:56 PM Posted Monday at 03:56 PM 4 hours ago, judge007 said: What I meant was that is a dev version that'll work for 1.11.221, no downgrading required. So, you think just installing the CM Toolbox would enable SHtick to work with my game-version?
JonX67 Posted Monday at 04:00 PM Posted Monday at 04:00 PM 3 hours ago, FieryVortessence said: I botched the initial release package badly and included an earlier failed branch of this thing. I spent so much time compiling outputs that I forgot I changed the output dll filename along the way and just stuck the wrong one in the package. I was originally using HUD Framework and some other absolutely wild workarounds to try and get this thing to work. I also just confirmed that I think the .esp I shipped has a stale hudframework dependency. I have uploaded a new file to fix that, thanks for bringing it to my attention, super helpful! I am pretty confident this thing is OG-only at this point. But on the bright side, the main Shtick DLL doesn't appear to be inherently tied to OG. I did some digging and realized I'm compiling it against an older CommonLibF4 setup that is OG-specific. The Shtick source itself doesn't appear to be doing much that is inherently runtime-specific, so I'm cautiously optimistic that moving it to a newer multi-runtime CommonLib build may get us most of the way there. I'm going to work on it. I probably should have been using an AE/NG compatible version of CommonLib from the start, but Im learning from this one. That sounds promising! Thanks for your efforts!
JonX67 Posted Monday at 04:28 PM Posted Monday at 04:28 PM 4 hours ago, FieryVortessence said: I botched the initial release package badly and included an earlier failed branch of this thing. I spent so much time compiling outputs that I forgot I changed the output dll filename along the way and just stuck the wrong one in the package. I was originally using HUD Framework and some other absolutely wild workarounds to try and get this thing to work. I also just confirmed that I think the .esp I shipped has a stale hudframework dependency. I have uploaded a new file to fix that, thanks for bringing it to my attention, super helpful! I am pretty confident this thing is OG-only at this point. But on the bright side, the main Shtick DLL doesn't appear to be inherently tied to OG. I did some digging and realized I'm compiling it against an older CommonLibF4 setup that is OG-specific. The Shtick source itself doesn't appear to be doing much that is inherently runtime-specific, so I'm cautiously optimistic that moving it to a newer multi-runtime CommonLib build may get us most of the way there. I'm going to work on it. I probably should have been using an AE/NG compatible version of CommonLib from the start, but Im learning from this one. I might be totally wrong (and just in case you don't know the mod) But is this tool something that might make your work regarding game-version compatibility easier? "Runtime Database" https://www.nexusmods.com/fallout4/mods/108394 I am asking because the author of this mod is specifically mentioning the mods use for developers that [quote:] "are building native Fallout 4 F4SE plugins with CommonLibF4RD".
FieryVortessence Posted Monday at 06:04 PM Author Posted Monday at 06:04 PM (edited) 1 hour ago, JonX67 said: I might be totally wrong (and just in case you don't know the mod) But is this tool something that might make your work regarding game-version compatibility easier? "Runtime Database" https://www.nexusmods.com/fallout4/mods/108394 I am asking because the author of this mod is specifically mentioning the mods use for developers that [quote:] "are building native Fallout 4 F4SE plugins with CommonLibF4RD". I tried a few things that didn't work, then I saw your post and went down this path. This lets me build Shtick against CommonLibF4RD, which is deliberately designed to keep essentially the same CommonLibF4 interface the existing code was written for. Instead of me having to rewrite Shtick around the different Fallout runtimes, Runtime Database supplies the runtime-specific information CommonLibF4RD needs to resolve things correctly on OG/NG/AE. The good news is that I got Shtick compiled against it with almost no changes to the actual Shtick code, and that new DLL is already loading and running correctly on my OG 1.10.163 install. It also successfully triggers from an actual AAF scene. I haven't had time yet to play through and thoroughly test a complete sequence, but I wanted to throw this out there and see what happens on your runtime. HOPEFULLY I'm also getting better about keeping all my loose files organized. I'm stumbling onto some more reliable workflows now so I don't accidentally leave pieces of three different builds scattered around Fallout's Data directory. To test it: Install the Runtime Database from Nexus and make sure it's enabled (It's now going to be a dependency, and I have to run it now too) Install the attached ShtickBetaV0.1.4.zip. It should drop straight into your mod manager. Let Shtick win any conflicts with FPAttributes. Let Shtick win any conflicts with F4SEMenuFramework. Start the game and, assuming nothing explodes (fingers crossed), open the console and enter: cqf ShtickAAFQuest DebugStart If nothing happens, send me a Papyrus log. If the HUD appears and E/R control the minigame, you've confirmed that the DLL, HUD, input, and basic minigame are working on your build/mod list. Next, initiate a real AAF scene. That's the more important test because an actual AAF scene exercises all the reverse plumbing where Shtick reports back into Fallout/AAF. DebugStart basically just lets you play the native minigame in isolation; it doesn't exercise that whole integration path. Let me know what happens. Fingers crossed. Basically, this build passes all of my initial smoke and sniff tests on 1.10.163. Now we get to find out whether CommonLibF4RD + Runtime Database actually delivers on the promise and lets this exact same DLL work on 1.11.221. Sidebar addition, I did a little more digging yesterday, I thought it was bizarre that TheShinyHaxorus published the most recent F4SEMenuFramework on Nexus a couple of months ago, and is currently working on updates right now, but somehow the nexus version is 1.53 and source code recipe on github is for 3.31+.... and I am convinced the version numbering for hte dll and the mod must not be the same. So Im thinking surely pretty soon the published nexus version will catch up to what I have bundled. It would sure make things easier for everyone. Because fortunately for anyone who gets this working (hopefully everyone, soon?), or maybe unfortunately, the feature we needed was literally JUST ADDED. ShtickBetaV0.1.5RDTest.zip Edited Monday at 06:24 PM by FieryVortessence
FieryVortessence Posted Monday at 07:25 PM Author Posted Monday at 07:25 PM (edited) Well, I've been juggling versions, and it looks like the bundled F4SEMenuFramework.dll isn't needed as long as you're using the current version from Nexus. Get the newest version and don't worry about letting Shtick override it. I've removed F4SEMenuFramework.dll from the Shtick package entirely — it should be installed separately as a normal dependency. I'm not willing to tear everything apart again just to satisfy my curiosity as to why at this point, but I do have a suspicion about what happened. I rebuilt Shtick against CommonLibF4RD/Runtime Database while working on possible AE/NG compatibility. It's possible that rebuild also resolved whatever incompatibility I was previously seeing between ShtickNative and the stock Menu Framework DLL. Either way, the important part is that the current Nexus F4SE Menu Framework works with the current Shtick build, so there is no reason for me to distribute my own copy of its DLL anymore! But the Runtime Database on Nexus is now a hard requirement for ALL users, OG, AE, and NG. Edited Monday at 07:27 PM by FieryVortessence 1
Cealapa Posted Monday at 08:14 PM Posted Monday at 08:14 PM Is it compatible with FallUI - HUD? Because I've just installed it, started some AAF scenes but no Shtick hud/cursor on screen.
FieryVortessence Posted Monday at 08:35 PM Author Posted Monday at 08:35 PM (edited) 37 minutes ago, Cealapa said: Is it compatible with FallUI - HUD? Because I've just installed it, started some AAF scenes but no Shtick hud/cursor on screen. You try the debug start command? ( " cqf ShtickAAFQuest DebugStart " in console ) Can you get me a papyrus log? I dont know about FallUI. I have a suspicion you just proved that my attempt to make it next gen compatible didnt work. My hunch is that it shoudlnt give two hoots about FallUI. An F4SE log would help too if you've got one, but for now: Documents\My Games\Fallout4\Logs\Script\Papyrus.0.log (0 is most recent) \Documents\My Games\Fallout4\F4SE\f4se.log I wonder if there's a dependency somewhere I'm missing. You caught the new 0.2.0 version and its Runtime Database requirement? I just recently added that. As far as I know the MAIN requirements just to get the debug HUD to display are only F4SE, F4SEMenuFramework, and Runtime Database and all of their specific dependencies. It's a really 'independent' mod. It kind of just runs on its own when called, doesnt really rely on much inside of Fallout. So if it's not firing, that tells me there's still something fundamental missing, and it may be an AE/NG incompatibility still. I was really hoping we'd have it. Edited Monday at 08:52 PM by FieryVortessence 1
Cealapa Posted Monday at 08:57 PM Posted Monday at 08:57 PM 21 minutes ago, FieryVortessence said: You try the debug start command? ( " cqf ShtickAAFQuest DebugStart " in console ) Can you get me a papyrus log? I dont know about FallUI. I have a suspicion you just proved that my attempt to make it next gen compatible didnt work. My hunch is that it shoudlnt give two hoots about FallUI. An F4SE log would help too if you've got one, but for now: Documents\My Games\Fallout4\Logs\Script\Papyrus.0.log (0 is most recent) \Documents\My Games\Fallout4\F4SE\f4se.log I wonder if there's a dependency somewhere I'm missing. You caught the new 0.2.0 version and its Runtime Database requirement? I just recently added that. As far as I know the MAIN requirements just to get the debug HUD to display are only F4SE, F4SEMenuFramework, and Runtime Database and all of their specific dependencies. It's a really 'independent' mod. It kind of just runs on its own when called, doesnt really rely on much inside of Fallout. I didn't try cqf ShtickAAFQuest DebugStart yet. In a few minutes. Papyrus.0.log f4se.log
Cealapa Posted Monday at 09:09 PM Posted Monday at 09:09 PM (edited) And other two with debug started: Papyrus.0.log f4se.log Edit: Yes, I use the new 0.2.0 version and its Runtime Database requirement. Edited Monday at 09:13 PM by Cealapa
FieryVortessence Posted Monday at 09:27 PM Author Posted Monday at 09:27 PM I've got good news and bad news. Good news is, all the Shtick scripts are working properly. It detected your AAF scene, read the Sex Attributes data, and tried to start the minigame. Menu Framework is also loading correctly, so this definitely isn't a FallUI problem. Bad news is, F4SE isn't able to talk to ShtickNative.dll at all. It sees the DLL in your plugins folder, but never actually loads it, so all of Shtick's native functions are coming back unbound. That's why there's no HUD. So unfortunately, I think you've confirmed that my first attempt at AE compatibility didn't work. The good news for me is that you've narrowed the problem down very precisely: the rest of Shtick appears to be working on AE; I need to figure out why the native DLL isn't loading on 1.11.240. Thanks for getting me those logs. They were exactly what I needed. I'll mark AE support as experimental/not working for now rather than sending you chasing dependencies that aren't the problem. Can I fix it? I dont know... it's hard to do it without having access to AE/NG personally. Can you confirm you have the Runtime Database from nexus installed and enabled? Just in case it saves me a bunch of headbashing, LOL. I am not going to give up on it yet, but the easy path just closed, and I have to try a few more things before I try progressively more nuclear options on this one. Thanks for the help! 1
Cealapa Posted Monday at 09:36 PM Posted Monday at 09:36 PM 5 minutes ago, FieryVortessence said: Can you confirm you have the Runtime Database from nexus installed and enabled? Just in case it saves me a bunch of headbashing, LOL. I am not going to give up on it yet, but the easy path just closed, and I have to try a few more things before I try progressively more nuclear options on this one. Thanks for the help! Yes, I downloaded and installed it on September 22. I couldn't remember what other mod needed it as a hard requirement too. And... I thank you for dedication and efforts! 👍 1
JonX67 Posted yesterday at 04:34 AM Posted yesterday at 04:34 AM (edited) 10 hours ago, FieryVortessence said: I tried a few things that didn't work, then I saw your post and went down this path. This lets me build Shtick against CommonLibF4RD, which is deliberately designed to keep essentially the same CommonLibF4 interface the existing code was written for. Instead of me having to rewrite Shtick around the different Fallout runtimes, Runtime Database supplies the runtime-specific information CommonLibF4RD needs to resolve things correctly on OG/NG/AE. The good news is that I got Shtick compiled against it with almost no changes to the actual Shtick code, and that new DLL is already loading and running correctly on my OG 1.10.163 install. It also successfully triggers from an actual AAF scene. I haven't had time yet to play through and thoroughly test a complete sequence, but I wanted to throw this out there and see what happens on your runtime. HOPEFULLY I'm also getting better about keeping all my loose files organized. I'm stumbling onto some more reliable workflows now so I don't accidentally leave pieces of three different builds scattered around Fallout's Data directory. To test it: Install the Runtime Database from Nexus and make sure it's enabled (It's now going to be a dependency, and I have to run it now too) Install the attached ShtickBetaV0.1.4.zip. It should drop straight into your mod manager. Let Shtick win any conflicts with FPAttributes. Let Shtick win any conflicts with F4SEMenuFramework. Start the game and, assuming nothing explodes (fingers crossed), open the console and enter: cqf ShtickAAFQuest DebugStart If nothing happens, send me a Papyrus log. If the HUD appears and E/R control the minigame, you've confirmed that the DLL, HUD, input, and basic minigame are working on your build/mod list. Next, initiate a real AAF scene. That's the more important test because an actual AAF scene exercises all the reverse plumbing where Shtick reports back into Fallout/AAF. DebugStart basically just lets you play the native minigame in isolation; it doesn't exercise that whole integration path. Let me know what happens. Fingers crossed. Basically, this build passes all of my initial smoke and sniff tests on 1.10.163. Now we get to find out whether CommonLibF4RD + Runtime Database actually delivers on the promise and lets this exact same DLL work on 1.11.221. Sidebar addition, I did a little more digging yesterday, I thought it was bizarre that TheShinyHaxorus published the most recent F4SEMenuFramework on Nexus a couple of months ago, and is currently working on updates right now, but somehow the nexus version is 1.53 and source code recipe on github is for 3.31+.... and I am convinced the version numbering for hte dll and the mod must not be the same. So Im thinking surely pretty soon the published nexus version will catch up to what I have bundled. It would sure make things easier for everyone. Because fortunately for anyone who gets this working (hopefully everyone, soon?), or maybe unfortunately, the feature we needed was literally JUST ADDED. ShtickBetaV0.1.5RDTest.zip 1.84 MB · 1 download A bit late to the party, but I also gave it a try with: - Game version 1.11.221.0 - Runtime Database (latest Version) - F4SE Menu Framework (1.53) - SHtick 0.2.5 Started an AAF Scene (via Sex 'Em Up): Scene runs as it should but no SHtick HUD shows up Started the quest during the scene using: cqf ShtickAAFQuest DebugStart No SHtick.... Just in case I add the F4SE log. For unknown reasons I don't have a Papyrus log! (have to find out why now) So, it looks as if the OG is the thing for now. I appreciate your efforts, though! And I am quite confident that at some point in time your mod will work in all environments! Thanks again! f4se.log Edited yesterday at 04:36 AM by JonX67 1
MSM_Alice Posted yesterday at 06:01 AM Posted yesterday at 06:01 AM (edited) @FieryVortessence Just a side question, so F4SE Menu Framework at Fallout 4 Nexus - Mods and community , (which, if I understand correctly, also acts as some form of MCM replacer and hotkey hook/replacer) ... to use it to create new HUD element, one MUST build a F4SE DLL plugin? (Is there no way to define them via Papyrus scripts, or is it just a DLL file, or no play?) Edited yesterday at 06:02 AM by MSM_Alice
riveth Posted yesterday at 06:46 AM Posted yesterday at 06:46 AM Finally a mod I was waiting for! It works out of the box for me, with only one strange quirk. R button moves indicator to Enjoy field (right) and E towards resist (left). Seems like they are swapped, or maybe I miss something? As a core and basic showcase it is already fun. I need to test it a little more because I didn't noticed XP gains or loses, but I just ran like 10 scenes with fresh player character. Also I get the feeling that animations just stops right when NPC bar hits 100, no climax loop. It might be EAP fault. I'm so excited about this, thanks for your hard work!
FieryVortessence Posted yesterday at 10:14 AM Author Posted yesterday at 10:14 AM (edited) 3 hours ago, riveth said: Finally a mod I was waiting for! It works out of the box for me, with only one strange quirk. R button moves indicator to Enjoy field (right) and E towards resist (left). Seems like they are swapped, or maybe I miss something? As a core and basic showcase it is already fun. I need to test it a little more because I didn't noticed XP gains or loses, but I just ran like 10 scenes with fresh player character. Also I get the feeling that animations just stops right when NPC bar hits 100, no climax loop. It might be EAP fault. I'm so excited about this, thanks for your hard work! The controls sort of switch on either side of the neutral bar, you have probably noticed, but R goes to the right, E goes to the left. The naming is unfortunate because of the keys, but I aligned the keys to be used based on .... the E key is to the left of the R key, and the R key is the right of the E key. So it makes sense to just treat them like a pair of buttons on a directional pad. The way I ended up naming the axis and the keys used to do it are named backwards, though. But if you want your PC to have a 'good' time. go to the >. If you want to not give your NPC the satisfaction of that, go to the <. And obviously the gimmick is to game this according to maximizing XP. [Resist <-E], [ R-> Enjoy] I didnt quite realize just how unfortunate the labelling was til just now, LOL. The XP Gains and Losses show up at climaxes as a very small notification above the HUD. you'll see a small "+10 XP" or "-10 XP". I didnt want it intrusive. I dont think it posts on the big giant normal vanilla style XP meter. It may just be too small. Maybe you cant see it or havent noticed it? Let me know. I have a feeling it's still processing, and I did have a couple of times that I didnt see it show up in the HUD, but I know it happened, I figrued it was just typical Bethesda jank/papyrus lag. But the XP part of this whole thing was one of the more simple things to include. There's not a ton to go wrong there, so if you can confirm you definitely dont see the XP notifications, send your papyrus log for me and I'll see if I can figure out why. See my screenshot for a -10 XP example. The last thing you mentioned may be the hardest or easiest thing to fix. I dont run EAP. The way my AAF is set up is dumb and stupid. It just runs a scene until the scene ends and then terminates the scene. So obviously this isnt the most satisfying arrangements. I've tried UAAF Patch and I think I might hae tried EAP once, but it explodes my setup. I know it's solveable, but when you get the mod stacks as wild as we do, sometimes Im afraid to blow up something that works. It feels almost superstitious to me sometimes. So if you're getting actual climax loops where something actually happens at the end??? I want to figure out how to get that! It always seemed like a glaring omission. So I wonder if there's a way to trigger an AAF scene transition to 'climax loop'..... without conflicting and fighting with the actual AAF initiating mod.... I dont have the 'trees' or whatever comaptibility, but this seems like it could be tantalizingly easy thing to implement.... Im going to dig into this. Tell me more about how it works. @JonX67 , @Cealapa , I have another theory for why the AE/NG Compatibility effort may not have worked. I think I have to change a few of my upstream config files before compiling. It'll take a little work, but the core mechanic dll should be mostly unchanged. I just have to figure out how to compile it in a way that Edited yesterday at 10:30 AM by FieryVortessence 2
Cealapa Posted yesterday at 10:37 AM Posted yesterday at 10:37 AM (edited) 24 minutes ago, FieryVortessence said: @JonX67 , @Cealapa , I have another theory for why the AE/NG Compatibility effort may not have worked. I think I have to change a few of my upstream config files before compiling. It'll take a little work, but the core mechanic dll should be mostly unchanged. I just have to figure out how to compile it in a way that I'm waiting for this! Take your time, no rush 👍 Edited yesterday at 10:39 AM by Cealapa
riveth Posted yesterday at 10:44 AM Posted yesterday at 10:44 AM (edited) 33 minutes ago, FieryVortessence said: The controls sort of switch on either side of the neutral bar, you have probably noticed, but R goes to the right, E goes to the left. The naming is unfortunate because of the keys, but I aligned the keys to be used based on .... the E key is to the left of the R key, and the R key is the right of the E key. So it makes sense to just treat them like a pair of buttons on a directional pad. The way I ended up naming the axis and the keys used to do it are named backwards, though. But if you want your PC to have a 'good' time. go to the >. If you want to not give your NPC the satisfaction of that, go to the <. And obviously the gimmick is to game this according to maximizing XP. [Resist <-E], [ R-> Enjoy] I didnt quite realize just how unfortunate the labelling was til just now, LOL. The XP Gains and Losses show up at climaxes as a very small notification above the HUD. you'll see a small "+10 XP" or "-10 XP". I didnt want it intrusive. I dont think it posts on the big giant normal vanilla style XP meter. I also THINK I have -10 XP in red. But it may be too small. But I THINK I have that fully wired in, so it may still be happening and you cant see it or havent noticed it? Let me know. That was one of the more simple things to include. There's not a ton to go wrong there, so if you can confirm you definitely dont see the XP notifications, send your papyrus log for me and I'll see if I can figure out why. The last thing you mentioned may be the hardest or easiest thing to fix. I dont run EAP. The way my AAF is set up is dumb and stupid. It just runs a scene until the scene ends and then terminates the scene. So obviously this isnt the most satisfying arrangements. I've tried UAAF Patch and I think I might hae tried EAP once, but it explodes my setup. I know it's solveable, but when you get the mod stacks as wild as we do, sometimes Im afraid to blow up something that works. It feels almost superstitious to me sometimes. So if you're getting actual climax loops where something actually happens at the end??? I want to figure out how to get that! It always seemed like a glaring omission. So I wonder if there's a way to trigger an AAF scene transition to 'climax loop'..... without conflicting and fighting with the actual AAF initiating mod.... Yeah I got how it works, but those keys just left me confused. 🙂 How about reversing bar and put enjoy on left and resist on right? Not that it is a big problem, once you know how to play, but it was puzzling at first. Or maybe there will be a way to remap those keys? As for scene end. Some animations has climax stage, EAP (and previously UAP), organizes animation stages in one tree, AAF auto progress through those stages, but player can also progress or regress through them by arrow keys. When AAF scene comes to an end, EAP plays last climax stage. Those stages are very satisfying, like cumhots ect. When I use shtick, those stages are not played. I understand your anxiety to set up EAP, but both mod organizers let You create separate profiles. You can simply clone your current setup and install EAP on another profile, without any risk to your regular setup. OR maybe easier way is to make Shtick play that last stage instead? 🤔 Have You considered adding audio? Like 'no' when resisting and ,oh yes' on enjoyment. There need to be more sounds like gasping and moaning. Also they should played only on significant change in each direction. Edited yesterday at 10:48 AM by riveth 3
FieryVortessence Posted 23 hours ago Author Posted 23 hours ago (edited) 44 minutes ago, riveth said: Yeah I got how it works, but those keys just left me confused. 🙂 How about reversing bar and put enjoy on left and resist on right? Not that it is a big problem, once you know how to play, but it was puzzling at first. Or maybe there will be a way to remap those keys? As for scene end. Some animations has climax stage, EAP (and previously UAP), organizes animation stages in one tree, AAF auto progress through those stages, but player can also progress or regress through them by arrow keys. When AAF scene comes to an end, EAP plays last climax stage. Those stages are very satisfying, like cumhots ect. When I use shtick, those stages are not played. I understand your anxiety to set up EAP, but both mod organizers let You create separate profiles. You can simply clone your current setup and install EAP on another profile, without any risk to your regular setup. OR maybe easier way is to make Shtick play that last stage instead? 🤔 Have You considered adding audio? Like 'no' when resisting and ,oh yes' on enjoyment. There need to be more sounds like gasping and moaning. Also they should played only on significant change in each direction. HUD Orientation/ER : I am open to swapping them. I'm also open to adding an MCM option that lets you invert which does what. Because this is a DLL reading input directly, I deliberately made Shtick only look for E and R through Fallout's input system. I wanted it to be completely unambiguous that Shtick isn't doing anything resembling general keyboard monitoring. That's probably a little paranoid, but I wanted to respect the community and keep the input scope as narrow as possible. So E and R are basically the two keyboard inputs Shtick is going to use. I chose them because you can keep your hand on WASD and still manipulate the minigame pretty intuitively. Menu Framework theoretically can support controller inputs, and mouse button inputs, so I dont know how to do that yet, but the underlying architecture can support a lot more than what I am doing. When I get to the MCM configurator, I think the clean solution may be an E/R invert toggle that also mirrors the entire HUD. That way the controls and visual direction always agree. Do you think the game is more intuitive if the whole thing is mirrored, with Enjoy on the left and Resist on the right, to match the E/R association you're expecting? I'm actually starting to agree with you the more I think about it. Maybe I just flip it and skip the MCM toggle entirely. The funny part is that "Resist / Enjoy" wasn't even the terminology I originally designed the axis around. I basically settled on those labels yesterday, so I think the labels may have exposed a UX problem that wasn't there before. Audio Integration: I have no idea how to do this, is it possible? I love the idea! Scene Resolution: I dont know anything about how AAF works. That's why my solution to this whole thing was "Is AAF on? Yeah cool! Shtick time!" and "Shtick says it's done? Shut it down!". Do you know if I can just call AAF to jump to a 'climax loop' and terminate after that? It seems trivial ,just not sure if the handles are there and universal for all the animation packs. 5 hours ago, MSM_Alice said: @FieryVortessence Just a side question, so F4SE Menu Framework at Fallout 4 Nexus - Mods and community , (which, if I understand correctly, also acts as some form of MCM replacer and hotkey hook/replacer) ... to use it to create new HUD element, one MUST build a F4SE DLL plugin? (Is there no way to define them via Papyrus scripts, or is it just a DLL file, or no play?) I plan to add all the APIs you need to Shtick. It's coming! The roadmap is a little intimidating right now, but I'll get to them for you. It's actually a key requirement for a final v1.0 release to me, because eventually I'd love for other mod authors and users to see enough value in this to create AAF mods that specifically look for Shtick. And that requires exactly the kinds of APIs you're asking for. And yes — for the kind of native HUD Shtick is using, you'd need an F4SE DLL to do it directly through Menu Framework. Menu Framework can do MCM-style stuff without one, but its native HUD/input API is C++. The DLL is basically the core Shtick game engine. The real-time minigame logic, E/R input handling, state tracking, and HUD rendering all live there. Papyrus is mostly the bridge between that engine and Fallout/AAF/Sex Attributes. The good news is that my goal is that your mod shouldn't need to reproduce any of that. Once I expose the API, MSMA should be able to tell Shtick what kind of game it wants, let Shtick run the tactile part, and then get the results back and decide what they mean. The only bad news is that this requirement means there isnt as much activity in this niche. I actually had a bunch of other candidate minigame mechanisms I developed, shtick was the very first one, and none of the others quite had the feel I wanted. I diagrammed some of this out in case it's helpful, by the way: ┌──────────────────────┐ │ AAF SCENE │ │ actors / tags/events │ └──────────┬───────────┘ │ ▼ ┌──────────────────────────────────────────────────────┐ │ PAPYRUS LAYER │ │ ShtickAAFQuest │ │ │ │ • Detect AAF start / stop │ │ • Read Sex Attributes / FPA │ │ • Gather encounter context │ │ • Start / configure native minigame │ │ • Receive completion / results │ │ • Handle XP / AAF / downstream consequences │ └───────────────────────┬──────────────────────────────┘ │ parameters │ ▲ results/state ▼ │ ┌──────────────────────────────────────────────────────┐ │ SHTICK NATIVE DLL │ │ C++ │ │ │ │ INPUT ──► MINIGAME ENGINE ──► STATE │ │ E/R │ │ │ │ │ ├─ Participation │ │ │ ├─ NPC Progress │ │ │ ├─ Arousal │ │ │ └─ Completion │ │ │ │ │ └────────► HUD │ │ Menu Framework │ │ │ │ No narrative / encounter-specific logic │ └───────────────────────┬──────────────────────────────┘ │ ▼ MINIGAME RESULT │ ┌──────────┴──────────┐ ▼ ▼ Shtick itself External Mod/API XP / AAF flow e.g. MSMA │ ▼ interprets result + consequences Edited 23 hours ago by FieryVortessence 1
JonX67 Posted 22 hours ago Posted 22 hours ago 1 hour ago, FieryVortessence said: @JonX67 , @Cealapa , I have another theory for why the AE/NG Compatibility effort may not have worked. I think I have to change a few of my upstream config files before compiling. It'll take a little work, but the core mechanic dll should be mostly unchanged. I just have to figure out how to compile it in a way that That sounds promising! And as Cealapa already said: No need to rush! It's done when it's done
riveth Posted 21 hours ago Posted 21 hours ago 1 hour ago, FieryVortessence said: HUD Orientation/ER : I am open to swapping them. I'm also open to adding an MCM option that lets you invert which does what Well, at one hand having Resist on left and Enjoy on right is more intuitive, like all good things are on the right, right? ;P Ideally I would change keys to Q and E, as they are even more convenient and keep current bar orientation. But that's just an idea. As for sounds I only know how to do that in papirus script and I think this is not the case here. Animations and how AAF works is also out of my scope, but You can always ask @kziitd, as She is always a great help in such things.
FieryVortessence Posted 20 hours ago Author Posted 20 hours ago (edited) I always use my ring finger on w, so trying to use q sounds awful! I never even considered that other people might do that differently, and I can see if you're using the ring finger on a normally, that e and r would feel awful! I dont know if that's what youre doing, but it's an interesting UX data point and I want to make sure this works for everyone. 1. Ive added variable 'completion scores' that are required to finish the scene, so that means randomly some scenes will be shorter than others, but I've done it using a normal distribution so most scenes will be about the same. But it should mkae Shtick do what I want it to do, which is feel organic and natural... at least as much as it can for a silly 2 button minigame. (This is already integrated in 2.5, which, hopefully I bundled it together right, but it should be working in the version available now) 2. I just finished some 'solo scene' adjustments to make that a little more... interesting. The idea is self-release is going to require a little more effort. Required some conditional rewiring of some of the mechanics. But I think it'll be fun, hopefully. I havent tried it yet. I want to incentivize partnering up. 3. I just downloaded EAP, I need to figure out the EAP stage advancement hooks. I need to get it working in my mod stack, and then figure out the hooks to advance stages and, since the player advances it now, Im hoping this is EASY.... HOPE! If so, I think this would substantially increase the immersion and coolness of the minigame! I didnt even realize something like this was an option! Edited 20 hours ago by FieryVortessence
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now