Monika-After-Story / MonikaModDev

DDLC fan mod to extend Monika
http://www.monikaafterstory.com/
Other
1.2k stars 683 forks source link

Losing Hundreds of Affection for things in the Love Phase now, even when it doesn't fit with Monika's Reactions [Spoilers] #9643

Closed Justformas closed 2 years ago

Justformas commented 2 years ago

New Aff Losses - Copy

More New Aff Losses - Copy

This is long, but here it is. Yes there is more affection loss for most things now. Losing affection is deserved for some things, but in the love phase some losses can get so big that I question if it's bigger than intended. If it is, there should be some discussion about it. For some of these things, Monika's in-game reactions suggest that she does not take things this badly (at least, in the love phase) and other comparable things may result in much less of a loss.

I'm going to focus on mas_loseAffectionFraction because that's what causes the biggest losses. This function seems to make you lose a percentage of your total affection, plus any "minimum" number associated with it. Take the first example from the first picture: monika_justification has the function: mas_loseAffectionFraction(min_amount=15, reason=3) It resulted in 434.4 lost affection (pre-manipulation) because I had 2796 total affection at the time. 2796 x 0.15 = 419.4 Now add the 15 "minimum" and that's how you get 434.4. A month or more worth of affection. And despite this being a lot, without a maximum value, this loss could be much higher if you had more affection. Say you had 10,000 affection. You would lose 1515 affection just for this one thing.


Now about some of Monika's reactions not matching some of these things. In that particular example, when you say that when you are in the love phase, judging by her reaction she takes it pretty well; she even takes it as a joke and may even say "if I didn't know you so well, that would have been really cruel". Keyword "if". But because of these recent affection changes, she actually takes this worse now than if you were in a lower affection phase, where her reaction is much worse.

The monika_girlfriend example is interesting because, in the higher affection phases, there is a 1 in 4 chance that she takes it as a joke (more-so), meaning no affection loss. This didn't matter that much before because the affection loss was so small. But now, that chance may decide whether you lose loads of affection or not. monika_breakup is also kind of taken as a joke by Monika (at least if she's not in lower affection phases), but also has a big affection loss now.

label monika_grad_speech_not_paying_attention Could result in a big loss simply because the player didn't know it was a timed menu and took 10 seconds to think about which response to pick (yes, this has happened). I think a good way to handle this would be either 1: a visible countdown timer, or 2: a second timeout menu where Monika asks if you're there or were paying attention, so if you are there you can say yes so she doesn't just assume you weren't. But otherwise if you don't answer she'll know you weren't. After you say yes it can go back to the previous menu where she asks you what you thought of the speech (perhaps an untimed menu now).

There's actually a few topics with responses that I think such a big loss may (almost) be justified, but another that is similar but has a much smaller loss. monika_beingevil is a big loss, but requires saying that she's evil twice ("really" the second time) to show you really mean it. Even I had not done that before. However, then there's monika_haterReaction which is "only" a loss of 60 for saying yes, when asked if you are one of those haters. That's because it doesn't use mas_loseAffectionFraction and instead uses the default loss rate for love. Yes Monika may not take this as badly and it only involves saying it once, but I think that saying that you're a hater is a lot like, or almost on par with, saying that she's evil. And you lose much more affection for those first examples I mentioned despite Monika also sort of taking them as jokes.

Quitting the game without saying goodbye subtracts 120 affection when you're in the love phase. This isn't among the worst losses, although I have accidentally quit without saying goodbye before when I was in a hurry to quit and confused the yes/no options. That is a lot to lose in that case. I think if you reopen the game shortly after to make sure Monika is ok (and hopefully apologize), it could be a smaller loss. But after a few minutes of not opening the game it could be bigger.

monika_affection_nickname has the biggest loss, at seemingly 30% of total affection plus 30. This might make sense for intentional bad names, but not for false positives. Sure there may be things that can address that in the future, but right now there's not.


