Dynamic Economy
Economy Manager
As the team balances and rebalances the game, changes probabilities and tasks required to produce crafting items, mining items or loot items, really what is being affected is the value of the items—how much time something takes and how rare it is determines what it is worth to a player to spend the time and effort required to get the reward.
With a static pricing system, the Rules team will be faced with rebalancing the prices of all items after every change, or can forego this task at the risk of having players underutilizing game features because they just don’t think it is worth it. If we make mining take twice as long to generate 10 items, the majority of players will probably stop doing it unless the prices go up as production goes down.
What we need instead of static pricing is an actual living economy where the prices respond in near real-time to the behaviors of the players and their actual production. This way if the miners stop mining because of a Rule change, mining items will start to be on short supply and prices of mining products will rise. These rising prices will motivate people to get back into mining again.
Player Behaviors – Supply Side
For every item in the game, players are by their behaviors, defining a supply curve for every product they produce. For example:
In this chart stolen from the Net, the players will produce 10 Iron Ore’s per day if Iron Ore is $1 each, or produce 140 Iron Ore’s per day if it is $4 per day, as shown by the red bar.
The beauty of MMORPGs is that we do not have to set the supply curve explicitly for each item ourselves. This is determined naturally by player behaviors reacting to the prices set by the game. Demand curves are another story, however.
Economy Manager – Demand Side
For each item, we must define a demand curve such as the blue one shown in the graph above. Demand curves indicate in a system what ‘people’ will buy when offered items at a given price. For example in the above graph, the world will demand 40 Iron Ore’s if they are as expensive as $4 apiece, but will demand 100 Iron Ore’s if they get as cheap as $1 each.
In the PlaneShift instance, merchants are the demanders of products produced by players. The demand curve of the item is representing the hidden demand of an entire world of Yliakum residents. We design each demand curve to get the types of prices we want from the evident supply curves the players are displaying.
Each demand curve will be represented as a line. P = mQ + K. Each item stat record in the database with this feature enabled must store the downward slope of the line “m” and the offset to get the line where we want it, “K”.
Economy Manager – Finding Equilibrium
The EconomyManager is notified of every exchange made in the game. The purpose of this is to measure “Q” per period. The period will be set for 3 real-time hours but we can adjust this as necessary to get smooth behaviors. Q will be stored per period, per item and will be normalized by the average number of players online during the period, relative to 100 players.
At the end of the period, we evaluate our Demand Curve to determine the equilibrium price. (P = Stored m * Measured Q + Stored K) If the new P value is higher than the current P set for this item, we adjust the price of our items upwards by 20% of the difference. Thus, if players do not detect the change and hence do not adjust their behaviors in the next periods, the official price for this item will steadily and asymptotically march up to the equilibrium point, which is the Demand Price.
If, on the other hand, players start to notice the new higher price, they will respond by producing more of the item for our merchants. Thus Q is higher in the next period and the equilibrium price yielded by the equation is lower. This means that on the demand side our engine is seeking equilibrium and on the supply side, our players are seeking the same thing.
If our rules change, our players’ behaviors will change entirely—in effect creating a entire new supply curve for the item. This will result in a new and sensible equilibrium point for the item within hours of the rules change.