Imperator - Development Diary #13 - 20th of August 2018

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Johan

Studio Manager Paradox Tinto
Administrator
Paradox Staff
Moderator
15 Badges
Dec 14, 1999
18.748
50.614
  • Diplomacy
  • Teleglitch: Die More Edition
  • War of the Roses
  • 500k Club
  • Crusader Kings II: Holy Knight (pre-order)
  • Europa Universalis III: Collection
  • Magicka: Wizard Wars Founder Wizard
  • Hearts of Iron IV Sign-up
  • Stellaris Sign-up
  • Imperator: Rome Sign Up
  • A Game of Dwarves
  • Magicka
  • Starvoid
Hello everyone and welcome to another development diary for Imperator. Today is the lucky number 13, and we’ll talk about how the politics in Republics work, or more specific the Senate.

The Senate, in a republic, has 100 seats, and each seat belongs to one of of five factions. Every adult character in a republic has a predilection of each faction, and is supportive of one. Each faction also have a leader, generally the most prominent character that supports that faction.

Depending on which faction the ruler of the republic belongs to, the republic gets various bonuses or maluses.

  • Civic Faction: +25% Tax Income, 10% Cheaper and Faster buildings.
  • Military Faction: +25% Land Morale, +25% Naval Morale
  • Mercantile Faction: +25% Commerce Income, +5 Diplomatic Reputation
  • Religious Faction: +10% Omen Duration, 33% Cheaper Religious Conversion
  • Populist Faction: +10% Power Costs


For Modders: You can freely add or remove factions and make them available to different government types, or have any type of trigger allowing the faction to give unique ones.

As you may notice there, having populists in power is not entirely beneficial.


The amount of seats in the senate change over time, depending on different factors, with the charisma of the faction leader always impacting the attraction of the seats.

If you wish to strengthen a parties position in the senate instantly, you can always spend oratory power to convince 10 seats to join that faction instead. Doing so however, increases your tyranny.

So why must you take into account the composition of the senate. Well.. There are three types of activities where the senate will impact your ability to do exactly what you want at any given time, like a ruler in an absolute monarchy.

The senate can outright block you if the support for the action you desire to do, if less than 40 seats is currently backing that action. And if less than 60 seats back the action, you can force it through, but you will gain some tyranny from it.

There are three different categories of actions which require senate approval.
  • All changing of laws require approval by the senate
  • A lot of character interactions, like banishing, imprisoning, etc.
  • All diplomatic interactions with other nations.


If the senate will approve an action or not depends very much on its composition, and what you want to do. Military Faction is very likely to back new wars, but even some of their seats will be against wars if you have war exhaustion, low at manpower or currently in a war.

When you do an action, a lot of times it has impact on the characters of your nation. Loyalty is lost or gained depending on faction membership, and seats are gained and lost for different factions.

For Modders: All of this can be controlled entirely through powerful scripting language.

Here is an example of the Senate Calculations for 'Declare War'