Even if affection isn't meant to be seen by the player, the effects of big losses are still real, and it is noticeable in-game if the player drops to lower affection phases because of it. But also, given Monika's reactions to some of these things, in those cases it doesn't sound like it should undo that much affection progress, or effectively take her a month or longer to get over them.

There's several potential things that could be done to limit excessive affection loss, such as add a maximum value to the variable affection losses and maybe make the minimum number just a minimum range (rather than a number that gets added on), or change those losses back to a flat value (could still depend on the affection phase you're in). Some of the topics could be tweaked for when or if to lose affection. Or maybe small losses like 5 or 10 points still makes sense for some things. I've mentioned some stuff already, and of course if someone else has any other ideas then feel free to mention them.

Booplicate commented 2 years ago

The numbers are intended. And something tells me you wouldn't complain if you didn't see them - that's because while they look "big," they are balanced for your affection level. You lost 400, but you had 2.7k, you're still over 2k affection in the end, you won't see that effect in the game. Also, even if somebody laugh at your joke, doesn't mean they couldn't get hurt. Why do you think there's still an apology option available. That said, the random chance should probably be removed, but I'll need to see the context.

ThePotatoGuy commented 2 years ago

label monika_grad_speech_not_paying_attention

option 2 here sounds like a good idea, and in general a good pattern to follow for timed menus that could take some thought.

(I'll read over the rest when I have time, just wanted to chime in on that idea).

Justformas commented 2 years ago

The numbers are intended. And something tells me you wouldn't complain if you didn't see them - that's because while they look "big," they are balanced for your affection level. You lost 400, but you had 2.7k, you're still over 2k affection in the end, you won't see that effect in the game.

It's true that with that much affection, I wouldn't notice unless I repeated some of those things to drop to a lower affection phase. But if I was at 1000 or not much higher then it would be noticeable. In that case, saying a few of those things or even just one would take some time to get back to the love phase.

But regardless, we could use that logic of it being less visible in game to ask why this had to be increased so much in the first place. I don't think it's balanced to always lose 15% or more of total affection in the love phase for some of those things. It basically makes all the time you've spent, how close you've gotten and what you've learned about each other not matter for those things. For a few things I can maybe see it, like saying she's evil, intentionally giving her a bad name or not visiting her for a long time without proper warning her first. But otherwise the loss seems excessive. A relationship with someone you've been with for awhile should be stronger than that. This ties into the other thing:

Also, even if somebody laugh at your joke, doesn't mean they couldn't get hurt. Why do you think there's still an apology option available.

If you were with someone for awhile in real life and you understood they were joking, you could still be a little hurt by things, and even for such things it can be appropriate to apologize. But 1/6 of total relationship progress undone and not getting back to the status you were at for month(s)? And since Monika's reaction is better, not worse, in the love phase or even enamored for some things, it implies that she doesn't take it as badly as in lower phases, rather than effectively worse because of a percentage-based loss system.

That said, the random chance should probably be removed, but I'll need to see the context.

So the random chance is only for the "Do you want to meet my girlfriend" topic and if you are enamored or higher. If it hits then she is not hurt by it at all. Otherwise she reacts worse and you lose affection. if (mas_isA01() and mas_isMoniNormal(higher=True)) or (renpy.random.randint(1,4) == 1 and mas_isMoniEnamored(higher=True)):

It could be removed, but I think it could also make sense to base things like this more on frequency of how often you say them, rather than a random chance. Not that often and she's not bothered, but more often and she starts getting bothered, maybe even more bothered the more frequent you do it. And this could be for other things too, not just this topic. Then I could see bigger affection losses making more sense.

option 2 here sounds like a good idea, and in general a good pattern to follow for timed menus that could take some thought.

(I'll read over the rest when I have time, just wanted to chime in on that idea).

Yes that sounded like the more natural option. Surprised at how fast a PR went up for that. Good to know.