31 March 2008

Update 1.6.0

After more than a month of pre release candidates, we finally rolled the update on Saturday.
Unsurprisingly, because of the extensive tests we've done, there were not many problems, and I would say that 95% of the players were able to update without any modifications to their system, while the rest had to either update their video drivers or modify some EL configuration settings.

The archery is included in this update, but the ranged weapons can not be bough until next weekend. This is because we had some big PK contests a few months ago, where the promissed prize was having bows before everyone else. Schmurk, the developer who wrote most of the ranged skill code also got all the bows and missiles.
One other reason for this delay is that people can test the other features first, without being too distracted by the new skill.

Speaking of new features, it seems that the players are very excited about Leonard the Leopard, a new AI entity that is actually pretty intelligent, and will stalk players, flee from combat when wounded, change maps, and even level up. He even talks in lolcat on the events channel, when he dies or when he kills some player.
There have been quite a few "Leonard hunting parties", where people try to locate and kill him.

Next on our to do list is to release a patch for an experimental client with a sky and 1st person mode. This client is pretty functional, but there are a few problems here and there. It also takes more resources, and the frame rate is a little reduced (since there are more objects to render). We hope to release this patch by the end of April, and it will not require a client update (it will be an optional download).

13 March 2008

Update coming soon

Today we released Pre RC 11, which fortunately runs on pretty much any computer our users have, although some people with SiS and S3 video cards need to manually add something in their el.ini file. I hope I might be able to correct this issue automatically, but if it's not posible, people can always do it manually.
We have very few people with such video cards, so that's not a problem.

There are just a few things that need to be done before the update:
1. Change some of the animations duration in order to match the server speed (mostly the archery animations)
2. Test the maps that were changed.
3. Release a final RC.

I am hopping to have the update done in 2 weeks or less, then we can finally move on with the development. We have some big plans for the future, stuff such as 3d terrain, normal maps, better lights, etc. I'll talk more about it soon, so stay tuned.

05 March 2008

First archery public testing

The bows and crossbows are in the game for more than a month, even on the main server, but they are not available to the players because they have not been tested enough, and because a client update is needed.
Both the client and the server are 'almost there', although the final client still needs some 'polish', and the server needs some fine tuning.

Until today, the arrows have been tested only by a few people (mainly me and Schmurk) on the test server. There were no known bugs, but as with anything, massive testing will usually reveal new problems.

Well, today I wanted to profile the test server, but in order to do a proper profiling, many players are needed. And just asking the players to come on the test server and walk around usually doesn't work very well, so I 'bribed' them with free bows and arrows :)
That worked quite well, over 45 players logged in on the test server.
After distributing the free bows and arrows, we went to KF (the most used PK map in the game), and played a little.

The testing went much better than expected, with virtually no problems except that some people had bad lag. I am not sure if that's because of a bug in our code, or because they don't have the latest files, so we'll need to look into this issue.
Another small problem was that a few arrows got stuck in mid air, but this can be because the map on the test server is newer than the clients map. One player crashed once, but one crash in 30+ player hours is not significant, so it won't impede the update.

One concern of mine was the possibility of the server being slowed down if there were too many missile fire requests going on at once (we do real time ray tracing, 3 times for each arrow), but after I finished profiling the server, I realized there is absolutely no significant CPU time taken by the ray tracing. Schmurk did a really good job :)

For those of you who missed this test, don't worry, there will be a few more public tests before the update. In fact, I will put a new NPC that will give free bows and arrows to people. I hope I won't forget to change the prices once we are done with the update :)

02 March 2008

MMORPGs Economy (part 2)

Ins and outs, revisited
Monster drops
It goes without saying that stronger monsters should, generally, drop better stuff than weaker monsters. However, there are a few exceptions. One exception is having weak (newbie) monsters drop some really good items, but with a very, very small chance (perhaps around 1/5K). This will help some lucky newbies. The second exception is that, depending on how the exp/leveling is implemented on the server, some monsters are better than others to level on. Therefore, it can be a good idea that the "good to level on" monsters drop less stuff than some weaker but more inconvenient monsters.
To add more diversity to the game fauna, you can have a few monsters of the same level but with different abilities. Example of abilities are self healing, spell casting, the ability to go invisible, and so on.

