If one guy is selling something easily divisible, such as rice, they can come to an arrangement. I'll give you 300 pounds of rice for that pig. But if things are not so easily divisible, we run into problems. For example, I have horses and you have cows; are they equally valuable? Could I give you 1 1/2 horses for a cow?
This divisibility is a major advantage of money, perhaps even why it was invented. But if your system includes at least one resource that is valuable to almost everyone and is highly divisible, then you can probably skip implementation of coins or money. Maybe I don't eat rice, so I have no direct need of rice. But I'm aware that everyone around me does eat rice. So I'm willing to accept rice in trade for my horse, because I can then use that rice to trade for something I want -- such as the previously mentioned cow.
The main problem I see with economic systems is the way value is attributed to the various items that are up for exchange. For a system to be truly a free and open market, it has to be the actual merit of the product that determines it's exchange rate. How much trouble, time and resources are required to get something, versus how much benefit it offers a given player. This might seem obvious, but it's worth stating in black and white: Something that is difficult or time-consuming to get is worth less. That is a cost, and expense to the player, and so that item is not as valuable as something that is easier or less time-consuming. Whereas something that offers improvements to the player's abilities is worth more to that player.