It’s way too easy to get ridiculous numbers like 90% support. This isn’t the Soviet Union!
At the same time, if a bad situation happens, your support can instantly drop by 50% or more and even to 0.
I think it would be a lot more realistic and sensible to model the majority of voters as firmly attached to their parties and quite hard to shift, with a smaller number in the middle as well as turnout being the big swings.
Yeah, final happiness should be something like:
0.5 + (happiness factors - unhappiness factors)/2*|sum of factors| + cynicism + complacency.
Happiness from everything is 120%
Unhappiness from everything is 90%
Effective happiness: (120-90)/2*(120+90) = 30/420 = 0.07
Without complacency and cynicism approval rate of that voter group would be 0.57.
Happiness - 1000%
Unhappiness - 100%
(happiness factors - unhappiness factors)/|sum of factors| = (1000 - 100)/2*(1000 + 100) = 900/2200 = 0.41
Final approval rate: 0.91, that value will be pushed down by complacency.
Complacency and cynicism then would easily moderate approval rate.
Currently it seems to be like:
0.5 + happiness factors - unhappiness factors + cynicism + complacency
clamped between 0 and 1.
If there is division by zero with (happiness factors - unhappiness factors)/|sum of factors|, then set it to 0.
That is if nothing affects happiness of voter group except default value, cynicism and complacency, then normalization factor would be set to 1.
This is why when you have lots of policies its harder to change their approval rate
After adding normalization approval will be always easily changeable especially if its very low or very high.
Very similar thing happens with voter approval rate: looks like its weighted sum of influence*opinion, that is clamped between -1 and 1.
It should be weighted average instead.
This way you never would get someone with 100% approval rate - 90% happiness in one category would mean less than 100% approval rate.
Similarly 0% approval rate would be impossible to get too.
I turned UK into NK - all you need maxed out support and volume of 4 - 5 voter groups to have high approval despite zero approval of all other voter groups.
I believe that this problem could be addressed with investigating voter elasticity, which is on Cliff’s to do list.
It’s true, because this motto rhymes.