Player made items
Making items over and over again to level up is not the most fun thing in the world, and it can produce an over abundance of items, which as discussed previously is not good. For the manufacturing system, there are a few things to consider: Can a player make items everywhere in the game, or do they have to be in a certain workshop? If there are workshops in the game, should some of them give better experience than others? For example, you can make a hard to reach workshop that will give +15% experience.
You can implement schools, where you don't get any of the produced items, but get more experience in return, which helps with the over production problem.

To reduce the amount of items in the game, you can make it so that each time you fail at making an item, you lose the ingredients. The failure rate would depend on your level + a random factor.
Finally, you can introduce a concept of "item quality", for example if your skill is much higher than the skill required to produce an item, you have a chance to produce an improved version of that item (a more powerful sword, a more protective armor, etc.)

Collecting resources from the environment, tips and tricks
Do not put the expensive ores right next to a shop, workshop, and storage.
If possible, do not place resources right next to each other, especially if they are needed to created the same item or perform the same task.
Consider making the resources that should be rare actually be rare, by either placing a limit on how many can be harvested each turn/hour/day or by requiring expensive items to harvest each resource, all this in addition to a higher harvesting level needed to harvest them.
Depending on the game type, an interesting but hard to implement idea is to put a limited quantity of resources in a mine. When the mine is exhausted, players would have to find and build another mine. Or perhaps go to some god and perform a ritual to rehabilitate the exhausted mine.

Broken items
If you are going to implement a system where items breaks, you will have to decide what should happen with the broken items. They can either disappear from the game, or degrade to a weaker version. Of course, you can have both in the game, where the weaker items just disappear, and the more expensive items degrade. The fate of the degraded items can vary with your design, but there are a few common uses for them:
a. Use them for a quest. This can make the quests harder, especially if the quest asks for an expensive item that it's hard to degrade.
b. Have an NPC that fixes them for a fee. Maybe allow the NPC to sometimes destroy the items in a failed attempt to repair them, and keep the fee.
c. Allow the players to fix them, maybe even have a repair skill in the game. Obviously, allow some chance for failure, based on their skills and on how hard it is to repair it.
d. Make other items with them, or use them as parts to repair other items (for example, two broken armors + some metal = new armor)
e. Recycling plant: You go to a recycling plant with the broken item + a fee, and get back the metal required for that item.

Buying and selling items to and from NPCs is most likely going to be a big part of your economy. It is, therefore, important to do it right. While the possibilities are virtually endless, I'm going to give you a few ideas:
a. Set an affiliation (or faction) for the players and the NPCs, based on their race and/or quests. If a player and an NPC with a similar affiliation interact, the prices should be better, and those with opposite affiliations should either have worse prices, or refuse to buy or sell at all. One thing to be careful about if you are going to do that is the fact that in a free game people might have multiple characters of different affiliations, and mule the items in such a manner to use the best character for the job.
b. Some NPCs can require a player to complete a quest in order to buy or sell items.
c. Some NPCs can buy and sell an infinite amount of items, others can buy and sell only the items they have from the players, while others can be set to buy and sell only a certain quantity per day. Finally, some other NPCs can keep track of how many items they bought or sold to/from a player during one day, and only allow a limited quantity. Of course, you will have to be careful about players that mule. For the NPCs selling a limited global quantity of items per day, you will have to implement some measures so that players from a time zone won't exhaust the NPCs, and when others start playing for the day, they will find all the stores open with a full stock. A solution to this problem is distributing the items quantity per hour, rather than per day.

