1
\$\begingroup\$

I need to set up a monetary system for my game however I am unsure how to craft an internal economy for that money. I want to make an rpg with a economy system that keeps the player for a time from just selling numerous of the same item to grind for money. So when the player sells to much of a certain item the buy price for that item will go down temporarily. Also, I would like to add a system where certain items go up in terms of what they can be sold for temporarily as well.

For example, in "Story of Seasons" I can sell items to vendors in order to get money, however if I sell to much of that type of item the price I get for it goes down. Also, there is a system where for a certain vendor or more the price I can get for the items actually increases.

\$\endgroup\$
3
  • 2
    \$\begingroup\$ That sounds good, but I'm not sure what the actual question is. \$\endgroup\$
    – Christian
    Commented Dec 11, 2015 at 10:15
  • 1
    \$\begingroup\$ Is your game single player or multiplayer? \$\endgroup\$
    – Vaillancourt
    Commented Dec 11, 2015 at 11:58
  • 1
    \$\begingroup\$ Definitely check out the GDC talks by Vili Lehdonvirta, an economist who gives great presentations about how to use economic concepts in game design. \$\endgroup\$
    – DMGregory
    Commented Dec 11, 2015 at 14:28

2 Answers 2

4
\$\begingroup\$

Well why not model your economy system after a real economy? Maybe have a supply variable that for each item in circulation (i.e. if you sell ten bushels of wheat to one vendor, 17 to another, and 2 to a third, then this supply variable for the wheat is 29) and have another variable, demand, that fluctuates based on some sense of demand that your citizens in your game have (i.e. if there is a famine occurring, the demand for your wheat rises). Then, use some simple formula to determine the appropriate price for your item based on its current supply and demand values. This would prevent a player from simply selling all his wheat in one sitting because the supply variable's value would increase while the demand value would remain relatively the same since (I would assume) demand would not be that volatile.

Also, as for your "different prices to different vendors" comment, maybe you could make the previously mentioned supply and demand variables vary according to geographic location, that way it takes into account the situations of that area (like if only one city was experiencing famine). You could then keep the same formula for determining pricing as earlier since now the both variable values change according to the location. You could also have specialist vendors that simply pay more or less.

Overall, this is a system I've seen several times now and it does work pretty well as far as I've seen. I'll leave the actual programming up to you. Good luck!

\$\endgroup\$
0
\$\begingroup\$

Since the player regulates supply through their actions you are responsible for handling how demand is calculated.

Lets start with a simple model. Consider the function f(x) = 1/x where x is number of an item the player has sold to this specific vendor and x >= 1 (avoid division by zero). We can use this function to modify the price a vendor pays the player, c, for a given item. The result is c' = c * f(x) = c * 1/x.

Now lets make our model a bit more realistic. Now suppose that we want the price the vendor pays to increase the longer it has been since a player sold them that item. Let t be an arbitrary amount of time, we can then use the function g(t) = t. Now we have c' = c * f(x - g(t)) = c * 1 / (x - g(t)) = x * 1 / (x - t).

This is still a very basic model, lets make it a bit more interesting. Now suppose that g(t) = sin(t). By using a periodic function we can model supply and demand over say seasons or even the course of a day or week. These models can be applied locally and regionally as well to increase immersion and the intricacies of your worlds economy.

The point of all this is you have free reign and a lot of very cool ways to add depth to your games world through economy.

\$\endgroup\$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .