Recently I've been thinking in alternatives for the current "negotiation system" of the govt model. The reason is I know some team members don't feel very comfortable with what I proposed in the model. Some alternatives have been already presented by some of you trying to solve the bad parts of the current system, but there hasn't been consensus around them either. Since I want the vast majority in this team to like the way the govt model works, I spent some time looking for alternative ways. Here I present a new mechanism of interaction between political actors that I think will please many of those who don't like what the govt model has now. Please give your opinion!!
Very briefly, this is the problem to solve: given political actors, each with a share power and each with preferences for govt policies and govt's power distribution, we need to know what values policies will take and what power distribution will result.
The political actors are the ruler and 5 political blocks. For the purpose of explaining the new alternative system, I'll consider there're just 2 polblocks and the govt has just one policy to decide on. That policy will be Slavery (the policy can take any value between 0 and 1).
Assume agents' preferences are:
Ruler: RulerPower=60%, Polblock1Power=20%, Polblock2Power=20%, Slavery=0.2
Polblock1: RulerPower=20%, Polblock1Power=30%, Polblock2Power=50%, Slavery=0.6
Polblock2: RulerPower=30%, Polblock1Power=0%, Polblock2Power=70%, Slavery=0
Assume Current Govt Profile is:
RulerPower=25%, Polblock1Power=45%, Polblock2Power=30%, Slavery=0.4
The question is what values the Current Govt Profile will have after negotiations.
The fundamental idea of the proposed approach is political agents analyze possible small changes to current values. Let's focus on Slavery. We make agents decide if Slavery should:
a)increase from its current value
b)decrease from its current value
c)keep its current value
Slavery is currently equal to 0.4, but the ruler wants a value of 0.2, so he puts all his power (25%) to reduce it. So does polblock2 (with 30% power) who wants a value of 0. Polblock1 (with a power of 45%) wants to increase it, so, we get this scenario:
25%+30%=55% supporting a decrease
45% supporting an increase
0% supporting current value
Those shares can also be viewed as votes. The result (by simple-majority-rule): Slavery must be decreased. It does it by a fix amount (that'll be 0.01 and that's a game constant). Slavery is then set to 0.39. If we repeatedly do the same analysis you can see Slavery will constantly decrease until it gets to 0.2. When that happens, the ruler starts to vote for "keeping current value". Total votes are now:
Pro-Decrease: 30% (Polblock2)
Pro-Increase: 45% (Polblock1)
Pro-Keep: 25% (Ruler)
Now simple-majority-rule says it must increase. You can see the system will start to oscillate between 0.20 and 0.21. But don't worry about it for the moment. What's important here is a policy will either stay at its current position or increase/decrease until it reaches some point where it settles (or almost does, oscillating).
The system provides a way to model policies changes. It can also be used to model how agents decide changes to the power distribution. FE, let's see ruler's power: The ruler currently has 25% of power, but wants to have 60%, so he votes for an increase. Polblock2 also votes for an increase because this agent wants the ruler to have 30%. Polblock1 votes for a decrease, but its defeated by the combined power of the other two. Ruler power increases by the fix amount in several iterations getting to 30%. It stops there. Although the ruler has more power now, his 30% power (seen as votes) are not enough to move his power further up. Polblocks refuse to support more increases.
So, the system works for power distribution too. However, in the case of the above paragraph, if ruler power rose, the power of one or the two polblocks had to decrease. From the preferences you can see all three agents agree Polblock1 power should decrease, so this would be the one to fall. In general terms, though, the system can be used for power distribution as long as a couple conditions are met. Simply put, these conditions say "for each going up, there must be another going down". They aren't too hard to implement.
That's the basic system.
Pros and Cons?
Pros:
1) The more power an agent has, the biggest influence in final decisions.
2) Player gets nothing by "lying to the interface" (meaning he doesn't need trial and error to get what he wanted). Remember the current system needs a "trick" to avoid a lying player.
3) No machiavellian ruler (meaning the player can't take away power from others to increase his own. He could do so only if there're enough supporters who also want him to be more powerful). The current negotiation system needs to trust in the riots model to discourage "machiavellism".
4) Uses the idea of "votes" and simple-majority-rule. That would please some of you. I was always against the majority rule system because the 51% threshold converted you suddenly into a despot, but see below.
5) Easy to implement.
Cons:
1) No compromises: The final value of a given policy or polpower is one of the agents preferences. In the case of Slavery, FE, we found the final value matched ruler's desire. The current negotiation system does better on this because it allows compromises between positions as in RL negotiations.
2) 51%-rule is "active". But... (see next paragraph)
The main problem with the system is, once an agent has more than 50% power, he can do whatever he wants. From a standpoint of needing to negotiate, you jump to despotism. Also, having 51% or 100% power is the same, so you can't have degrees of despotism. You are either a despot or one more agent. Nothing in between. Some have argued that this in fact should be so, but, for arguments I refuse to state again, I think is a major flaw. But there's a way to fix it. To do it, we need to force the system to work with polpowers values equal or smaller than 51%. That means that when you get 100% power, the system interprets it as if you got 51%. In other words, we need to scale down powers before introducing them in the "negotiation machine". But this scaling can't be linear (FE, we can't simply halve polpowers) because we'd be just moving the threshold. Never mind about this mathematical stuff. Just consider this: The govt window will tell you your power is 75%, but that's not the number the system will really use. Polpowers are transformed before entering the machine through some function F. I have already found one that behaves pretty well and the next table shows examples:
shown_in_window number_used_inside
0% 0%
5% 5%
10% 10%
15% 15%
20% 20%
25% 25%
30% 30%
35% 35%
40% 38%
45% 38%
50% 39%
55% 40%
60% 41%
65% 42%
70% 44%
75% 45%
80% 46%
85% 47%
90% 49%
95% 50%
100% 51%
As you can see, in the range [0% , 35%] the machine uses the "normal" polpower value, but beyond 35% it uses and adjusted one. When polpower is 100% (absolute despotism), the machine uses a 51% that is exactly the value that allows the agent to ignore all the rest actors. Yet, the transformation is "monotonic", meaning the machine increases your influence in decisions when your power increases.
What does this mean in game terms? As a player, everything seems crystal clear: you see power divided between agents, powers sum 100% and the more power you get, the more affected govt profile is by your desires. When you get 100% you can ignore all agents and be an absolute despot.
Behind the scenes, the system works exactly like I described before, but instead of using the polpower values the player is seeing to "count votes", it uses the adjusted ones. That's something the player never sees and shouldn't care about.
Is there any cost in using adjusted values instead of the "real" ones? Yes, but IMO is small. At low values of polpower, getting 1% extra gives you more influence than getting that same amount at high levels. FE, if you have 10% power and it grows to 15%, then you get "5 more votes" (so to speak), but if you have 90% and it grows to 95% you only get 1 extra vote. The question is how upsetting that would be for players.... opinions wanted on this particularly!
------------------------
Implementation
I made experiments on an Excel sheet and it worked ok. Calculations are simple and only the conditions demanded for increasing/decreasing polpowers need some attention. Detecting oscillations also needs attention.
It's important to have all policies and polpowers rounded to the second decimal. We can't have something like Slavary=0.2345611. That's because of the fixed "delta" applied to each variable (0.01). But I'm sure nobody cares about that!
Speed of changes: The action of increasing, decreasing or preserving a policy or polpower value could be made on a turn-by-turn basis, but it's preferable to take the "Future Govt Profile" approach already existing in the model. That's because it's unrealistic if variables change always 1% regardless of the length of the game turn. When negotiations are called the game should apply the mechanism repeatedly until an equilibrium is met. By design, the maximum number of iterations is 100 and most times less would be needed. That govt profile is stored and the next turns the game converts smoothly the current govt profile into that at a pace given mostly by the years involved in game turns. That also helps optimizing things.
As a comparison, the current negotiation system gives "instantly" the Future Govt Profile, while in this proposal you have to iterate to find it.
-------------------------
51% rule
Something nice is you can switch very easily from the proposed system to a "FSmith's 51%rule". If the function F used to convert polpowers into "adjusted polpowers" is replaced by the identity function, you get it. That can be implemented at a negligible cost with a 0/1 variable.
--------------------------
Adding Compromises
There is a trick to add compromises if we want them. We'd have to add an artificial/auxiliary polblock that will be used only for negotiations (i.e. players will not know of its existence). We give it a piece of power (subtracted from the other polblocks) and give it a political profile built in the same way the Preliminary Govt Profile is in the current model. The PGP represents in the current model the interactions between polblocks and one of its characteristics is it merges political positions, creating compromises. Letting this special polblock play within the new proposed system (in the same stand as any other) would allow compromised solutions to have an impact. Normal polblocks would represent the "radical" positions, while the artificial polblock would represent moderates from all political spectrum looking for compromises.
Here we can have a variable to control the degree of compromises existing in a civ. The more power is subtracted from normal polblocks and assigned to the artificial one, the higher the weight of compromises in politics.
------------------------------
Opinions needed!
Very briefly, this is the problem to solve: given political actors, each with a share power and each with preferences for govt policies and govt's power distribution, we need to know what values policies will take and what power distribution will result.
The political actors are the ruler and 5 political blocks. For the purpose of explaining the new alternative system, I'll consider there're just 2 polblocks and the govt has just one policy to decide on. That policy will be Slavery (the policy can take any value between 0 and 1).
Assume agents' preferences are:
Ruler: RulerPower=60%, Polblock1Power=20%, Polblock2Power=20%, Slavery=0.2
Polblock1: RulerPower=20%, Polblock1Power=30%, Polblock2Power=50%, Slavery=0.6
Polblock2: RulerPower=30%, Polblock1Power=0%, Polblock2Power=70%, Slavery=0
Assume Current Govt Profile is:
RulerPower=25%, Polblock1Power=45%, Polblock2Power=30%, Slavery=0.4
The question is what values the Current Govt Profile will have after negotiations.
The fundamental idea of the proposed approach is political agents analyze possible small changes to current values. Let's focus on Slavery. We make agents decide if Slavery should:
a)increase from its current value
b)decrease from its current value
c)keep its current value
Slavery is currently equal to 0.4, but the ruler wants a value of 0.2, so he puts all his power (25%) to reduce it. So does polblock2 (with 30% power) who wants a value of 0. Polblock1 (with a power of 45%) wants to increase it, so, we get this scenario:
25%+30%=55% supporting a decrease
45% supporting an increase
0% supporting current value
Those shares can also be viewed as votes. The result (by simple-majority-rule): Slavery must be decreased. It does it by a fix amount (that'll be 0.01 and that's a game constant). Slavery is then set to 0.39. If we repeatedly do the same analysis you can see Slavery will constantly decrease until it gets to 0.2. When that happens, the ruler starts to vote for "keeping current value". Total votes are now:
Pro-Decrease: 30% (Polblock2)
Pro-Increase: 45% (Polblock1)
Pro-Keep: 25% (Ruler)
Now simple-majority-rule says it must increase. You can see the system will start to oscillate between 0.20 and 0.21. But don't worry about it for the moment. What's important here is a policy will either stay at its current position or increase/decrease until it reaches some point where it settles (or almost does, oscillating).
The system provides a way to model policies changes. It can also be used to model how agents decide changes to the power distribution. FE, let's see ruler's power: The ruler currently has 25% of power, but wants to have 60%, so he votes for an increase. Polblock2 also votes for an increase because this agent wants the ruler to have 30%. Polblock1 votes for a decrease, but its defeated by the combined power of the other two. Ruler power increases by the fix amount in several iterations getting to 30%. It stops there. Although the ruler has more power now, his 30% power (seen as votes) are not enough to move his power further up. Polblocks refuse to support more increases.
So, the system works for power distribution too. However, in the case of the above paragraph, if ruler power rose, the power of one or the two polblocks had to decrease. From the preferences you can see all three agents agree Polblock1 power should decrease, so this would be the one to fall. In general terms, though, the system can be used for power distribution as long as a couple conditions are met. Simply put, these conditions say "for each going up, there must be another going down". They aren't too hard to implement.
That's the basic system.
Pros and Cons?
Pros:
1) The more power an agent has, the biggest influence in final decisions.
2) Player gets nothing by "lying to the interface" (meaning he doesn't need trial and error to get what he wanted). Remember the current system needs a "trick" to avoid a lying player.
3) No machiavellian ruler (meaning the player can't take away power from others to increase his own. He could do so only if there're enough supporters who also want him to be more powerful). The current negotiation system needs to trust in the riots model to discourage "machiavellism".
4) Uses the idea of "votes" and simple-majority-rule. That would please some of you. I was always against the majority rule system because the 51% threshold converted you suddenly into a despot, but see below.
5) Easy to implement.
Cons:
1) No compromises: The final value of a given policy or polpower is one of the agents preferences. In the case of Slavery, FE, we found the final value matched ruler's desire. The current negotiation system does better on this because it allows compromises between positions as in RL negotiations.
2) 51%-rule is "active". But... (see next paragraph)
The main problem with the system is, once an agent has more than 50% power, he can do whatever he wants. From a standpoint of needing to negotiate, you jump to despotism. Also, having 51% or 100% power is the same, so you can't have degrees of despotism. You are either a despot or one more agent. Nothing in between. Some have argued that this in fact should be so, but, for arguments I refuse to state again, I think is a major flaw. But there's a way to fix it. To do it, we need to force the system to work with polpowers values equal or smaller than 51%. That means that when you get 100% power, the system interprets it as if you got 51%. In other words, we need to scale down powers before introducing them in the "negotiation machine". But this scaling can't be linear (FE, we can't simply halve polpowers) because we'd be just moving the threshold. Never mind about this mathematical stuff. Just consider this: The govt window will tell you your power is 75%, but that's not the number the system will really use. Polpowers are transformed before entering the machine through some function F. I have already found one that behaves pretty well and the next table shows examples:
shown_in_window number_used_inside
0% 0%
5% 5%
10% 10%
15% 15%
20% 20%
25% 25%
30% 30%
35% 35%
40% 38%
45% 38%
50% 39%
55% 40%
60% 41%
65% 42%
70% 44%
75% 45%
80% 46%
85% 47%
90% 49%
95% 50%
100% 51%
As you can see, in the range [0% , 35%] the machine uses the "normal" polpower value, but beyond 35% it uses and adjusted one. When polpower is 100% (absolute despotism), the machine uses a 51% that is exactly the value that allows the agent to ignore all the rest actors. Yet, the transformation is "monotonic", meaning the machine increases your influence in decisions when your power increases.
What does this mean in game terms? As a player, everything seems crystal clear: you see power divided between agents, powers sum 100% and the more power you get, the more affected govt profile is by your desires. When you get 100% you can ignore all agents and be an absolute despot.
Behind the scenes, the system works exactly like I described before, but instead of using the polpower values the player is seeing to "count votes", it uses the adjusted ones. That's something the player never sees and shouldn't care about.
Is there any cost in using adjusted values instead of the "real" ones? Yes, but IMO is small. At low values of polpower, getting 1% extra gives you more influence than getting that same amount at high levels. FE, if you have 10% power and it grows to 15%, then you get "5 more votes" (so to speak), but if you have 90% and it grows to 95% you only get 1 extra vote. The question is how upsetting that would be for players.... opinions wanted on this particularly!
------------------------
Implementation
I made experiments on an Excel sheet and it worked ok. Calculations are simple and only the conditions demanded for increasing/decreasing polpowers need some attention. Detecting oscillations also needs attention.
It's important to have all policies and polpowers rounded to the second decimal. We can't have something like Slavary=0.2345611. That's because of the fixed "delta" applied to each variable (0.01). But I'm sure nobody cares about that!
Speed of changes: The action of increasing, decreasing or preserving a policy or polpower value could be made on a turn-by-turn basis, but it's preferable to take the "Future Govt Profile" approach already existing in the model. That's because it's unrealistic if variables change always 1% regardless of the length of the game turn. When negotiations are called the game should apply the mechanism repeatedly until an equilibrium is met. By design, the maximum number of iterations is 100 and most times less would be needed. That govt profile is stored and the next turns the game converts smoothly the current govt profile into that at a pace given mostly by the years involved in game turns. That also helps optimizing things.
As a comparison, the current negotiation system gives "instantly" the Future Govt Profile, while in this proposal you have to iterate to find it.
-------------------------
51% rule
Something nice is you can switch very easily from the proposed system to a "FSmith's 51%rule". If the function F used to convert polpowers into "adjusted polpowers" is replaced by the identity function, you get it. That can be implemented at a negligible cost with a 0/1 variable.
--------------------------
Adding Compromises
There is a trick to add compromises if we want them. We'd have to add an artificial/auxiliary polblock that will be used only for negotiations (i.e. players will not know of its existence). We give it a piece of power (subtracted from the other polblocks) and give it a political profile built in the same way the Preliminary Govt Profile is in the current model. The PGP represents in the current model the interactions between polblocks and one of its characteristics is it merges political positions, creating compromises. Letting this special polblock play within the new proposed system (in the same stand as any other) would allow compromised solutions to have an impact. Normal polblocks would represent the "radical" positions, while the artificial polblock would represent moderates from all political spectrum looking for compromises.
Here we can have a variable to control the degree of compromises existing in a civ. The more power is subtracted from normal polblocks and assigned to the artificial one, the higher the weight of compromises in politics.
------------------------------
Opinions needed!
Comment