So game economies are always based around pre-set prices, and I was wondering about building out a more complete and full on price discovery system. Let me explain.
In game economies, when we build out a set of items or whatever, we give each item a hardcoded price. If we want to build in some economic simulation, what we do is generally vary the price up or down some percentage from that hardcoded price.
So as a given, we generally start with the idea that wood is worth 10 gold. Then if there is a wood shortage we multiply that value up by like 1.2. All operations with the economy is fundamentally a multiplier against the âfair priceâ of 10 gold.
This makes sense and is fairly easy to work with, but its fundamentally at odds with market theory - wherein the proper price for something is the price the market will pay. In capitalism the idea of a âfair priceâ doesnât really exist. Wood isnât worth 10 gold, its worth whatever people will pay for it at a given time.
I realize that this might not be good gameplay, or be worth doing - but I have to wonderâŚ
Whatâs the simplest way to build out an economic model that doesnât include a hardcoded starting price for goods? What are the bare bones elements that you would need to have a market discover the price of wood without hardcoding a starting value?
Not true. Lots of games use supply & demand pricing. Look up pretty much any game with âTraderâ in the name (often in combination with some variation on âstarâ or âgalaxyâ, at least in the games Iâve played).
Yes, but all of these games have a starting hardcoded price for each type of good. Then they use supply and demand as a multiplier against these âfair valueâ prices.
If we do not hardcode prices at all, whats the simplest system needed to have markets agree on a price?
Obviously you would need some representation of supply and demand.
So if I wanted to build a model for this, what is the model with the fewest parts?
What is the simplest model needed to determine the price of something without a hardcoded starting point?
Why should something be 10 gold and not 1000 gold?
supply and demand. Thatâs how economists model the economy in simplest terms.
Supply and demand.
Supply and demand. Remember that money is no different than any other commodity. Itâs value is determined by supply and demand as well. Whether something cost 10 or 1000 depends on how much demand there is, how much of it there is vs. how much money there is and how bad people want money.
If you canât figure out how to determine prices based on supply and demand, than maybe you havenât thought about the availability of money in your economy?
PS, as a note - saying âsupply and demandâ doesnât actually resolve anything. There are different ways to model something like supply and demand, from macro curves, to bid/ask spreads driven by individually modeled agents.
What inputs and outputs do we need for supply and demand?
What is the simplest model that can support price discovery without having a fixed starting price?
If we build out currency backed by commodity, does a solid model require the currency issuer to hold reserves?
OK, these are good questions. I would start by modeling need. For each commodity, come up with a formula that indicates how badly consumers in the market need it â which will depend on how fast it is consumed, whether it is a luxury vs. a necessity, the population size, how much of the commodity an average person needs, and how much they already have (off the top of my head).
Then, youâll need a model for how much money your average market member has (and that too will have some rate of growth, and perhaps a rate of decay to model all the expenses youâre not tracking).
Then on the supply side, you of course need to know how much of the commodity sellers have to sell.
Now the suppliers and consumers essentially do asks and bids, respectively. Each of these is a function as well: the supplierâs ask curve says how much of the commodity they will sell for a given price; and the buyerâs bid function says how much they will buy at a given price. These will both go from 0 (at a ridiculous price) to infinity (at a ridiculous price the other direction), but of course limited by actual money and commodity supply. You can work out these curves as a function of the consumer need and supplier supply (which you can treat as âneedâ in the sense that suppliers would like to convert all of their commodity supply to money; the more they have, the more they need to get rid of it).
At that point, I would start doing random samples. Pick a price anywhere in the range between the supplierâs minimum ask and the buyerâs maximum bid. From the bid/ask curves above, calculate how much commodity changes hands at that price (itâll be the minimum of the two). Update the need functions and repeat. To display a âcurrent priceâ for the commodity, just show the weighted (by amount of goods transferred) price over the last N such transactions.
No, itâs not simple. I suspect there isnât a simple model that will do what youâre asking. But the above simulation method isnât too bad. Oh, your bid/ask functions may need to take into account the current average price of the commodity (human traders certainly take this into account). Donât worry about that; just plug in an initial price of 1 per unit, then run the simulation for a few thousand cycles, and the prices should quickly settle down to the ârealâ price. (Possibly you could short-circuit that with more math, but the simulation approach is easy and fast enough.)
Ok. So letâs imagine that we peg our coins to grain. We say that you can redeem one coin for 10 grain.
If we use this system, then we can eliminate the need for a âmoney supplyâ or a market for money entirely. We can just use whatever commodity we back the currency with.
I think this system makes the economy much, much more stable in game. Basically, our entire economy is barter driven, and we donât need to figure out a separate âmarket for moneyâ or whatever. All we need to do is figure out:
How much grain can we trade a for x? How much grain can I trade a sword for?
And we can figure this out by looking at the in game production/consumption of grain and swords. So in game terms:
We have blacksmiths making swords and farmers making grain, armies need swords and everyone eats grain - so we can figure out roughly how much grain there is and how many swords there are (and how much people want either).
So, if you have a big war, demand for swords can go up (each sword is more valuable), but if the enemy army is burning all your farms then supply of grain goes down (each unit of grain is also more valuable). This kind of thing could make for some pretty interesting mechanicsâŚand it also kind of illustrates why you probably shouldnât back your currency with something like grain.
Sure, but once you do that, arenât you going back to setting an initial price for everything?
Or I guess you are setting an initial price for one thing and then calculating all of the other itemsâ prices based on their relative value to grain?
Sorta but not really (?), I think it goes back to your original point: whatâs the supply of money?
I think the main difference is that you have a solid, in game representation of the supply and demand of commodities. So, for grain, we have farms making grain and people eating grain.
So roughly the value of grain is like farms/population. Both of which have an in game representation.
If I want to exchange grain for swords, what I basically need to do is: (farms/population) / (soldiers/blacksmiths) - thatâs basically our rough exchange rate.
Thatâs really different from hardcoding grain at 10g and swords at 50g, then applying various multipliers you need to guess at. Oddly enough, I think this might actually be way simpler.
In my game a lot of items are produced by cities, which also want to buy other items. I set a base price for the item and a max number available either for sale if produced, or wanting to purchase, which is based on the total population of the city and some other factors. As players buy products produced by a city, the price increases up to 20x the base price. The reverse occurs for cities buying items, where with full demand they will pay 20x, and as players sell into that market the price will drop all the way down to the base price. Full supply or full demand for items slowly restores within 2 days, and all amounts and prices are recalculated every hour.
Do you model pricing under blockades or in war time (or other extreme conditions)?
Is the trading aspect interesting or kinda meh? Part of the reason Iâm looking at this is to think out ideas on how to make trading into deeper, more interesting game play.
I really want the economy to be systems driven, so its a real sandbox. But every way Iâve thought about it is a ton of work.
I donât do anything specific for blockades/war. If it is difficult for players to get to a city though, then the system will make it more lucrative to do so (prices will be lower for items sold to the player, prices higher when bought from the player) just do to the supply/demand mechanic.
The trading itself isnât that complicated, so on its own isnât very exciting, though it is a means of getting players to travel and take risks. While traveling to find better markets youâll encounter hostile ships, and further away from friendly territory the enemies will be stronger. This then encourages cooperative play, as the best trading ships with large cargo bays are too slow and arenât well armed enough to handle the more dangerous AI enemies, or other players. So trade is a means to encourage exploration, cooperation, and engagements.
That makes sense. For what Iâm working on atm, I really want to drive the heart of the game (the sandbox) from the economy.
Stuff like wars being fought to control a monopoly or profiteering or the player creating a shortage.
Might sound odd, but I kind of want the player to be able to express creativity in how they manipulate (or work with) the economy. Maybe too niche, but I think that kind of thing could be really fun.
Itâs not really about the price, itâs what else that money can buy. A monetary value means nothing.
Lets say I need food, what food? Are there low quality (easily accessible) and high quality (hard to get, expensive) food sources? How important is it to me to have a high quality food source, how does not having it impact, for example, my ability to produce wood, if thatâs what I have to offer?
To create an economy you have to draw up some kind of fuzzy âimportanceâ value for each participant, for each product they either buy or sell, which is specific to their situation. To do it with any degree of accuracy and balance, itâs probably going to be necessary to run the economy for a while with a learning algorithm.
Probably easier just to hardcode a value though. Iâm setting up a space economy and Iâm just going to estimate good values, and if necessary force everyone to behave in a way that doesnât break them.
Also money is basically a token that abstract the ledger through distribution, hence why itâs quantity fluctuate based on an authority (who has the role of the ledger keeper, by emitting or removing money through various mechanism). Money values fluctuate based on supply and demand, but itâs special, as it the demand and supply are relative to the emergent collective value generation, see also inflation deflation, stagflation.
The biggest thing that impact economy IMHO is âspeculationâ not in the trading sense, but the fact that there is a temporal delay between spending and result, for example you need some spending to sow, but harvest will only happen later, itâs not guarantee that the harvest is great, so values is delay and it create uncertainty, stock market is really the abstraction of that aspect.
Maintenance is also a great key aspects, itâs an economical sink, and it can disrupt economy pretty bad, for example if you have a demand and supply price equilibrium below a maintenance level of both party, you are in big trouble.
Also I donât believe the alternative to money is barter, barter economy isnât much seen in practice even in oldest society, I mean as a social organization, what you see is hospitality/solidarity, ie an extension of the familial domain. From that lense we can say that money is an abstraction of thrust, you donât have to be part of group/family or show thrust to distribute good. Barter was just an example that got overgeneralized from the original text.