Balancing popularity

So basically my suggestion here is to change (in a simple manner) how you calculate voter approval.

Currently, you seem to take the sum of the weighted opinions of a voter and use that as approval (or something thereabouts, I can’t precisely tell how you get the numbers that are displayed). This is very straightforward, but it leads to lots of voters having 100% (fanatically supportive) approval if you have a majority of groups with a positive opinion rating. I would argue that a person who thinks you are decent enough in a variety of ways would not automatically translate into a fanatical supporter. And certainly wouldn’t if they had much reason to dislike you at all. But presently, having small amounts of approval across all groups translates into everyone absolutely loving you.

See this sampled voter:

group membership opinion weighted approval
everyone 1 0.31 0.31
middle 1 -0.39 -0.39
ethic 1 0.41 0.41
self employed 0.73 0.3 0.219
capitalist 0.93 0.32 0.2976
environmental 0.56 1 0.56
commuter 0.54 1 0.54
liberal 0.51 1 0.51
conservative 0.49 -1 -0.49
socialist 0.07 0.61 0.0427
totals old 2.0093
new 0.2941874085

So as it is currently (the “old” total), I could completely obliterate my standing with several of this person’s groups and they would still have 100% approval of me. As it stands, a randomly sampled voter is more likely to have 100% approval of me than every other possible approval rating combined.

My suggestion is that you take the sum of the weighted opinions as you did before, also divide it by the sum of a person’s memberships, and use that number instead in the calculation, giving the person’s “average opinion”. You can see the above voter’s approval is a more sane number after we’ve run it through the new formula. There might be some other adjustments necessary to make it make sense in the context of a 0-100% approval, but otherwise, this provides probably a more realistic approval rating per-voter.

I don’t think this is necessarily the best way to handle things, but I did want to draw attention to the problem with the current methodology: small amounts of positive approval across multiple groups yields most voters being fanatically supportive.


I suggested something like this for voter group happiness and voter approval
Its currently too easy to crash votergroup happiness into one of walls too.

Voter group happiness would be average of all happiness influencing factors + cynicism + complacency.
All those can change between -1 and 1.

Voter happiness then would be weighted average of voter group membership and opinion strength (voter group happiness).
This way you should make sure, that there isn’t too many voter groups in red happiness range.

That would be a huge and welcome change. I think that alone could already really make the game way harder.
Effectively what you’re saying is One Person One Vote. - People can have many opinions, sure, but everybody only gets a single vote.

This will be one of the biggest challenges for the devs moving forward. While my thoughts are not a direct reply to your suggestion, I reply in the spirit of improving this crucial game mechanic.

Within each voter group, there could be a (random?) percentage of voters who sees a particular identity group as their reason d’etre so to speak. For example I could be a parent, religious, and environmentalist but any policy that reduces religious view is a deal breaker. Some type of a weighted system where one or two identities is much more important. Hope this makes sense.

For example, this voter would have sub-50 if it used a weighted average. I don’t really think they should have 85% approval just because they’re retired.


Yep, voter group happiness would be be normalized sum of all influences (except cynicism/complacency), and then adjusted by cynicism and complacency.

For each voter weighted average would be better measure.
That is weighted average of opinion multiplied by membership, and then adjusted by perceptions, funding and ministers.
That is sum of membership*opinion/sum of memberships + perceptions + funding + minsters
Voter liking you as liberal, religious, patriot and capitalist, doesn’t mean, that voter loves you.
Just that you are liked.

This way cynicism, complacency, perceptions, funding and minsters would always keep relative influence strength no matter what other factors are.

On other hand voting against their own interest is tradition here and there…
That thing could be implemented in game after reworking how approval works.

1 Like

1.085 has improved things a lot on this thread’s front! Granted, it’s still too easy to make people happy, but that’s probably got more to do with numbers in policies than the backend. Thanks for taking the time to address this.

1 Like

I commented in another thread, but basically the solution that really works is likely to be a scaled hybrid of a number of equations.
A simple averaging has the problem of being TOO concentrated around 50% approval. Obviously the simple cumulative is giving wild swings.

What is currently in the game (1.09) is I think 82% normalized and 18% cumulative. I think the normalization needs to be slighly higher.