Solving the flat tax/income tax issue

I know that together these are overpowered, and also that having BOTH makes no sense. I have thought about this a lot, and thinking about other policy combos that make no sense (gay marriage + ban homosexuality) its clear that we need a system that makes pairs of policies incompatible.

So i’m implementing this now. Each policy will have a list of opposites. When you go to implement that policy, it will warn you that doing so will instantly cancel the opposites if they are currently active (no political capital cost for these cancellations in this case).
You can then go ahead or not.

I think this makes a LOT more sense than any attempt to fudge the existence of both taxes using clever algebra. Its clear and simple and decisive, and can be done relatively easily. Plus as I said, it allows for other pairings that make no sense to be fixed too.
Coding it now!


Will we be able to see which policies are opposites by clicking on a policy? And if we load a saved game where policies that are opposites are both implemented will the game outomaticlay try to remove one of them?

As for the former, there will be a confirm dialog, so you will see beforehand. I could add extra data in the new policies screen I guess, would be Easy.
I don’t intend to make it retrospective, so old save games with both would be fine. This would only be enforced in the UI through the new policy screen.


Income Tax and Flat Income Tax could be implemented at the same time. For instance, in France there is the Income Tax and additionally a 10% of tax over the salaries of workers and a 6,6% over the incomes of the pensionists. So, it is possible. Other thing is that the total revenue could be reduced if there is a high tax pressure.

as said, with these two taxes in particular, it’d actually make more sense to make them a single policy instead. Just add the ability to have a progressiveness vs. money tradeoff.

This seems like a super elegant and also more flexible solution to me.

Though generally speaking, disallowing opposites, or keeping back “upgraded versions” until the “more basic version” is implemented (say, Space Program vs. Mars Program - assuming you don’t just merge those as I suggested elsewhere) still very much makes sense, yeah

1 Like

wouldn’t that be a payroll tax?

1 Like

No. Because I think that payroll tax is what we call social contributions to the Social Security, because it is paid mainly by the employer and other part by the employee.
Well, in France I watched that additionally to Income Tax and Social Contributions or Payroll Tax there is a 10% extra of tax over the workers’ salaries (I think it is currently a 9,2%) and a 6,6 % over the pensions.

Yup, the reason payroll tax is singled out, regardless of what govt does with the money or whether or not it is ring-fenced, is because it generally, at least partially, directly costs the employer money and is therefore a disincentive to hiring, and perversely an incentive towards automation, whereas in general employers don’t have to care what rate of income tax their employees have to pay.

Will modders be able to play with the conflicting policies? Will it work like overrides or is it an addition to the policies page?

The opposite policy idea is an awesome idea! That being said I just wanted to reinforce that seeing which policies are opposite even before implementing (via the policy screen) is also a better idea then leaving the player blind.

As for the taxes…

I think the flat vs. Non-flat income tax policies have aged…not too well. In reality countries all over the world have all kinds of different tax rates. Some have high taxes on the middle class, low on the lower, higher on the upper, flat all around etc.

It would be more complicated, but would it not be possible to scrap the current income tax policies with a more customizable income tax policy with multiple sliders? One for each class of earners at least, perhaps even age groups like youth and retired so you could abstain them from taxation on income?

With a system like this you could have either a progressive or flat income tax that would affect each voter group accordingly. Less flat income tax will displease capitalists, progressive taxation with higher taxes on the wealthy will please socialists. Progressive taxation that isn’t as focused on the wealthy would displease socialists but boost the wealthy relatively speakimg etc.

1 Like

I mean, the incidence of a tax on worker’s income and a tax on payrolls (i.e. the income of the workers employed) is going to be exactly the same lol

I still think Income Tax and Income Tax Progressiveness would be good enough here, but three separate Income Taxes for the three rough income levels would work too.

I added in text on the new policy screen (you can see it behind the popup here) to show what a policy is opposite to, on the new policy screen:

Regarding scrapping them, and having multiple sliders… this has been ruled out partly because it vastly complicates the underlying code (You don’t want to know the horrors involved…), but mostly because it breaks one of the fundamental principles of the games user-interface, which is that each policy has A slider.

I think if some policies had more than one, then they would have to interact together, and have that explained and graphed for the player…and although it sounds like the outcome would be more desirable, the implementation would be horrendous :smiley:


Even without multiple sliders (which, yeah, that would be the ideal way to do that), you could handle the progressiveness slider the exact same ways as the Prison Policy silder. As a separate policy.

I guess one way you could do it is to, in the shop, add Two Policies For The Price Of One. Two separate symbols. They’d also have to go together if you decide to cancel them (which, for a policy like that, is gonna be rare)

Essentially, the progressiveness policy wouldn’t have a Cancel button. Only the actual tax rate would.

Call them “Income Tax” and “Income Tax Progressiveness” and it should be clear enough

Communicating they are connected could be done in a lot of ways:

  • have them have the same symbol, except Progressiveness gets a Plus symbol in the corner
  • mention in the text of both policies, that the other exists.
  • perhaps add a link in that text to go from either to the other
  • perhaps add the other policy’s symbol as a clickable link in the policy slider menu in one corner
  • make sure to have the two bubbles always be close together
  • if they are always close together, you could also add a visual tether (could be as simple as a straight shortest path line) between the two policies

It’s not necessary to do all of them. But any combination of them should get the point across quite clearly.

1 Like

I disagree with Income Tax and Flat Tax mutual exclusion.

Cliff, while you’re at this can you incorporate policies having other policies prequisites.

So in order to do policy X, policy Y must be enabled and cancelling X at any time causes Y to automatically fold.

I don’t completely agree with flat tax and income tax being completely mutually exclusive I guess, cause isn’t the poll tax or community charge sort of a flat tax which was implemented while income tax remained in place. Though I maybe wrong on this, I think this is a good solution but maybe there can be something separate for local taxation/local government?

Well to be honest we kind of totally ignore local government, or pretend its the same as central government, because otherwise we get drawn into a whole quagmire of variation in the way the central/local politics works in each country, which is more accurate and complex, but I would argue not any more fun (and would put people off playing countries they are not familiar with)


I 100% endorse that Cliffski. Also, I’m glad to finally get mutually exclusive policies in.