Proper Testing
No matter how good your economy looks on the paper (or on your screen), once you actually implement it and players start playing your game, you will notice a lot of shortcomings. Testing games is notoriously hard, big companies pay people (Beta Testers) to play the game and find problems. But when it comes to a MMO, it becomes economically unfeasible to pay thousands of people for a few months to test the game and report bugs and flaws. This is exactly why many MMOs have an Open Beta stage, where you can play for free for a while. As a side note, Open Betas for pay to play games also acts as a viral marketing tool, many players will be attracted by the free aspect of the beta, then continue to pay for the game because they are now addicted.
Unfortunately, the independent developer does not have the marketing resources to advertise and hype their unfinished game the same way a big company does. So what a small indie team can do is have some in-house testing (which has a very limited value), then release the game and hope for the players to come and find bugs. Only that by the time the economy problems become apparent, it is generally too late; a lot of people in the game are way too rich, there is a huge items surplus in the game, and the new players have no chance against those who started just a few months before.
What can be done about it? Well, there are a few things that can save you from a lot of headache:

1. Create daily backups. Not only they can be very useful if you have a hardware crash, but they can save you and your players a lot of frustration. For example, let's assume you make a change to a formula, and due to either a typo or because you didn't anticipate the outcome, the whole economy is ruined overnight. Maybe by mistake you added an extra 0 to the price of a flower, so people become rich by selling tons of those flowers to the flower shop. Or maybe you added a new sword in the game, without realizing that it can be used to kill the strongest monster in the game and get massive drops in minutes. If you have backups, you can always rectify the mistake and restore the state of the game to what it was before the update. Of course, players don't like rollbacks, but they would rather have a 1 day rollback than have the whole economy ruined. It actually happened to us last year. We implemented some special days, and one of them increased the chance of manufacturing rare items. Well, due to the fact that we didn't have enough time to properly test it, we had a 'small' bug. The nature of the special days in Eternal Lands is that they are random, relatively rare, and many (which means that one special day will, on average, happen once every few months). And so it happened that this special day of increased rare manufacturing started while I wasn't home.
The 'small' bug made it that everyone had a close to 100% chance to make rare items. I originally made it so that the increase would be something around +5% of the initial chance. One other developer found the problem only 20 minutes after it started and did a manual override to change this day to some other kind of day. When I got home, I used my logs to see how many rare items we are talking about. We had many thousands, which is about 100000% greater than normal. We had to do a rollback, and most of the players agreed that a rollback is necessary. Given the fact that we had daily backups, most of the players only lost a day or less of work, which is not that bad, considering that it was the first (and last) rollback in more than a year.

2. Make it clear to the players that the game is Beta, which means that prices, formulas and drops can and will change at your discretion. In fact, it is a good idea in the early stage of the public testing to change stuff pretty often, or else the players would take things for granted, and then, when you want to change something, they will complain a lot. As the game advances and you get more players with different skills and higher experience, you will notice that some things do not work the way you expected, so other adjustments must be made. But as the game advances and time goes by, the prices and formulas should work pretty well already, and your priority should be adding new stuff; changing things all the time in the later stage of the beta test can be frustrating for the players. Imagine living in a world where the milk price fluctuates by 500% every week. You wouldn't like to live in such a world, yes?
The trick is to find an equilibrium between changing old things and adding new things, and this is not something I can help you with, every game is different.

3. In the late stages of the beta, if you want to change things you should change them slowly. For example, if a potion gives +20 dexterity and you think that the proper value should be +10, first reduce it to +15 and see what happens. It might turn out that +15 is enough, and you don't really need to reduce it all the way to +10.

4. Finally, it might help to do a total reset of the game (deleting the world status, and all the players items and skills) once you are confident that the economy is relatively stable (usually by the end of the beta). This is, of course, optional, but the idea behind it is that the first players might have had an unfair advantage by being able to use a system that wasn't tuned properly, possibly using bugs and exploits that were not yet fixed at that time.
If you do plan to do such a total reset, you should tell players in advance about it. Preferably, tell them before they even start the game, somewhere on the download page perhaps. And remind them about the reset every once in a while, some sort of memento mori kind of thing. :) Then, at the end of the beta, just before the big wipe, have some sort of huge PK party (if the game mechanic allows) where the winner[s] get some small prize just after the reset, so that they have a small advantage in the beginning.

The interaction between the economy and other aspects of the game
A MMO is an unitary system, where many subsystems converge to ideally create a seamless world. That can vary with the game type and design, but typically you will have a graphic subsystem (what the player sees on the screen), the network subsystem (the data flowing from the server to the clients and vice versa), the sound subsystem, the combat, and finally, the economy.

Economy vs. Combat
The economy is the soul of the game, the reason people are playing. While some would believe that the combat is the soul of many MMOs, this is generally not true. For example, many fighters like to fight so that they can loot monsters and players, then sell the loot so that they can buy various 'power ups'. You will also notice that the majority of fighters will usually not attack those who have a high blacksmith skill (replace blacksmith with any skill that a fighter needs for supplies). The reason for this is that the fighter constantly needs weapons, armors and ammunition, and the blacksmith is often the only person that can reliably and affordably supply them. If the fighters alienate those people by PKing them, it will be very difficult for the fighter to find good items for good prices. While there are many blacksmiths in the game, the more you alienate, the lower the chance is to find good items, and the more you will have to pay for them, as there will be little competition left. That is, very few will be willing to do business with you if you PK them.
Any good MMO is self policed by the players. As explained above, different classes will create all kind of symbiotic relationships. This is nice, but sometimes it can be boring, and there are a few things you can do to spice things up. My favorite is putting some expensive and rare resources in PK areas, so that the harvesters will have to go there and collect them. Most of the top fighters should not have the harvesting skill necessary for collecting those resources, of course. This can create all kind of alliances and protection fees, with the PKers guarding their allied harvesters against enemies.
If your game doesn't have PK zones, or if it is not feasible to put rare resources in PK zones, you can at least place some very high level monsters in that area, which will require the harvesters to be escorted by fighters.

Economy vs. Networking
It is generally the case in MMOs that the bandwidth for an area increases exponentially with the number of players in an area. The reason for this is that in a crowded place, each movement from each actor has to be sent to all the other actors. So it is a good idea to avoid, as much as possible, people congregating and 'camping' in areas of interest. By area of interest, I mean a place where people need to go to do something or another, such as a store, a storage, bank, workshop, and so on.
The solution is pretty simple: create multiple similar points of interest in other areas of the game. If you notice that a shop is always busy, created another shop further away. People usually don't like the lag, and they will tend to go to less crowded places if available. However, if you put a store in the middle of nowhere, chances are good very few people will go there. Just like in the real life, people don't like going too far for something they can find nearby. The malls are good examples of that; many people go to the mall because there are a lot of stores in a small place. So don't put just one store in the middle of nowhere, put 5 stores. This way, that area will lose it's status of "middle of nowhere".
If for some reason you need to place just ONE store in a remote area, and a similar store is available in a populated area, have the new store offer better prices, or perhaps a few more items. That's why people go to shop at WalMart.
Using the same rationale, spread the resources around too, don't put them all together. And, as a general advice, whenever you see a big crowd of people in an area for a few days in a row, determine why they like that spot so much and try to create an alternative in some less populated map. It might take some time for them to get used to the new spot, but they will eventually. If they don't, ask them why they don't like it (see the "player feedback" section).

Economy vs. Graphics and Sound.
This is pretty much similar with the Network, with some exceptions. If there are too many players in an area, in addition to the network latency (lag) the players with older computers (or even with some not so powerful new laptops) might experience a drastic decrease in the frame rate, which can reduce the playability of the game. In order to alleviate this problem, in addition for spreading the points of interest, you should talk with your 3d artists and make sure that such places are not graphically overloaded. The less polygons in crowded places, the better. It might not be always possible to reduce the number of polygons from the player models in a scene, but you can (and should) reduce the polygons from the static geometry. Don't put tons of unnecessary objects in/near a shop. If the shop is in a city, you might not have much of a choice, especially for the first person games, where you can see the whole city while going to the shop.
Most of the sound cards can mix only so many channels, so if you use footsteps sounds each time a player moves, you will have problems in the aforementioned places.

