So I've been thinking about overhauling the merchant system. Right now it works like this: merchants come in during the day and set up a booth. You can sell or buy one type of good from them (it is all random). It works but it is kind of boring and I can't really think of a way to automate things (which is kind of my focus right now; making things more dynamic). So here is the idea I am thinking of:
I'll create 2 different objects; a market selling or buying kiosk. At the buying kiosk, you can set the price and amount of a single good to buy from passing merchants. At the selling kiosk, you can set the price and amount of a single good to sell. Merchants of all types will spawn randomly throughout the day each with their own goods and their own needs/wants.
A merchant might have 30 oil and if you are buying it at a price they are willing to sell it at then they will sell it to you. They might also want to buy 14 water and 11 wood. If you have those on sale for the right price they'll buy those. The merchant will leave when they have nothing to buy/sell.
I also thought about having merchants be unique and named. So they would start small requesting and selling only a little, but as they gain in wealth (by trading with you) they might start to buy or selling more. They might buy a llama or even a wolly to carry their goods. Maybe even hire a bodyguard or two. Maybe you can encounter them in the wild and save them from some monsters, trade with them, kill and rob them, whatever. If the merchant dies (either by neglect or on purpose) they are gone from the game and a new merchant is generated. Maybe they are their son or daughter and they treat you differently based on how the merchant died and how much they like you (probably too much meta there).
I am also thinking about tying in the amount/frequency of merchants to your base score and adding a karma score that will attract more merchants if it is high and if it is low you'll have mobs trying to attack you. So the high base score will attract more merchants but also attract attention from baddies.
What do you think? Have any other ideas?