Code:
####################################
# Declare War
####################################
declare_war = {

    approval = {
    
        military_party = {
            base = 0
            always_modifier = {
                add = 0.5
                has_civil_war = no
            }
            always_modifier = {
                add = {
                    value = 0
                    add = root.manpower_percentage
                    max = 0.5
                }
            }
            always_modifier = {
                add = -0.3
                war = yes
            }
            always_modifier = {
                add = {
                    value = 20
                    subtract = root.has_war_exhaustion
                    divide = 50
                    max = 0.2
                }
            }
            #######generic
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = military_senate_support_svalue
                    max = 0.2
                }
            }
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = root.current_ruler.martial
                }
            }
            always_modifier = {
                add = 0.15
                OR = {
                    AND = {
                        current_ruler = {
                            num_of_friends >= 1
                        }
                        any_character = {
                            is_friend = root.current_ruler
                            is_party_leader_of = root.party:military_party
                        }
                    }
                    current_ruler = {
                        is_party_leader_of = root.party:military_party
                    }
                }
            }
            always_modifier = {
                add = {
                    value = 0
                    if = {
                        limit = {
                            root.current_ruler = {
                                party = military_party
                            }
                        }
                        add = 0.2
                        add = {
                            value = 0
                            add = root.tyranny
                            divide = 100
                        }
                        max = 0.4
                    }
                }
            }
            always_modifier = {
                add = -0.15
                current_ruler = {
                    num_of_rivals >= 1
                }
                any_character = {
                    is_rival = root.current_ruler
                    is_party_leader_of = root.party:military_party
                }
            }
            always_modifier = {
                add = 0.1
                government = aristocratic_republic
            }
        }
    
        civic_party = {
            base = 0
            always_modifier = {
                add = -0.5
                has_civil_war = yes
            }
            always_modifier = {
                add = 0.15
                NOT = { current_ruler = { has_same_culture_group_as = scope:target.current_ruler } }
            }
            always_modifier = {
                add = 0.15
                NOT = { current_ruler = { has_same_culture_as = scope:target.current_ruler } }
            }
            always_modifier = {
                add = {
                    value = 20
                    subtract = root.has_war_exhaustion
                    divide = 100
                    max = 0.1
                }
            }
            always_modifier = {
                add = 0.2
                scope:target = {
                    is_tribal = yes
                }
            }
            #######generic
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = civic_senate_support_svalue
                    max = 0.2
                }
            }
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = root.current_ruler.finesse
                }
            }
            always_modifier = {
                add = 0.15
                OR = {
                    AND = {
                        current_ruler = {
                            num_of_friends >= 1
                        }
                        any_character = {
                            is_friend = root.current_ruler
                            is_party_leader_of = root.party:civic_party
                        }
                    }
                    current_ruler = {
                        is_party_leader_of = root.party:civic_party
                    }
                }
            }
            always_modifier = {
                add = {
                    value = 0
                    if = {
                        limit = {
                            root.current_ruler = {
                                party = civic_party
                            }
                        }
                        add = 0.2
                        add = {
                            value = root.tyranny
                            divide = 100
                        }
                        max = 0.4   
                    }
                }
            }
            always_modifier = {
                add = -0.15
                current_ruler = {
                    num_of_rivals >= 1
                }
                any_character = {
                    is_rival = root.current_ruler
                    is_party_leader_of = root.party:civic_party
                }
            }
            always_modifier = {
                add = 0.1
                government = democratic_republic
            }
        }
        religious_party = {
            base = 0.1
            always_modifier = {
                add = -0.5
                has_civil_war = yes
            }
            always_modifier = {
                add = 0.2
                NOT = { current_ruler = { has_same_religion_as = scope:target.current_ruler } }
            }
            #######generic
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = religious_senate_support_svalue
                    max = 0.2
                }
            }
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = root.current_ruler.zeal
                }
            }
            always_modifier = {
                add = 0.15
                OR = {
                    AND = {
                        current_ruler = {
                            num_of_friends >= 1
                        }
                        any_character = {
                            is_friend = root.current_ruler
                            is_party_leader_of = root.party:religious_party
                        }
                    }
                    current_ruler = {
                        is_party_leader_of = root.party:religious_party
                    }
                }
            }
            always_modifier = {
                add = {
                    value = 0
                    if = {
                        limit = {
                            root.current_ruler = {
                                party = religious_party
                            }
                        }
                        add = 0.2
                        add = {
                            value = 0
                            add = root.tyranny
                            divide = 100
                        }
                        max = 0.4
                    }
                }
            }
            always_modifier = {
                add = -0.15
                current_ruler = {
                    num_of_rivals >= 1
                }
                any_character = {
                    is_rival = root.current_ruler
                    is_party_leader_of = root.party:religious_party
                }
            }
            always_modifier = {
                add = 0.1
                government = theocratic_republic
            }
        }
        mercantile_party = {
            base = 0.5
            always_modifier = {
                add = -0.5
                has_civil_war = yes
            }
            always_modifier = {
                add = -0.5
                trade_access_with = scope:target
            }
            always_modifier = {
                add = {
                    if = {
                        limit = {
                            root.has_war_exhaustion <= 10
                        }
                        value = 10
                        subtract = root.has_war_exhaustion
                        divide = 50
                        max = 0.2
                    }
                    else = {
                        value = 0
                        subtract = root.has_war_exhaustion
                        add = 10
                        divide = 25
                        max = -0.4
                    }
                }
            }
            #######generic
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = mercantile_senate_support_svalue
                    max = 0.2
                }
            }
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = root.current_ruler.charisma
                }
            }
            always_modifier = {
                add = 0.15
                OR = {
                    AND = {
                        current_ruler = {
                            num_of_friends >= 1
                        }
                        any_character = {
                            is_friend = root.current_ruler
                            is_party_leader_of = root.party:mercantile_party
                        }
                    }
                    current_ruler = {
                        is_party_leader_of = root.party:mercantile_party
                    }
                }
            }
            always_modifier = {
                add = {
                    value = 0
                    if = {
                        limit = {
                            root.current_ruler = {
                                party = mercantile_party
                            }
                        }
                        add = 0.2
                        add = {
                            value = 0
                            add = root.tyranny
                            divide = 100
                        }
                        max = 0.4
                    }
                }
            }
            always_modifier = {
                add = -0.15
                current_ruler = {
                    num_of_rivals >= 1
                }
                any_character = {
                    is_rival = root.current_ruler
                    is_party_leader_of = root.party:mercantile_party
                }
            }
            always_modifier = {
                add = 0.1
                government = oligarchic_republic
            }
        }
        populist_party = {
            base = 0.1
            always_modifier = {
                add = 0.15
                scope:target = {
                    is_monarchy = yes
                }
            }
            #######generic
            always_modifier = {
                add = {
                    value = 0.01
                    multiply = populist_senate_support_svalue
                    max = 0.2
                }
            }
            always_modifier = {
                add = 0.15
                OR = {
                    AND = {
                        current_ruler = {
                            num_of_friends >= 1
                        }
                        any_character = {
                            is_friend = root.current_ruler
                            is_party_leader_of = root.party:populist_party
                        }
                    }
                    current_ruler = {
                        is_party_leader_of = root.party:populist_party
                    }
                }
            }
            always_modifier = {
                add = {
                    value = 0
                    if = {
                        limit = {
                            root.current_ruler = {
                                party = populist_party
                            }
                        }
                        add = 0.3
                        add = {
                            value = 0
                            add = root.tyranny
                            divide = 100
                        }
                        max = 0.6   
                    }
                }
            }
            always_modifier = {
                add = -0.15
                current_ruler = {
                    num_of_rivals >= 1
                }
                any_character = {
                    is_rival = root.current_ruler
                    is_party_leader_of = root.party:populist_party
                }
            }
        }
    }
    
    loyalty = {
        military_party = 0.1
        populist_party = -0.1
    }
    
    support = {
        civic_party = -1
        military_party = 3
        mercantile_party = -1
        populist_party = -1
    }
}



