A few things
The Fundamental Problem with the dominant Happiness model, where
Target Happiness is based on Current Alegiance
is that a Temporary one-time event imacting Allegiance will not impact Happiness in the same way
ie you drop a bioweapon killing off all Psilons outside your empire and Current Allegiance affects Target Happiness
Turn: Psilon Allegiance impact of the event: Happiness imact of the event on your Psilon worlds
1: -10: 0
2: -9: -1
3: -8: -2
4: -7: -3
5: -6: -4
6: -5: -5
7: -4: -5
8: -3: -4
9: -2: -3
10: -1: -2
11: 0: -1
It SHOULD be like this
1: -10: -10
2: -9: -9
3: -8: -8
4: -7: -7
5: -6: -6
6: -5: -5
7: -4: -4
8: -3: -3
9: -2: -2
10: -1: -1
11: 0: 0
To do this Happiness is not tracked, the Components of Happiness (like allegiance) are tracked, and then combined into Happiness
So in my system what Could be displayed on a world is
Happiness: +50, +70 (Current, Target)
Allegiance: +30, +70Bloodthirst/Pacifism match: +0, +60 (you recently finished a nasty war, but are at peace now)
Elitism/Equality match: -20, -20
We are Overlords: +40, +40
You killed some of our pop: -10, 0
You are just Great (diplomatic propaganda Event): +10, 0
We dis/like your diplomacy(breakdown possible): +10, -10 (you helped our friends out in that war, but you are at peace with unpleasant empires now)
Local:+20, Target=0We are a new Colony: +30, 0
This game is easy: +10, +10
We are starving: -10, 0
We are a minor world: -10,-10
This could be displayed under an individual species
Allegiance: +30, +70Bloodthirst/Pacifism match: +0, +60 (you recently finished a nasty war, but are at peace now)
Elitism/Equality match: -20, -20
We are Overlords: +40, +40
You killed some of our pop: -10, 0
You are just Great (diplomatic propaganda Event): +10, 0
We dis/like your diplomacy(breakdown possible): +10, -10 (you helped our friends out in that war, but you are at peace with unpleasant empires now)
Note: IF the movement towards target is a % of the difference, then you CAN know exactly how much is due to what, and the total will move in a believable way
(if every item's current value moves 5% towards the item's target value every turn, then the Total 'Current Happiness' will move 5% towards the Total 'Target Happiness' each turn)
You could also have Total movement come from the movements of all the parts, but that would be less predictable
Any event that affected Allegiance instantly or affected the Local conditions instantly, would also affect Happiness Instantly... because
Happiness=Allegiance+Local
(indeed Allegiance and Local themselves would just be sums of their components)
Now you Could do this with rules that
1. Every Event that
does +X to Current Allegiance of a Species A to Empire B
Also does +X to Current Happiness of every single world of Species A in Empire B
2. Every time the ownership of the world changes
give +X to the Current Happiness of the world
where X =Allegiance to new owner-Allegiance to old owner
But in my model
1. Those rules would be implicit
2. You can always get a complete breakdown of every component of Happiness, and Target Happiness
To answer Ronald X's Objections to
Quote:
I don't see any reason why I should get a bonus to my allegiance if another empire treats a race badly, or vice versa. I believe that is an overcomplication. I have enough to worry about designing ships, producing fleets, fighting battles, conducting diplomacy, defending myself from espionnage, etc. etc. to have to worry about how my planets are going to react if my opponent starts enslaving his people. I agree with the factors regarding ennobling/enslaving my own people, or killing billions of a given race, or destroying their homeworld, but the things that affect allegiance to MY empire should be MY actions, not my opponents'.
If another empire treats a race badly, that Should have NO effect on their allegiance to you
However,
If You perform the action of forming/maintaining/breaking an alliance, peace treaty or trade treaty with an empire that has treated a race badly, that Should have an effect on their allegiance to you.