I simulated a free market economy in Minecraft, here are my results (Part 1)
Part 1 - The Fundamentals of Production and Trade in Minecraft
About This Series
This is part one of a planned three part series on the economics of Minecraft. If you are simply interested in the results of running a free-market experiment on a Minecraft server, I recommend skipping to Part 2:
The History of Minecraft and Free Markets
The idea of economics being a unique area of study that is meaningfully different to political philosophy emerged around the late 18th and early 19th centuries with the introduction and development of theory of the “free market”. Often misunderstood as a policy prescription, to classical economists the free market was not a natural state of deregulated economies, but an aspirational environment in which the power dynamics of colonial and mercantile Europe had no bearing on the economic decision making of European markets. In this theoretical resistance-less stationary vacuum of economic space, early thinkers such as Adam Smith and David Ricardo could study the “natural laws” that govern markets and trade, developing theories that remain salient even in societies with radically different power structures to those seen in colonial-era Europe.
According to historians, Minecraft is not an imperial power that generates economic growth by extracting natural resources from colonial outposts and enslaving technologically inferior natives, although slavery forms a suspiciously large part of Minecraft’s gameplay. No - Minecraft, is a 2011 sandbox survival game, with a strong emphasis on resource collection and player driven goals and gameplay. Much like in real life, your baseline objective is to survive, but what you do from there is essentially up to you. This, along with some mechanics that I will get into shortly, makes Minecraft a perfect videogame candidate to understand free market behaviour, as Minecraft’s mechanics do not bias the player towards gameplay objectives that would otherwise influence the way markets operate.
In the preceding paragraphs, I will guide you through some of the foundational tools that economists use to understand production and trade. I will try to explain how these tools and models are startlingly relevant to Minecraft’s gameplay loop, despite being developed centuries earlier to describe the economic behaviour of industrial Europe. Finally, I’ll conclude with a brief introduction to my methodology and how I designed my economic simulation/experiment.
Resource Scarcity, Production and Trade
In order for economic phenomena to emerge in a videogame, players must be constrained by resource scarcities that can be minimised by advances in production or an engagement in trade. Luckily for the case of Minecraft, both of these economic activities are naturally encouraged by Minecraft’s clever game design.
Understanding Production
Beginning with the simplest example, wood is the first resource that needs to be collected in order for players to advance in Minecraft. This means that virtually every Minecraft playthrough will begin with a player chopping down a tree, typically with their bare fists. Figure 1 shows the time required to chop down a log with each tier of axe. If you are unfamiliar with the gameplay of Minecraft, the efficiency of tools, like axes or shovels, can be improved by using rarer resources to craft them. Typically, the rarer the resource, the more efficient your crafted tool will be. This gives us six tiers of tools in total with Wooden tools being the slowest to break blocks and “Netherite” tools being the best overall (although not technically the fastest).
Figure 1 - log chopping time, source: https://minecraft.fandom.com/wiki/Log
Figure 2 - maximum amount of logs that can be collected in a minute
As we can see with Figure 1 and Figure 2, the maximum quantity of logs collected within a minute can be radically increased by improving the materials used to make our tool. Without going into needless detail, the efficiency of a tool can also be increased beyond its tier level five times for each tier. This gives us 30 permutations of improvements in total. If we define L (labour) to be the amount of time in minutes spent doing the task of chopping wood, and we define b as the amount of logs that can be chopped in a minute, then we can define the production (Y) of logs in terms of labour to be the following expression:
In addition to a tool’s resource collection speed, production can be made more efficient by increasing the amount of use you can get from each tool. Just like with capital or machinery in real life, tools in Minecraft experience depreciation. This means you can only use each tool to break a finite amount of blocks before it needs to be repaired or otherwise breaks. Figure 3 shows the durability of each tool tier, with durability representing the amount of blocks that can be collected before the tool needs to be fully repaired. In addition, we can also see the minimum amount of time required for our tool to break if we were using it constantly.
Figure 3 - time required to break, source: https://minecraft.wiki/w/Axe
If we let K (capital) be the number of tools of a particular tier we have available to us and we let d be the durability of the tool, then we can represent the production of logs (Y) relative to how many tools we have as follows:
Because tools (K) and labour (L) cannot autonomously produce resources without each other (that is to say, a tool cannot chop down trees by itself, it needs labour to do so) we will define our full production function as one of perfect complements:
The expression f(K,L) tells us pretty much everything we need to know about how “goods”, like logs, are produced in Minecraft. To give an example we can plug in the values of b (breaking speed) and d (durability) for an iron axe to tell us how much capital and labour we would need to produce 1,000 blocks of logs:
Solving for L and K we get:
This means that we need K=4 number of iron axes and we need to spend at least L=8.34 minutes chopping down trees in order to get 1,000 logs. If we graph relationship, then we can get all the possible combinations of capital and labour that will produce any given value of output:
Figure 4 - capital-labour graph, green line shows the ideal ratio of capital to labour for each level of production
More complicated versions of Minecraft’s wood production function can be derived if we consider more factors, such as how long it takes to find new trees, how long it takes to plant trees, whether there are more efficient techniques to chop down trees such as using TNT, etc… For the purposes of developing our intuitions as to how production works in Minecraft, however, this model should suffice. And of course, we can apply it to other activities by plugging in other numbers.
Division of Labour and Trade
Production alone isn’t enough for economic behaviour to emerge. Players need an incentive to interact with each other for the purposes of trade. In real life, trade occurs because other people have things that we would like for ourselves. In order for an exchange to occur, that thing that we desire should be sufficiently inconvenient for us to do or produce ourselves. For instance, while it is theoretically possible for me to make a new car using car parts available for purchase on Alibaba, to do so would be much more inconvenient and expensive than simply exchanging some money to a car dealership to buy a new car directly. Likewise, in the case of many survival video games, players do not have much of an incentive to trade because the way players gather resources is effectively the same across the board.
One of the cities on our server (home to about a dozen shops)
Minecraft is a rare game where well-placed creativity and ingenuity can drastically change ones gameplay experience. Players have designed many creative buildings and contraptions, known as “farms”, that radically increase the yield and production of goods. For instance, players are able to passively generate hundreds of blocks of “wool” by creating contraptions that automatically sheer sheep without the need of direct player interaction. Because these contraptions take time and effort to create, and because there are hundreds of different items and resources that players can design farms for, in small Minecraft servers it is ideal for players to have a division of labour whereby they specialise in producing particular goods as opposed to everyone haphazardly trying to collect all the same resources equally inefficiently. Players then benefit from trading these specialised and mass produced goods with each other, ultimately being able to consume more of all goods, including the ones they produce.
We can see how this can be true by giving the example of two players, one who is a butcher and the other who is a miner. The butcher has a sword with the “looting” enchantment, meaning he gets roughly ~2.5x the amount of steak from killing a cow. The miner has the “fortune” enchantment on their pickaxe, which means she gets ~3x the amount of iron from each iron ore block she mines. Lets suppose that both players only have 30 minutes to play each day and that mining and killing cows both take 10 seconds per yield. If both players spent all of their free time doing either mining or slaughtering then they would get the following yields:
Figure 5 - amount of Steak and Iron produced if players spent all of their 30 minutes on just one activity
Now lets suppose that both players would like to consume at least 150 units of iron and 150 units of steak each play session. To determine whether this is possible we can graph a production possibility frontier which represents all the possible combinations of iron and steak that can be produced by either player as represented by the shaded regions in figure 6:
Figure 6 - production possibility frontier, without trade
As the figure 6 shows, producing 150 of both goods is impossible even if the players spent their entire time switching between each task at their most efficient rate possible. If the players specialise and trade, however, then the Miner can offer the Butcher 150 iron for 150 steak, leaving the Butcher with 300 steak remaining and the Miner with 390 iron remaining. Indeed any combination of trades between 540 iron and 450 steak are possible, radically broadening the production horizons of this hypothetical Minecraft economy.
Figure 7 - production possibility frontier, with trade.
The graph above shows all the combinations of trades that are possible between these two producers. But what if a third player would like to purchase either iron or steak and does not have a good desired by the butcher or miner to exchange for?
Currency and Money Supply
Although emeralds are the currency accepted by Minecraft’s NPCs, in multiplayer servers players typically use diamonds as their currency. Diamonds are one of the only resources in Minecraft that is not easily harvested through an automatic farm or miner. This means that a fair amount of manual labour is involved in the process of diamond mining, limiting the supply of diamonds on any given server.
Figure 8 - spawn rate of ore, source: https://minecraft.fandom.com/wiki/Ore
In addition to the rarity of diamonds (see figure 8) the resource is used to craft several important items, making it a highly sought after mineral. With players using diamonds to trade as well as craft, there should be diamonds entering and exiting the economy at any given time. This also means that the supply of this currency will deflate if mining does not keep up with money demand, much like the Gold standard in real life. As we will see in Part 2 of this series, our economy did generally experience consistent deflation, as diamonds continued to exit the market.
One issue with diamonds as a currency, however, is that diamonds are relatively precious, leading to high exchange rates for goods and thus limiting the potential for low quantity transactions. To circumvent this, we can introduce a “diamond-standard”, whereby we issue multiple tokens per diamond at an exchange rate of 1,000 tokens per diamond" - that way players can use smaller value tokens instead of full value diamonds.
How to Simulate a Free-Market Economy
So how exactly did I go about simulating a free market economy on my private server? For the sake of data-keeping, I needed a way to register transactions, leading me to install two plugins that allowed me to keep track of economic activity on the server. These plugins were:
Vault - a currency/quality of life plugin that allows players to exchange diamonds for currency and vice versa,
QuickShop - a plugin that allows players to use currency to buy other player’s items. It also sends transaction logs to a mySQL server which we can download the data from and use in our python scripts.
Other than that, the server was completely vanilla, with no major gameplay changes that would otherwise interfere with the way items are produced. In addition to plugins, the economy was regulated by certain rules, that if violated repeatedly would result in a permanent ban:
No stealing items from chests or destroying people’s buildings (property law)
Contracts (aka formal agreements between players) are binding, meaning players can lease out farms, rent out land, agree to deals, etc… (civil law)
No cheating or x-ray of any kind (to prevent inflation of diamonds) (criminal law)
Thankfully, these laws did not need to be enforced often, as the private server consisted of about a dozen of my friends who I have been playing Minecraft with for years. Nonetheless, these few rules created the necessary foundations to cultivate a fairly diverse eco-system of economic activity. From rented out shopfronts, to farm licences to construction projects, the addition of civil contracts allowed players to quantify the value of services (in addition to goods) in Minecraft.
Figure 9 - Small sample of our data frame once the raw data has been collected and processed into a usable format.
In the next part of this three part series we will be looking at the results of the simulation, as well as diving into how GDP and inflation are measured. If that sounds interesting to you, be sure to subscribe to my Substack below: