When I play a stonehearth game, the first thing I do is say to myself ‘You will not buy anything from the shop…’. Not because I don’t want to, but because it makes the game less interesting. I will never make a weaver nor a trapper if I can buy it all from the shop. Don’t get me wrong, I think a shop is needed. That’s why I was thinking of this.
First, connect the appearance of shops to your net worth. The higher the net worth, the more shops (and the variety of it) will appear. If I was a shopkeeper, I would travel to area’s where I could sell lots of merchandise. Not to the start-up village where only 7 hearthlings live who hardly have any money to spend.
Secondly, Add roads to the random map generator. Most merchants will travel on roads because they prefer the safety of their cargo. They would never venture deep into the wild. That’s why the appearance of shops could be linked to how close your town is to the road. This could also work for caravans and travelers and could influence the type of monsters of combat you will experience. Close to the road, more humans and goblins. Further away, more zombies and wolves. You can also connect a custom road you build, to the existing road in order to have more shops arrive at your town, if you started far away from the road.
Third, shops can only buy a certain type and amount of goods. This may have been mentioned before but, I find it weird that I can buy 100 stone and sell him 100 stone at the same time.