Developer Blog: A Little Place to Call Home

Posted on December 12th, 2020 01:38 PM EST
With the Eco 9.2 and 9.3 Updates, we’re adding new features of residency and rental properties, connecting individual skill gain deeper to the economy.



Residency
In Eco, the quality of your housing (along with your food) determines your skill rate. Previously, housing bonuses were calculated from all the property plots you personally owned. This meant that you couldn’t share residency, and you could have houses that gave you points scattered all over the world. We wanted to address both of these, and so introduced the concept of Residency.



With this addition, you will only gain skill points from a single property which you have chosen as your Residence on the deed. Typically, you’ll want this to be whatever residence gives you the most housing points.

Roommates
You can also have multiple residents on a deed, which means roommates can share the same housing value! Like real life though, the more people you cram into a house the less livable it becomes, and we’ve added an occupancy penalty based on how many people are residents of a given home. Importantly, however, this penalty is not linear; it’s barely punishing at all for the first roommate, slightly more for the second, and then ramps up from there to become very punishing.

This was added to make sharing a home with a single person a very small penalty, making it advantageous to pool your efforts with one person. On the other hand, we don’t want a single house crammed full of hundreds of players, so we made that a high penalty.

Note that the penalty here applies before the caps, meaning furniture will give you less points, but you can still make more rooms and reach the same total points as you would in a house where you’re the sole resident. This makes sense, as more rooms and more furniture makes a house full of a lot of people more accommodating.



Difference in penalty between 2 and 5 residents.

Since the penalty is so light for 2 and 3 person homes, I expect to see a lot of players combining houses, either with their friends or strangers they meet on the server. This can lead to lots of interesting collaborations among players, as they’ll need to more closely interact and communicate compared to solo houses, and they’ll get more bang for their buck (ie, if you have two people in a house you have twice the effort to build it, but only 10% penalty! That’s a big gain in efficiency overall).

You can specifically invite who you want to be roommates by setting an invitation on the deed. This can be specific, like a single user, or it can be a group invite, like a demographic such as ‘New Players’ or ‘Everyone’. You can also set the max occupants, which will limit how many people are allowed to crowd in. Thus, you could setup free public housing in your world by inviting ‘Everyone’ but having a max occupant of 2 or 3. Since players can only be a resident of one property at a time, they’ll space out efficiently, and new citizens could get a great residence right away if the citizens of a world have the resources to provide that sort of thing. This also takes advantage of the asynchronous nature of the game: you can create a residence that invites everyone to join, and then even if someone joins the server while you’re offline they can hop in, so you never have to be online together to set it up.

Also note that the ‘max occupants’ is a Game Value, meaning you can determine it with a plain old number or a calculation, same as the laws system (in fact it’s the exact same code! With our engine getting more mature its becoming easier an easier to add rich features). So you could have the max occupancy depend on the total server population, for example. Similarly, you could have special demographics for the invitation section, perhaps a demographic like ‘Is Eligible for Public Housing’ which looks at the player’s age, skill, wealth, etc.


Example of a ‘Calculated’ Max Occupants value that increasing occupancy allowance as world ages.

Rent
Taking this a step further to connect it to the economy, we’ve also added the ability to charge rent to tenants. Owners of a property can set a specific daily rental fee and/or move-in fee and anyone who becomes a resident will have to pay it. If they stop being able to pay it, they will be evicted (and as I mentioned in my twitter this is one of my fav features, because it’s so un-fun in reality and yet really interesting when implemented in a game, because you see it in a wider system perspective).



Just like the ‘max occupants’ value, rent and move-in can be determined by a Game Value, meaning they can rely on any calculation you like. You can make rent dependent on the renter’s total wealth or skill, or on the amount of total citizens needing residency, or the number of tortoises killed yesterday, whatever you like. Lots of potential for programming this fee to suit a given society.

Like residency, rent respects the asynchronous nature of the game: if the player is invited and can afford rent, they can take residency even if the owner is offline. This should make it very easy for citizens to setup additional houses that they can rent out for reasonable prices, and newer citizens can begin renting them to get immediate skill bonuses. Win-win for both parties. We’ve added visibility to make this easier: you can see any ‘recurring payments’ in the economy viewer now (rent, but also wages will show here), and there’s a new tab showing properties for rent.



The owner can also remove residents at will, unless of course the government gets involved…

Property Law
This being Eco, we’ve of course connected all this with the legal system. All the various actions involved in taking residency and paying rent go through the law system, which can prevent, tax, or modify them as will. For example, when a player leaves residency, an action is generated, and if this is a forced eviction it could fine the landlord or even prevent it.



This should have the effect of creating a big new opportunity in the form of the housing market, and the government can regulate and use it to finance other works as well. More connections in our web of systems!

Resident Rights
We wanted to make sure this feature would still be useful in a low-trust environment, IE you want to make sure your renters don’t trash the place. To aid this, we introduced Resident’s Rights. This is a special set of rights that a citizen will automatically get if they become a resident on a property, even if they’re not listed as an owner or as someone who ‘can modify’ the property. These rights will allow the following:
  • Residents can use any world object on the property even if they don’t own it, accessing its contents and functions, but not pick it up (so you can use the storage on property, but can’t steal it).
  • Residents can place their own world objects, and pick up any world objects that they placed down (so you can move your stuff in).
  • Residents cannot place down or pick up blocks (can’t modify the property, this requires more elevated permissions).



Of course, you’re welcome to also give your renters full access to the property through the usual interface on the deed, but then they’ve got free reign. Resident’s Rights gives the opportunity for a middle ground, that you can allow even for total strangers: you can sell benefits to a citizen without risk of them ruining your property. This makes it a lot easier for that collaboration to happen.

These rights apply to any vehicle on the deed as well, meaning you can easily make rental vehicles with this same system. This can have a huge impact on the transport system, creating a new type of economy-connected collaboration.



The Big Picture
One of the core design philosophies with Eco is building lots of interesting systems, and then connecting them together. The more connections, the more meaningful interactions are built, forming a network of ideas that are all meshed together, looping back on one another (which hints at why our company name is what it is). With the feature of residency connected to the economy (through rent) and government (through property law), this adds a ton more interesting connections that can emerge in rich and collaborative ways, creating many ways for a society to organize and regulate.



Also really exciting to note: most of these features here are all a byproduct of the huge refactor we did to the law system for Eco 9: the ability to have game values everywhere, law integration with game actions, economy integration, etc. Because those features were made in an agnostic way (they were added to the engine itself, not just tied to laws exclusively) we can get really unique new possibilities with very little work, which is why we’re able to add this pretty large feature in a minor update, residency in Eco 9.2 and rent in Eco 9.3. You can expect to see accelerated progress on Eco as these investments we made in our tech start to pay off.

And finally, this is a step to a much wider feature set and expansion of the game we’re calling Eco Infinite, in which there is much gameplay after the meteor as people build public-good projects like universities, museums, research labs, and cultural items, to create a growing utopia. Much more on this later, but residency and property law is one of the first steps.

Thanks for reading all and let us know on the Eco Tree[play.eco] what you think!

-John K
Click here for the source of this article RSS Feed