- Dec 25, 2017
- 89
- 53
Since people ask about consistency all the time: I decompiled the game and took a look at the source code. I'm not familiar with Godot scripting language, but it seems fairly straightforward. I might have misunderstood something, but I think I've been careful enough to avoid all errors.
TLDR: If you have published 50 scenes or more in last 70 days you get penalized based on how variable are your scenes and girl levels. It also greatly penalizes you based on variability of model bonus traits and scene types you shoot. The scene being published doesn't seem to matter at all; scenes consistency debuff is calculated before the scene is published and changes daily.
And here's how it works in details.
To begin with, I believe all of the calculations are carried out at midnight and affect scenes that you publish during that day. The calculation is also carried out whenever you (from a quick glance) load the game - so saving and reloading the game before publishing might slightly affect consistency levels. I haven't verified that one, however.
As such, it seems to me that the stats of the particular scene you publish don't matter.
It works based on 4 variables, we'll call them
"70 days scene popularity average", "70 days girl rating average", "scene standard deviation" ,"girl standard deviation".
For now, keep in mind that "popularity average" is not exactly popularity average. More on this soon.
Guys don't contribute to the consistency debuff directly. They only affect it indirectly by affecting scene popularity.
Now, these four variables are derived from the list of all scenes published in 70 (see note 1) days.
It also, no surprise, uses data of all actresses that starred in these movies, counting each appearance separately (so, a really "busy" girl will contribute to these stats multiple times). Models that you have removed from the contact list seem to NOT be used in the following calculations.
First, all scenes published in last 70 days are collected.
For every one of thes scenes (looks like it's sorted by shooting time, but I'm not sure) the game takes popularity and total bonus score and calculates, let's say, "transformed popularity" with the simple formula:
Transformed popularity is equal to popularity raised to the power of the bonus.
Example, this scene has popularity 3300 and total bonus of 0.6461; the scene's transformed popularity will be approximately 187,63.
All of these "transformed popularities" are stored in a variable that we will call "scene popularities" list.
At the same time game stores current levels of all the girls that have played in these movies. We will call this list "girl levels" list. In the example I shot a movie with level 4.2 model, so that value will be put on the list.
Now, the code splits into two branches.
Branch 1: If the scene popularity list has at least 50 values in it:
EDIT: It's not glitched; The game actually properly trims top and bottom 10% of the scene popularities and girl levels (so that extremely talented girls / popular scenes don't ruin your consistency too hard).
Now, the game calculates average of the 80% of the kept "scene popularities" and average of the 80% kept "girl levels". It also calculates
Finally, results of these calculations are the four variables that I've mentioned previously.
Branch 2: If you have not published 50 movies in last 70 days.
Averages are set to 0.1, standard deviations are set to 0, nothing else happens.
The branches combine
Now the variables are calculated and will be kept for the remainder of the day.
The consistency debuff is calculated as follows:
Two temporary variables are created.
1) "scene factor" calculated as "scene standard deviation" / "70 days scene popularity average"
2) "girl factor" calculated as "girl standard deviation" / "70 days girl rating average"
If the "scene factor" is equal to 0, consistency debuff is not applied. Keep in mind that this will definitely be the case if the code went through branch 2. It will almost surely NOT BE the case if the game went through branch 1.
Otherwise, consistency will be applied based on "total factor", calculated as (0.81 - scene factor - girl factor).
Finally, the total factor is capped between 0% and -20%, and that's the penalty that's applied.
I can't say why 0.81 is used - it's meant to provide a buffer so that very small variances don't ruin your consistency.
I believe the number is just there for a balancing purposes, and might be increased or decreased based on the feedback (and intended balancing). As far as I can say, it's not some sort of a special value derived in a specific way; it's just an arbitrarily chosen and manually refined constant.
Note 1 - The code checks for last 70 days, but I'm not exactly sure how accurate is it (up to an ingame minute? hour? day?) Also, names of the variables in code refer to 3-month period - perhaps the names are a leftover from the early version of the mechanic, or perhaps it should be 90 days and it's a bug. Only one person knows, and it's not me.
Edit; fixed a missing minus sign, expanded a bit on a single detail.
Also, don't ask me how to decompile the game and/or to post relevant code fragments and/or post other code fragments. If mbmb is fine with it, I might do that. Until mbmb takes a stance on decompiled code, I'll keep the decompiled files to myself.
Edit 2: Now that I gave it another thought, I believe it's the way scene popularities are transformed that actually messes with the player the most. Total bonus might vary from 50% to 150%, transforming 4k popularity scene anywhere between ~63 and over ~250000. That definitely introduces enough variance to almost surely set consistency at -20%, as long as the player sometimes uses models with bonus-affecting traits and shoots different scene types.
TLDR: If you have published 50 scenes or more in last 70 days you get penalized based on how variable are your scenes and girl levels. It also greatly penalizes you based on variability of model bonus traits and scene types you shoot. The scene being published doesn't seem to matter at all; scenes consistency debuff is calculated before the scene is published and changes daily.
And here's how it works in details.
To begin with, I believe all of the calculations are carried out at midnight and affect scenes that you publish during that day. The calculation is also carried out whenever you (from a quick glance) load the game - so saving and reloading the game before publishing might slightly affect consistency levels. I haven't verified that one, however.
As such, it seems to me that the stats of the particular scene you publish don't matter.
It works based on 4 variables, we'll call them
"70 days scene popularity average", "70 days girl rating average", "scene standard deviation" ,"girl standard deviation".
For now, keep in mind that "popularity average" is not exactly popularity average. More on this soon.
Guys don't contribute to the consistency debuff directly. They only affect it indirectly by affecting scene popularity.
Now, these four variables are derived from the list of all scenes published in 70 (see note 1) days.
It also, no surprise, uses data of all actresses that starred in these movies, counting each appearance separately (so, a really "busy" girl will contribute to these stats multiple times). Models that you have removed from the contact list seem to NOT be used in the following calculations.
First, all scenes published in last 70 days are collected.
For every one of thes scenes (looks like it's sorted by shooting time, but I'm not sure) the game takes popularity and total bonus score and calculates, let's say, "transformed popularity" with the simple formula:
Transformed popularity is equal to popularity raised to the power of the bonus.
Example, this scene has popularity 3300 and total bonus of 0.6461; the scene's transformed popularity will be approximately 187,63.
All of these "transformed popularities" are stored in a variable that we will call "scene popularities" list.
At the same time game stores current levels of all the girls that have played in these movies. We will call this list "girl levels" list. In the example I shot a movie with level 4.2 model, so that value will be put on the list.
Now, the code splits into two branches.
Branch 1: If the scene popularity list has at least 50 values in it:
EDIT: It's not glitched; The game actually properly trims top and bottom 10% of the scene popularities and girl levels (so that extremely talented girls / popular scenes don't ruin your consistency too hard).
Now, the game calculates average of the 80% of the kept "scene popularities" and average of the 80% kept "girl levels". It also calculates
You must be registered to see the links
of these trimmed lists. See the formula on the wiki if you're not familiar with the concept; it's a relatively simple calculation.Finally, results of these calculations are the four variables that I've mentioned previously.
Branch 2: If you have not published 50 movies in last 70 days.
Averages are set to 0.1, standard deviations are set to 0, nothing else happens.
The branches combine
Now the variables are calculated and will be kept for the remainder of the day.
The consistency debuff is calculated as follows:
Two temporary variables are created.
1) "scene factor" calculated as "scene standard deviation" / "70 days scene popularity average"
2) "girl factor" calculated as "girl standard deviation" / "70 days girl rating average"
If the "scene factor" is equal to 0, consistency debuff is not applied. Keep in mind that this will definitely be the case if the code went through branch 2. It will almost surely NOT BE the case if the game went through branch 1.
Otherwise, consistency will be applied based on "total factor", calculated as (0.81 - scene factor - girl factor).
Finally, the total factor is capped between 0% and -20%, and that's the penalty that's applied.
I can't say why 0.81 is used - it's meant to provide a buffer so that very small variances don't ruin your consistency.
I believe the number is just there for a balancing purposes, and might be increased or decreased based on the feedback (and intended balancing). As far as I can say, it's not some sort of a special value derived in a specific way; it's just an arbitrarily chosen and manually refined constant.
Note 1 - The code checks for last 70 days, but I'm not exactly sure how accurate is it (up to an ingame minute? hour? day?) Also, names of the variables in code refer to 3-month period - perhaps the names are a leftover from the early version of the mechanic, or perhaps it should be 90 days and it's a bug. Only one person knows, and it's not me.
Edit; fixed a missing minus sign, expanded a bit on a single detail.
Also, don't ask me how to decompile the game and/or to post relevant code fragments and/or post other code fragments. If mbmb is fine with it, I might do that. Until mbmb takes a stance on decompiled code, I'll keep the decompiled files to myself.
Edit 2: Now that I gave it another thought, I believe it's the way scene popularities are transformed that actually messes with the player the most. Total bonus might vary from 50% to 150%, transforming 4k popularity scene anywhere between ~63 and over ~250000. That definitely introduces enough variance to almost surely set consistency at -20%, as long as the player sometimes uses models with bonus-affecting traits and shoots different scene types.
Last edited: