2003-11-10: Vex Comments: Real Economics in a Virtual World
Vex Comments: Real Economics in a Virtual World
Nov 10 2003 7:41PM
This was originally posted to Development at uo.com. 
With Publish 21, we will introduce a new feature to NPC shopkeepers that will allow them to adjust their prices based on actual player supply and demand. It will allow for some new opportunities for craftsmen to profit, while closing a few loopholes with shopkeeper inventories. This feature has been up on the In Concept and In Development sections of the UO.COM Web site before. Concerns about the long-term stability of the system caused us to pull it. Until now, we simply haven't been able to re-address that feature.
Over the past year, we have found ourselves making bug fixes for a class of "buy low, sell high" problems in UO. I say "problem" instead of "exploit" because it actually is reasonable that a player should be able to buy some raw materials, process them into some kind of finished product, and sell them back for a small profit. It's not an exploit that gold can be created that way. But, it has become a problem, mainly for two reasons. The first reason is unlimited capacity. Not only is it possible in many cases to buy, transform, and sell some items for a profit, but you can do it over and over and over again ad infinitum! And second, in some cases you can do the process without even having to move anywhere, either because two compatible NPCs are both nearby, or you only need one NPC. When taken in combination, those two weaknesses of the system make it easier for the whole process to be automated. At that point, it becomes possible to make gold while away from the keyboard by having a macro program do it for you.
We've been fixing these issues individually as they come up. However, every time we turn off the largest of these gold faucets, players move on to the next largest one. The tide of automated gold creation is slowed, but not stopped. We found ourselves faced with a choice. We could go through all the shopkeeper templates, adjusting prices until it would be impossible to ever turn a profit by using a craft skill on raw materials bought from NPCs. (We realized that if we carefully adjusted prices so it was possible to make small profits doing this, then it would still be to the advantage of abusers to automate the process.) Or, we could make an alteration to the NPC shopkeeper marketplace holistically and make it fundamentally behave like a real marketplace. After much thought, we settled on the latter.
Originally, UO was designed with complex economics mind. NPCs used to alter their merchandise stock targets based on how rapidly they sold out of items, and as they sold their merchandise and supply became scarce, they would raise their prices. Also, they used to have limited bankrolls—they would purchase their stock from a global marketplace and sell excess inventory back to it. They also tracked sales from and to players, and their bank balance was never allowed to go negative. The system was set up so that NPCs would make a profit and even slowly create gold. It caused some problems as well—oftentimes, much needed resources were simply unavailable due to the rather slow restock cycle and conservative inventory adjustment logic. They would often refuse to buy items from players due to lack of funds.
At one point, we changed the system so that NPCs would restock more frequently. They would increase their stock targets faster and decrease them more slowly. We also eliminated their gold accounting, allowing their bank balance to go negative if they needed to purchase their target inventory from the global marketplace, or to buy back items from players. Additionally, we got rid of the potentially confusing and seemingly arbitrary price increases.
We met our immediate goals. NPC shopkeepers now had adequate stock available. Their prices were consistent, and they would always buy items back from players. However, those changes also had the unintended side effect of opening some get-rich-quick floodgates. Now it was possible to buy something, process it, and sell it back to the NPC shopkeepers for a profit. While before this would eventually cause the NPC to run out of money, now they would continue giving out money forever.
So, what solution have we settled on? Well, it's a hybrid between the original closed system with simulated supply and demand and the new system of unlimited quantity. We will be bringing back the idea of prices adjusted by supply and demand. NPCs will still have unlimited supplies of resources (both commodities and currency) to draw on. This time, however, the supply and demand will be driven solely by player action and not by fixed algorithms. Here's a description of how the system works:
Everything stackable, except reagents, will be subject to the following rules:
- NPCs always stock 500 units of their profession's commodities. They will also always buy back up to 500 of any stackable item they sell in one transaction.
- They will always buy back a commodity at 1 gp less per unit than they charge for it. The minimum sell price is 2 gp and the minimum buyback price is 1 gp.
- For every 1000 units of a commodity sold to a player, they increase the price of that commodity by 1 gp per unit
- For every 1000 units of a commodity bought from a player, they decrease the price of that commodity by 1 gp per unit
The act of buying low raises the price on the bought item. The act of selling high lowers the price on the sold item. So, you may be able to profit for a while buy buying raw meat and cooking it. But eventually the price will rise on the raw meat and drop on the cooked meat, and there will no longer be any profit in it. It also means that commodity prices will stabilize at a realistic fair market value. For example, it will be possible for blacksmiths to buy all the iron ingots they want, as fast as they want. But, the faster they buy the ingots, the faster the price goes up. Eventually, the price reaches a point where most smiths simply don't want to pay that much for the ingots. On the other side of things, miners may not be interested in selling their ingots back to the NPCs at the default low price. But, as smiths buy up the ingots and the price raises, miners become more motivated to sell. Somewhere, there is a target fair market value for iron ingots. That price is impossible for us to divine. It depends on how willing miners are to sell their iron ingots and how many iron ingots are needed by smiths.
So, what does all this mean? Mainly, it means that there is now limited exploitability for any possible combination of buy low/sell high. And it also means that the designed-in fixed prices for many items in Ultima Online are now gone. These prices will instead adjust themselves over time to meet a fair market value. For the longest time, it has been the general belief that UO’s gold piece economy is very much inflated, but fixed pricing on basic items in the game has limited that inflation to affecting only those items traded between players. By always buying items back for one gold less than they sell for, this system will slowly begin to remove some gold from the system. It may also become possible to profit from previously low-value items.
We will be here watching. We don’t expect things to get out of hand, but if this system change threatens to make the game unplayable, we’ll be quick to fix it.
Designer, UO Live