2018_08_20_2.png


Stay tuned, next week we’ll talk even more politics with laws and offices.
 
  • 1Like
Reactions:
Do all nations in the game have a Senate, or is it only Republics? Or only Rome itself?

For example, if I chose to play as Phrygia (as shown in the teaser screen this week) which has a Monarchy, will a Senate cease to exist? If so, do I have absolute power in that case?
 
So Senate acts like a Council in CKII? Because so far entire gameplay of CKII revolved around stripping Council of power. Literally, all my friends play the same - do not change any laws with the exception of Council laws. Conserve resources to buy favors to force vassals to vote for Council reduction laws.
Wouldn't Rome gameplay the same? Where all your efforts would be aimed to reducing Senate's powers and becoming an Emperor?
 
NOW we're talking. The Senate features of Vae Victus were one of my favorite parts of the original EU:Rome so I'm glad it's back, and even more glad that Senate stuff is scriptable for modders, too.

re: the comparison with the Council and the Senate, like CK2's council, it can be very fun to go through the difference stances and the like. But the Senate faction system (and the attendant bonuses and attraction to each party) is inherently more complex and interesting than the CK2 council stances.

For one thing, you can use them to control which bonuses you get when -- if you know how to make seats move and adjust the right way. Can be very helpful, those aren't mild bonuses there.

