Provide Enough Money so the Player Has Choices When Shopping in Your Economy
One major thing that will make players angry is if there are things that they need and want but they somehow missed an opportunity to find some of the money and now they don’t have enough money to buy something when they need it. You should have some system place to make sure that players have enough money from in-game missions or tasks so that they can buy all of the things they are supposed to be able to. Don’t rely on players finding hidden treasures and scavenging for small amounts of money – have moments in the game that correspond with large enough paydays to buy the items necessary for the next stage of the game. You can play around with cost to make certain items more appealing than others and you can make the player have to decide in the short term which big-ticket items they want more buy only allowing enough for one big purchase at a time.
Whichever way you decide to balance out the availability of items you also want to make sure the player does not have too much money to buy up all the items too early in the game. You can put hard limits on the moment when players have access to an item, but that doesn’t solve the bigger issue of the player having too much money for it to be meaningful. You want the player to have to choose between medium and high priced items and not be able to collect so much that they can buy everything without progressing. You can limit the overall availability of money or limit how much the player can carry at one time.
Take into account how much the player can make from selling things in the game as well. The big stuff in a game is normally earned from in-game achievements, not small collectibles. You generally don’t want players to have to sell 10,000 small peanut items to get a big item. That small item money is supposed to be spent on stuff like ammo, armor and health, which are small to medium priced items as well. Have the amount of small in-game stuff that can be sold to merchants be roughly balanced with the amount of ammo and health items the player has and their armor / item inventory compared to what it’s supposed to be for that point in the game. For instance if a player has a ton of ammo and health items you should limit the number of small collectible items and if the health and ammo inventories are low you should increase the number of collectible items available to be picked up and sold. Similarly if a player is on level 4 and should have more items or a specialized item and does not have it the game should give out more small collectible items to sell to make sure the player has enough money to make the purchases.
A similar technique can be used for big items in the game so that players can barter with them and exchange them for something they need or like better. Consider having the player sell an item to a specific merchant and then have to buy it back for more, while using the money to temporarily buy another big ticket item to complete a mission. This is like in-game pawning and it works well as a tactic for controlling money by allowing temporary access to an item for a price while taking away another powerful item. There are several variations of this theme that you can use through the game where the player has to forfeit something temporarily.
The key to having an effective economic system in your game that your players can enjoy is BALANCE. If you balance the money available, the items available for sale and the overall progression of the character well your players will feel empowered to complete their mission while still interested enough to push forward to the next level.