Designing an Economy

Designing an Economy

I’ve played on many different servers in the past three years, some have kept my focus more than others, one commonality on the those that I enjoyed was an economy. It gives players an opportunity to obtain items other then by pure grinding.

So when my own servers population expressed an interest in an economy I was happy to investigate. This article explains the process I went through and the rational behind some decisions that were made.

What did the users want?

For Caldonia we had to figure out what users wanted an economy for, we’re very careful to ensure that new features fit our player base and that those features do not imbalance the game. We also never introduce features which can’t be ignored, we’re primarily vanilla hard.

The first step in this process was a questionnaire to our users with the usual incentive of providing a chance of a few diamonds for filling it out (six diamonds to three random responders). We asked a bunch of questions, asking how much the player wanted an economy, what should they be able to use money for, etc.

One very clear point we received is that all items the economy used must never be “spawned” in by staff, if it’s available legitimately in the game then no infinite sources of it. Though a large proportion of players wanted to be able to turn money into XP, and about half as many also wanted the opposite.

There was interest in unobtainable blocks and items such as Spawn Eggs, but I’ll come onto that later.

Deciding on the Base Economy

Once we established that our players didn’t want spawned items we knew this had to be a serious economy which wasn’t exploitable. Designing an economy which will never be exploitable is tricky and perhaps impossible, so the best thing to do on day one is to just play it safe.

The first problem to solve is how users get money in the first place, after all if they have no money they can’t buy anything to give someone else money.

One idea which came to mind (and was thrown out before it even fully formed) was to simply give all players a large stipend on first join, throw $10,000 at them and leave it at that. This causes large issues however as inflation takes hold every time a new player joins. As I said, thrown out.

A better way is to allow players to trade objects to the server in order to get money. We have to be very careful however what we allow users to sell. You can’t use anything that’s overly easy to come by (unless you’re giving minuscule amounts for it) or anything that can be easily duplicated (by game design, glitch duplications will happen and you just have to tidy up after them), Emerald, I’m looking at you.

Once you start thinking about what’s valuable to a player you get to diamond, gold, iron, coal, redstone and lapis lazuli, though I accept the last three may not be. In order to decide how much each item was worth though, we need to find out the ratio of them in the ground.

Using WorldEdit (see the //distr command) I analysed how many of each were in a large selection of chunks, however it quickly dawned we needed to be slightly smarter. You have to take Fortune 3 into account for the ores that would be affected by it (diamond, coal, redstone and lapis lazuli).

At the end of this process I came up with my results, I suggest you do the same yourself, on a quick Google I can’t find a set of ratios which agree with each other, or include Fortune 3 effects.

So for example purposes these figures are made up: 1 Diamond - 16 Gold Ingots - 64 Iron Ingots - 256 Redstone - 256 Laps Lazuli - 512 Coal

Remember Emerald and I said to ignore it? If you assumed there was 1 in every chunk (which is roughly right for every chunk in a suitable biome) then compared to the 10 diamonds you might manage to find in the same chunk… suddenly something which can be easily duplicated is worth 10 diamonds each… your potential economy just collapsed before it was real. Don’t base an economy on Emeralds!

Right now you have your ratio, pick a base value for a Diamond, let’s say $4000, each item becomes worth the following: $4000/Diamond - $250/Gold Ingot - $62/Iron Ingot - $16/Redstone - $16/Lapis Lazuli - $8/Coal

That’s the basis of your economy, those are the values you want to give users for each item. By association a diamond pick is worth $12000 due to material cost, a gold hoe $500.

My advice based on my experience is to not bother with redstone or lapis, not enough people care about them, they’ll simply trade it all in to get as much money as possible. People did similar things with coal, so as a discouragement I artificially reduced it’s value down to about 33%.

Closed or Open Economy?

Does your country have an infinite amount of money? No. There’s only so much money available in your economy, if a country were allowed to just make up large amount of money you’d get huge inflation… oh wait… *glares at house prices in the UK*. If it just continues you eventually get hyper inflation, the above One Hundred Trillion Dollar note when it was last legal tender was worth less then a loaf of bread, I think I paid on eBay more for mine then it had ever been worth.

In my opinion the amount of money in the system needs to be relatively closed, a small amount of inflation isn’t a huge problem and can be controlled, but on the whole the amount of money in the entire system should be fixed.

Coming up with this value is difficult, when I went live with it I chose $10 million, it was an arbitrary decision. You might want to take a different approach, such as calculating the total amount of diamonds in your entire map (based on the ratios above) and using that. Remember though that your entire map will never be completely mined.

Perhaps I worry about this point too much, if the server runs out of money then hopefully it’d encourage trading between players. I’ve never hit this situation so I don’t know.

Stipends, Economy Based Rewards and Tax

When players join the server for the first time they are gifted $500, this offers them the opportunity to go do a bit of shopping, perhaps get food or a small amount of iron to get going.

We have mini games on the server which players can enjoy, on those which they play against the server (again to avoid fixing PvP games) they are rewarded with small amounts of money.

“Why Melair, isn’t that going to cause inflation?”, well yes random internet person, it could… a little… kinda. We have two mechanisms to help balance this out.

The first mechanism is that all transactions on the server are subject to a tax of 5% of the purchase amount, this means there is a steady trickle of money heading back into the servers account. It helps pay for the rewards and new player stipends.

Because not all plugins support transferring the stipend or reward from one account to another, every hour the server totals up all the money that people have in legitimate accounts and adjusts the amount in the server account to make it all add up to our flat value of $10 million. It’s this mechanism that could lead to inflation, it’s entirely possible for the server account to have to be set to $0 and there be more money in players accounts then the $10 million.

It’s never happened, and if it did we may need to look at increasing the total amount in the system anyway.

Server Supply and Demand

So players get their money initially by selling items to the server, it’s important that these items don’t just disappear, we’d like players to be able to spend money on them as well, putting money back into the servers account.

With our above prices above and the amount of fixed money in the economy, it wouldn’t take much to make it go bust. In fact a mere 49 stacks of diamond would do it, we can’t have this. In real life as something becomes more common it becomes cheaper, as it becomes more rare it gets more expensive, basic supply and demand.

We can meet all of these goals with a plugin called HyperConomy. It let’s players sell to the server at a price, and players can buy back at a price. The nice thing is that you can set the maximum amount of items you ever want to stock, and the price you want them to be when you have an average amount of them in stock.

So if players pump lots of an item into the market the price begins to lower, tending towards 0 at the high stock end. If players attempt to pull out all of the items the price tends towards infinite at low stock.

This plugin is hugely configurable with options such as having a fixed rate until you hit the average quantity in stock. You’ll really need to play around until you have an idea what values work for you.

It’s in HyperConomy you set the ratio calculated values we worked out above though. HyperConomy by default has fixed starting prices which tend toward double the normal value. I personally advise against this, the authors of the plugin suggest this is to encourage people putting things into the economy at the start.

Player Trade

Once players have money they can finally spend it, given that my players didn’t want spawned in items there’s very little else as a server admin that I can do. Allowing players to set up their own shops lets them influence each other as to what should be on sale.

Using ChestShop and/or ShowCaseStandalone are common solutions to this, the players can either place a chest and sign, or set up a fancy display case (maybe that should be a perk plays can pay for).

The only problem with player to player trade is where do they do it?

Renting Land / Shopping Mall

I’m assuming you have some kind of spawn area which is the “centre” of the server, most servers do, even if it’s just a place newbies appear. An organised area in which players can set up their own shops helps the economy, especially if there’s easy and cheap transport to it.

If you don’t allow a /spawn command it might be worth considering setting one up just for the shopping mall.

If you have a proper shopping mall set up then you have another opportunity to get money back from players into the servers account, using Residences or similar you can easily rent out plots which players can build on.

A Shopping Assistant

Shopping Assistant by Leo Reynolds

If you do have a Shopping Mall a side effect you’ll probably see is “who’s selling red wool?” in chat and similar. There are a few plugins out there which can assist, such as ChestShopFinder which let’s players type “/buy wool:red” and receive a list of shops which do.

Controlling the 1%: Money Sinks and Spawned Items

A big risk is that you’ll get a couple of players who “master” the economy, they’ll control 90% of the wealth, the economy will dry up and no one spends. There are a couple of ways of helping to alleviate this.

You can sell items that are normally unobtainable to players, you’ll need to be careful you don’t unbalance the rest of your game play though. An example of such is items like Peaceful Monster Eggs, cracked/mossy stone bricks and other decorative bricks.

Temporary increase player ranks might be an option for you, access to some tools which will would help players but not imbalance things too much, a special prefix to show they are special (think reddit Gold).

Selling lots in your city (if you have one) rather then renting might be another option. You could also make it against your rules to horde money or cap your users bank accounts at a maximum value.

Farmable/Duplicatable Items

I’ve mentioned Emeralds so far as items you should avoid, further to that if you allow mob farms you may need to not accept Iron into HyperConomy due to Iron Golem farms.

Remember to try and figure out if the items can be easily made, such as food stuffs, cacti, etc. Players will start to sell or buy that on their own if they want, some players will sell food very cheap if they have large farms to help newbies.

Wood is another obvious thing to add in here, but another way to view it is that these are items everyone needs and by buying it you’re essentially buying the service of someone else cutting it down for you. Same with selling stone, someone else smelts it for you.

A word on selling XP and buying XP, be careful. Selling XP probably means that players will use mob grinders/XP farms less which may be good for your server. Buying XP however opens you up to players using grinders then selling. Allowing players to sell enchanted items easily seems a better solution then dealing in the XP it’s self.

Last Words

Running an economy can be a lot of fun for your players and a challenge for you, it is going to increase your work load at some level. It might be just monitoring the economy to ensure it’s not being exploited, managing leases in a shopping mall or trying to figure out who spent what where.

Give it a go and go cautiously, watch every Minecraft update and try to understand what each new set of changes will do to the economy.

TL;DR - Base economy on diamonds, gold and iron ratios, HyperConomy to get money to players, ChestShop/ShowCaseStandalone for players to trade, control inflation, DON’T TOUCH EMERALDS!