Player Feedback
As soon as your game is online and people start playing it, they will start expressing their opinion, whether you ask them for it or not. Somewhat ironic is the fact that those who are smarter and stronger in the game will usually not post on the forums or send e-mails complaining about things or suggesting new features. There are, of course, exceptions from this rule, but if you watch any MMO forums you will notice that most of the suggestions are worthless.
The problem is, when someone complains about some aspect of the game, the complaint will be egocentric, focused on their particular problem, and not on the overall benefit of the game. For example, some players want certain items to be cheaper so that they can afford one, without thinking that making the item cheaper will cause in-game inflation.
My personal experience with asking for feedback from the entire community (such as an open forum post) is bitter. The majority of people will NOT even bother to read your post, they will just read the title then click on the "Reply" button. And even if they do read your post, they will still think about what benefits them, and not the game as a whole.

Instead, try to find an 'advisor'. As a game developer, you will most likely not have enough time to play the game too much, and be as competitive as a player that players 8+ hours a day. This is why it is important to find a few high level players from different trades (fighter, miner, blacksmith) and ask for their opinions and thoughts in private. Usually the top players in their trade are mature and intelligent people, and they know a lot about what's going on in the game, often times much better than you do. Given the fact that MMOs are so competitive, it takes a lot of work and planning in order to become a top player. In the beginning I was surprised on how calculated were all the actions of such a player. They compute everything, even how long it takes to get from point A to point B, or the exact amount of potions and ingredients to take with them while fighting each kind of monster.
Once you found a reliable advisor, try to actually pay attention to what he or she recommends. That doesn't mean you should implement or amend whatever they recommend, and you should still check the item logs just to make sure. But, overall, it is a good idea to at least consider their advice. If you have multiple players that you can trust, try to check an idea with all of them; two heads are often better than one.

Designing a MMO economy is not very hard, but you need to be very careful about every change and addition you make. Sometimes it might seem like a fun job, but there will be times when you will feel like screaming and curse the day you came up with this bright idea of becoming a MMO developer.

I hope this article was helpful, and even if you will never become a 'MMO economist' it can be useful to know what kind of work goes into designing and maintaining a game.

Radu Privantu
The author can be contacted at: radu.prv at gmail.com

MMORPGs Economy (part one)

A lot of people e-mailed me about my other MMO related articles, and expressed their wish to do a follow up with an article about setting a MMO economy, and here you have it.
But first a disclaimer:
This article is for your information only, and you should not trust everything you read here. Some advice might work for you, and some might not, therefore it is up to you to decide which, if any, methods you want to implement in your game. Many people complain about Eternal Lands economy, so please be advised that, although I do have years of experience in this field, I, like any other human, make mistakes.

Now that we are done with the disclaimer, let's focus on the real thing.

In most MMOs, regardless of the genre and type (text only, browser based, independent client), we have resources (items, money) coming in and going out of the game. Ideally, the ratio should be 1/1, that is, for every resource coming in the game, something of equal value must go out. Obviously, a perfect 1/1 balance is often impossible to achieve, but there are some tips that can help.

Tools to use
The carpenter has the hammer, the navigator has the compass (or satellite assisted navigation system), and the chef has the stove and pots. It is obvious that each profession requires, or can be facilitated by some tools. Designing a MMO economy is no different. Here are your tools:
a. An office suite such as OpenOffice, which is a free, multiplatform alternative to Microsoft Office. A document editor is important for writing your design document and formulas. A spreadsheet can be useful for quickly testing formulas, and determining the ingredients price, experience gained and so on.

b. A program to draw diagrams and UMLs. Dia is a free, multiplatform program that is relatively easy to use. Making diagrams of how your economy is supposed to work can be very productive both for you and for those who work with you. Sometimes you can also show it to the players so that they will have a better idea on how the economy works.

c. A note taking program. I am using Evernote, which is a shareware Windows program. The reason why a note taking program is can help is because it just sits quietly in the system tray, waiting for you to use it. If you quickly come up with some idea while doing something else, you just click on it, write down whatever you need to remember, then return to what you were doing, knowing that the information will stay there, ready for when you need it.

d. A text (ASCII) editor. If you plan to store your economy related files in a text format (such as XML), a document editor such as Word will not do, because such programs do not usually output a pure text file. I use Textpad, a Windows only shareware program. You can of course use Notepad, or various other free or non free programs, but for me Textpad is the be-all-end-all text editor.

e. An 'in house' tool made by someone in your team that can digest economy related information, and give you a quick look on how one change in a formula affects another. While making such a program is by no means trivial, it can be very helpful in the long run. What this program would do depends on what kind of MMO you plan to make, and how much time your programmers have. One example of a task where it would help is determining how much time it would take a player to make a sword, if he does everything by himself (mining the ore, smelting it, molding the sword, etc.). The program would take into account factors like the time needed to harvest each ore, the time to smelt the ore, make the sword, let it cool..
One other task could be to determine how many monsters of a certain type some player must kill in order to advance to some level. Or, perhaps, simulate a fight between two players where you manually introduce the data (skill, racial modifiers if any, weapons, armor). This way it is easier to test new weapons and armors.

Ins and outs
Before we start with the economy, we need to determine how the resources come in the game, and how they leave the game. Note that we will focus only on the items that actually enter and leave the game, not on the items that a player loses or gains. For example, if two players barter, they will both lose and gain some items, but no new item entered the game, and no old item exited the game. If a player drops an item when he dies, the item is still in the game; it can be picked by some other player.
Please keep in mind that this list is not exhaustive, and obviously, depending on the game mechanics, some methods of entry and exit will not apply. In the second part of the article, I will elaborate on some of them.

Points of Entry:
a. Monster drops. Perhaps the most common, it includes both the normal drops (such as bones, meat, some gold coins) and the rare or very rare drops.
b. Collecting resources from the environment. Mining would be one example. Usually the resources are infinite, but a cap can sometimes be placed so only a limited quantity can be extracted per day, or perhaps per player.
c. Player made items. Those items are usually made by combining two or more items.
d. Daily allowance. Some games give every player a certain number of resources every day or turn. The number of resources given to each player can be the same for everyone, or it can depend based on various factors such as experience, items the player has, virtual estate and so on.
e. Quests. Once a player completes a quest, there is usually some reward. This is not to say that the only possible reward is some money or some item.
f. NPCs. That is usually the case with the merchant NPCs, where the player sells or buys items. Generally, some item is lost and another item is gained.
g. Real life. A few games officially sell in-game items for real money. If a player sells gold to some other player for real money (gold farming), there is no new item entering the game, it is just transferred from a player to another. Therefore, if the game is properly designed, gold farming shouldn't be a big issue.
h. Contests. The contests are different than the Quests because they are usually a one time event with a limited number of winners. The prizes are often given directly by the developers/game masters by using 'artificial' means (some admin command). Sometimes players can organize contests, and give their own possessions as prizes, so no new item enters or leaves the game.
i. Hand of God. This includes every item that artificially arrives in the game via an admin command, and is not a contest prize or bought for real money. Examples can include holidays (where the developers give gifts), a reward for finding a bug, an item meant for testing purposes, and the list goes on.

