A coder's blog.

Ideas, projects, problems and solutions - whatever is interesting.

Shopping for Fun

[originally posted: 2010-04-19]

Little Goblin’s first implementation of a shop

Little Goblin now has a first shop. It has no wares for sale, but it is open for business. It even has an owner, a name and a description…

At first, I had planned to make the shop owner just another player character, albeit one with a large inventory of items. He would buy items from the players and show the goods in his shop until they were bought or some kind of “garbage collection” would remove them. The items for sale would be just that: real items which a player character had crafted or found on his adventures. The first step for a system of realistic commerce in this fantasy game.

I like the idea of a game where as much as possible of the game world is persistent and items can be traded or encountered again and again. But … in a game with possibly hundreds of players, the shop owner would have a lot of customers at any one time - enough that it would be difficult to guarantee that an item that is for sale would be still available at the time a player clicks on the button to buy this item. And while a shop with real items would be nice and would add some remarkable detail to the game, it would loose an equal amount of realism if your chance of actually buying any one item was totally dependent on how fast you clicked.

So I asked myself: Does this degree of realism really add more fun to the game? And is it worth the effort to make such a system work? And the answer in both cases was no. Little Goblin is not a fantasy version of an Ebay auction sniper simulation. And I think the players will not really care if an item was found and sold to this specific shop keeper by another anonymous player. For now, the shop’s inventory (when I get around to implement this) will be a list of item types, where the specific item a player buys is created in the moment she pays with gold for it.

This is not to say that the idea of a P2P (player-to-player) market is out of question. Perhaps it is possible for high value items. Or by setting up a clever algorithm which partitions the market and thus the inventory lists of shops into little temporary areas where only a small amount of players is actually viewing an item. But that’s something for a later version. For now, I think I will concentrate on creating a simpler shopping experience for the heroes of Little Goblin :)