Republics were my favorite thing to play in EU: Rome because of the Senate system in VV.

edit: I'm amused by the populists just being straight bad, because I'm a partisan of the senatorial aristocracy. That said, it's.... not entirely that wrong. Ancient demagogues usually tend to be disruptive and cause disorder. That said, it's a little odd they are completely negative in every respect. But in EU: Rome they were very much the "discontent" faction, so I guess the idea is that if the populists are gaining support you've done something wrong.

edit2: I'm hoping we get more screenshots in the next DD. I know we got one on twitter also, but it would be cool for the public offices one if we got to see more pictures. I mostly just want to see more of the portraits/clothes the different characters have, especially Roman office holders.

edit3: Observations on government types from this screenshot and twitter -- we've got "autocratic monarchy" w/"Greek traditions" and "oligarchic republic" w/"North African traditions." Eager to learn more about what those mean.
 
Last edited:
If you wish to strengthen a parties position in the senate instantly, you can always spend oratory power to convince 10 seats to join that faction instead. Doing so however, increases your tyranny.

 
will characters have the ability to influence the senate's composition or standing towards a decision of the player?
any comments on consuls/suffet election? will carthage have the same system or wil it be somewhat different?
 
I'm curious about how tyranny is going to work. I'm assuming like EU:R, we're playing whoever is the elected chief magistrate (consul, eponymous archon, etc. etc.) -- so does tyranny represent an individual character's tyranny, or the overall tyranny of the system? In other words, is it like CK2's tyranny or rather something like an inverse of EU4's republican tradition?

I'm hoping it's the latter mostly because a lot of the shortcuts and loopholes people used in the Roman Republic caused a breakdown of republican traditions and an increase in dysfunction. So pushing through measures without the measure of support necessary is rather akin to the republican system itself not working. So it may be a tyrannical action on the part of an individual, but it's also a failure in collegial senatorial government.

I'm wondering if republics can slide towards autocracy/tyranny/monarchy (or even if they are liable to complete breakdown and disorder, too) and hopefully we'll learn more about that in the future.
 
I like it.

Wanted something like this for EU4 factions...

So Senate acts like a Council in CKII? Because so far entire gameplay of CKII revolved around stripping Council of power. Literally, all my friends play the same - do not change any laws with the exception of Council laws. Conserve resources to buy favors to force vassals to vote for Council reduction laws.
Wouldn't Rome gameplay the same? Where all your efforts would be aimed to reducing Senate's powers and becoming an Emperor?

Sounds like natural progress of things. It depends on how hard it will be to remove senate from power.
 
In EU:R VV, the Senate was still around even after you reached the final Roman government type, which was "Imperium." And historically, the Roman Senate was never removed from power -- it generally bowed to the emperor's wishes, but defying the Senate could lead to consequences.

That would probably be the way to go in I:R -- under the Principate type of government, whatever it'll be called, the Senate still exists but is easier to control... however tyranny penalties may have steeper consequences.
 
Right now it seems like there is no reason at all to have a populist leader with the only feature being increased power cost. Maybe paradox can add a mechanic or modifier to your state leader representing the populists' ability to appeal directly to the assembly and bypass the Senate?
 
For Modders: You can freely add or remove factions and make them available to different government types, or have any type of trigger allowing the faction to give unique ones.
Does this mean we could have factions appear or disappear dynamically during the game? Like, a faction that only appears if you hold specific provinces, and then disappears if you lose them?

If so, that opens up some nice possibilities.