We're Hiring

Developer Blog: Laws Part II – Taxes, Ownership, Property and Wealth

July 10, 2020

Hey all, as we work down the home stretch of big-fixing and optimizations for 9.0, I wanted to talk more about the law system in the game and how it’s expanded and will support much of the future progress of Eco.

As always, let’s start with the overview over our Eco Update 9.0 Blogs:

  1. New Government system: Constitution
  2. New Government system: Elections and Elected Titles
  3. New Government system: Demographics and Wages
  4. New Government system: Laws Part 1: Using the system (This blog)
  5. New Government system: Laws Part 2: Taxes, Ownership, Property, and Wealth (This blog)
  6. New Government system: Laws Part 3: Tour of different actions, and Executive Actions
  7. New Government system: Districts
  8. New Crafting: Work Parties
  9. New Crafting: Labor System
  10. New Crafting: Modules and Efficiency Redesign
  11. New Crafting: New Tech Tree
  12. New Building System: Hammer and new Building Styles
  13. New Mining System: Mineral Dispersion and Drill Usage
  14. New Mining System: New Processing Path and Pollution Info
  15. New Animal System: Attacking Animals
  16. New Ecopedia System
  17. New UI
  18. New Audio (This blog)
  19. New Hosted Worlds System

For those have been following, the Law system is fundamental to a lot of the systems in Eco, and with 9.0 we’ve built it out to be very extendable and powerful. It can have all kinds of effects triggered by the world, and affecting the world in specific ways. Let’s look at a few of them.

TaxesOne of the legal actions you can trigger with laws is currency transfers, either taxing the player or paying them (when incentivizing something). Let’s set up a law that does both. We can make a law that detects a negative action, say ‘Pollute Air’ and taxes it:

We can set which sources will specifically trigger this:

In this case, since its for roads, we can make the vehicles that pollute be the ones that pay it, so we can limit it to just vehicle pollution via this dialog:

Next we setup the action to take when this trigger happens. We can assign a tax:

Here we’ve set the amount paid to be relative to the amount of the pollution. This is selected as a game value, which through the dropdown can be changed to many different types of calculations:

However, since the truck pollutes relatively slowly, this is going to be a low amount of tax. You can see this on the tooltip for the truck:

0.1 PPM per hour means youd have to drive around for an hour before only paying .1 in tax. Not enough. We can amp this up with an arithmetic operation inserted in there, performing a calculation to get the amount to tax:

Here the rate is taxed amount it multiplied by 100, making it a much more meaningful amount.
And submit!

Notice the law ‘hieroglyphics’ which give you an idea of what the law is about (pollution + tax).
Once this makes it into law, driving around in a polluting vehicle will slowly move funds into the treasury:

This notice pops up showing you the amount youre paying each ‘tick’ while driving. And we can see by clicking on the treasury, it’s starting to fill up:

To note here, the full transaction record of all bank accounts is public knowledge in Eco, meaning you can explore how the whole economy works. This is of course not how the real world works, but that extra transparency lets you ‘peer behind the curtain’, see how the inner economic machine functions, and understand it better. We might make it possible to have private transactions later, which will allow nefarious ‘white color’ crime a bit easier which should be something players have to contend with.

Now we can create the second part, the ‘Spend’ clause that puts that money to use.

Here it detects construction of road items, and if youre constructing them pays you out of the treasury. To keep a balance, if you deconstruct a road it charges you. So there’s an incentive to build roads, but you can’t just build and destroy the same piece over and over.

Now the law icons grew a bit to show these extra detections:

Now when you destroy road you pay, and when you build you get paid:

This shows how you can use multi-part laws to do connect parts of your world and add economic incentives/disincentives as needed.

Ownership and PropertyOwnership is another one you can change now, with a legal action to change property owners. We can make a law that uses the new Demographic system (see blog) to restore abandoned land to the commons. We check when a user first enters the abandoned demographic:

And then use the new ‘Change Property Owner’ legal action to move it to ownership of a government title (see blog) for redistribution:

Now we have a fail-safe for a common problem in Eco, players who abandon a world clogging up the space with their claimed property. By making the solution something that’s implemented through the law system, players get to decide what is the fairest way to handle that redistribution as part of the government decision making process.

WealthThe last example I’ll give is using the concept of wealth in laws. For example, we can make a wealth tax on a timer. Selecting the ‘Citizen Timer’ trigger will run a law on a specified period:

This will run an action on every member of ‘Abandoned’, every 24 hours. The trigger it runs can detect the wealth and tax based on that:

Here it performs a calculation, taking 10 percent of the player’s wealth in the given currency. You can see in the ‘Wealth’ tooltip what it’s doing exactly:

It looks at non-government accounts, and for multiply owned accounts it takes a pro-rated amount. So, no stashing those funds in overseas accounts, the government will still find you.

This just scratches the surface of what you can do with laws, and it’s really cool to see what kind of societies players are creating in our 9.0 playtests with these tools, from very complex and byzantine law structures to simple flat taxes. All kinds of societal experiments that play out within the game, one of my favorite things about it.

Thanks for reading and being patient as we finish up 9.0, it’s coming ‘soon’™, we plan to announce a release date in the next few-several weeks. If you want to get your hands on it early and give us feedback, chat to us on Discord and you may be able to join one of our playtests.

Also, as usual I’ll be covering the contents of this blog in our next livestream this Saturday at 11am (11:00) PDT / 8pm (20:00) CEST, drop by and ask me your questions!

– John K., CEO, Strange Loop Games

The Eco Team is a collection of introverted and sometimes genius programmers/designers based in Seattle and Australia. We all grew up and thrive in the video game culture, so of course making them is our dream job. We look forward to continuing to put out quality games for the community of players.

Leave a Reply

Your email address will not be published. Required fields are marked *