Points of Exit:
a. Items used for mining/gathering resources. A player can be required to use some pickax each time they mine iron ore (the pickax breaks). Other items such as flowers can be mined without spending anything.
b. Player made items. Resources need to be spent in order to create items. Furthermore, you can make it so that sometimes the player loses the ingredients while failing to create the item.
c. Taxes. A virtual taxation system can be imposed in a game, where a player will have to pay a tax for each virtual estate they have, maintenance fees for the player based factories, salaries..
d. Quests. Not all the quests will give you a reward in resources. Sometimes you will have to spend some money or items in a quest, in order to get something greater (experience, unlocking of a secret area, the possibility to start some other quest, etc.)
e. NPCs. No matter if you buy or sell something to an NPC, some item will exit the game. If you buy, the money will exit, if you sell the item you sell will exit. Other NPCs can charge you a fee to restore your health, give you a blessing, let you cross a bridge..
f. Broken items. Stuff breaks. We are talking about weapons, armors, ammo (if you can't reuse it after being fired). An 'natural disaster' system can be incorporated in the game as well, but more about it in the second part.
g. Natural decay. Some items have a limited life span: the food getting stale or items that are left unattended for a while being stolen by some virtual thief (that is, the server just destroying it).
h. Used items. A very common exit 'destination', it includes potions that are drunk, magic rings that are used, books that are read.
i. Fines. Sometimes, when a player is caught doing something wrong, part of the punishment depending on the circumstances can include an in-game items fine. You curse in a public channel, you need to pay 1000 gold coins, or else you get banned for a day. This can be a pretty effective deterrent, no one likes spending their hard earned money because they have a 'dirty mouth'.

Know thy items
Something you should do is have your server log each and every item that comes in and leaves the game.
All this information should be logged every day (or hour, turn, whatever is easier for you), and the information should look something like this:

Gold coins
Entry - 100000, Exit 120000

Entry method:
NPC: 10000
Monster drops: 80000
Other: 10000

Exit method:
NPC: 100000
Other: 20000

This way, not only you can keep track of the total amount of items that are in the game, but you can also see where most of the items come and go. If you game has a manufacturing system, you can even go as far to log where the resources go during the manufacturing process. Something like:

Iron ore spent on manufacturing: 1000000
Spent on
Short sword: 5000
Long sword: 100000
Chain mail armor: 90000

Based on those logs, you can determine the following things:
a. What items are the most used.
b. What items are the least used.
c. What items are rare (not enough of them in the game).

Once you determine which items have problems, you can adjust all kind of factors, like the monster drops, manufacturing formulas, the cost from an NPC, and so on.
If an item is not used too much, for example some magic ring, you can change it's price, or perhaps make it more powerful. If an item is used too much, you can increase the price, the resource cost, or make it weaker. Asking for player feedback is very useful as well in determining why an item is overused, or not used enough. But more on player feedback later on.
One final word of advice before we move to the next section is that you should wait for a few days or weeks before you jump to conclusions, because the number of items in the game varies from day to day, so you will want to have at least a week of data before you take some decisive action. And, of course, you should correlate the number of daily items with the number of players that played during that day. During the weekends there are usually more players in the game. Therefore, more items will enter and exit the game than during the week days. In-game events can cause great fluctuations too, as the players prepare for that event (producing or consuming more resources). New items sometimes are underused for a while, until all the players know about it and incorporate it in their strategy.

Make your currency strong
Different games have different currencies. A medieval game typically uses the omnipresent "gold coin", while a futuristic game has something else, such as "credits". But they all represent the same thing: the 'official' currency.
So what makes a gold coin valuable? Why would people trade in gold coins, rather than, say.. chain armor or sea shells?
Long time ago, people used to barter for goods and services. A fisher would go to the marketplace with 10 fish, and buy vegetables. Or a blacksmith would trade his sword for a sheep. This system went on since the man started to form communities, and only recently (a few thousands years ago) they started to use 'money'. The advantage of using money, as opposed to bartering, is obvious. It is more lightweight, it can be stored indefinitely without spoiling, it's easier to conceal, can be traded for anything, and the value of a coin is relatively small, so you can buy only one fish if you want, rather than having to buy 50 fish in exchange for your sheep.

An interesting question is, when and how did people accept the concept of a coin? Why would someone trade their sheep for 10 coins? After all, you can't eat the coins, and they have no inherent value. The coins by themselves are useless, and you need to find someone willing to sell you stuff in exchange for those coins. In this day and age, the gold does have an inherent value: a lot of products require gold as an ingredient. But thousands of years ago, you could only make jewelry, statues and coins with it, and all those items are not necessary for survival, or even for wealth.

In a MMO, people are not so willing to accept the official currency unless if they have some use for it. If no NPC accepts it in exchange for items, and if no game functionality needs the gold coin, then you might as well not implement it, because the players are not going to use it.
If an NPC requires 1000 gold coins to sell you some armor, but you can get that armor from a player for 100 flowers, then the gold coin will lose it's value and all the other prices will increase.
Preventing this is relatively simple. Implement some rare and expensive items that can NOT be obtained by any other way except by paying an NPC with gold coins. Implement game services (creating a guild, buying a house, solve a quest) that require gold coins. And do NOT make the gold coin too common! (see the next paragraph).

Managing a player based economy
As previously explained, a system without a 'state controlled' economy is not good. You need some NPCs to buy and sell your currency.
But a system without a player based economy is equally 'ungood'.
There are multiple reasons why you will want the players to buy and sell items to each other, rather than buy the from the shops.
a. It encourages player interaction, which strengthens the community.
b. It creates some sort of self policing game; few people would buy or sell from someone who is constantly causing trouble, or is known as being a bad person.
c. Allows all kind of interesting cool things, such as price dumping, monopolies, protection fees, sabotages, theft, etc. While those things are not so desirable in the real life, I think they are great in a game; they are the salt and pepper.

Implementing such a system is very hard, because you are dealing with humans, which are very unpredictable creatures. You might design the game assuming that people will play only a few hours a day, but in reality many will be playing for much longer, sometimes up to 18+ hours. Or you might expect to take someone 10 months until they can get to a certain level so they can kill a monster, mine a resources, or make an item, only to notice that someone did some 'mad leveling' and they are there in 3 months. And of course, there will be some macroers as well, which will pump a lot of items in the game until they get caught, and perhaps some exploits that allow faster production of items.
While those issues can not be completely avoided, the 5P rules applies (proper planning prevents poor performance). Here are a few tips:
a. Make it so one skill is dependent on another. For example, have some items required for mining or producing other items be available only as monster drops, that only the fighters can get them. Similarly, the fighters will need items they can't make (swords, potions, magic ingredients). This will encourage players of different trades to cooperate.
b. Have some NPCs sell most of the common, non rare items for a high price in order to prevent people in manufacturing related trades from overcharging other players (if they charge too much, people would buy from the NPC instead).
c. Since most of the games work on the principle that the player has to create a lot of items in order to level up in some skill, there will be a lot of excess items flooding the marketplace. This problem is very difficult to avoid, but what you can do is create some quests where the NPC will need a high quantity of those items, so at least some of them will be removed from the game. You can also make it so that some higher level items will require low level items as ingredients.
d. High level items that can be manufactured should require at least one relatively rare ingredient. This is so that the end product will still be rare, or else even the newbies would afford it, due to the fact that the item is mass produced. Think for example of the computers, in the real life. In the beginning they were so expensive that only a few companies in the world had one. Then 50 years later, we are running out of IPs (4 billions of them) because everyone and their grandmother can buy a computer for 300 USD or even less. While in the real life this is a good thing, you do not want that to happen with your 'rare' items.
e. You can combine c. and d. and have the rare items require a LOT of low level items, this would also make them rare and expensive.

This is the end of the first part of the article. In the second part we will focus on the following aspects:
Tips on the ins and outs of the resources, what mistakes to avoid.
How the economy interacts with other game subsystems (networking and graphics).
Getting feedback from the players.
Proper testing of the economy while in the Beta stage.

Radu Privantu
The author can be contacted at: radu.prv at gmail.com