In trying to come up with a better system, it seems best to begin with goals, rather than mechanics. So here are my goals (which would change somewhat, depending on the particular game):
- Creativity: Players aren't merely following set instructions. They are able to discover and combine elements in fresh ways; discoveries involve logic, rather than just trial-and-error.
- Customization: Crafts can be personal. They reflect personal ownership, influence, circumstances, and/or experiences.
- Activity: Crafting requires thoughtful action; not simply following instructions or reacting mindlessly in a sort of whack-a-mole mini-game.
- Utility: Ideally, crafted goods should offer something besides convenience. Control through customization is a good example (i.e., "I could fight through the dungeons to loot a better sword than what I have, but I'd rather commision a sword with that looks and plays exactly as I want").
- Dynamic Trade: Prices and resource availability will vary with changes in the marketplace and supply dynamics. Markets are regional, with some areas offering items that are cheaper and/or different than those elsewhere.
Now for specific mechanics to reach those goals.
Diablo 2 did something like this with its gems and sockets.
The player could choose whether to upgrade a weapon with fire, lightning, cold, or poison damage -- each balanced with weaknesses and strengths -- by adding a particular type of gemstone. Fire damage is capped low, but the minimum is high, (ex: 3-4 pts) for predictability. Shock damage is capped higher, but has less predictability (1-6 pts). Poison damage isn't instant, but can accrue to massive totals when combined.
Also, each gem would offer different benefits depending on how it was used. A ruby adds fire damage to weapons, but it aids accuracy when placed in a helm, and fire resistance when placed in a shield.
I would love to see an expansive system like this in an MMO. Each type of ore, mineral, plant, animal part, fluid, gas, magic scroll/item/spell, or other component offers a particular property when crafted into an item -- the property dependent on the class of item. Instead of "To craft [x], you'll need gold", you can choose whether gold or another metal better suits your goals for the particular item. If CustomerA wants to enchant his scimitar, silver might offer the highest likelihood of success or the strongest enchantment capacity. If CustomerB wants his scimitar to smash through anything, including locked chests (ala Neverwinter Nights) and golems, you might craft the blade from diamond (with difficulty, perhaps).
The more expansive and diverse the palette of potential components, the more creative, personal, and dynamic items and trade become.
Such a system also allows room for expansions in crafting gameplay. The developer might patch new components into the game from time to time.
Components can vary in basic effect, strength, availability, region, and in a number of other ways. An imp's tongue might offer stronger fire damage than phoenix feather, which in turn is stronger than a particular pepper. But the imp's tongue might be hard to acquire. Phoenixes might be common, but appear in unpredictable locations. If travel is not instaneous (but is also adventurous -- the key to slow but fun travel systems), then component availability and prices might be segmented largely by region.
Note that I listed some crafting components that aren't found in fantasy MMOs yet (to my knowledge), like gases and liquids. By expanding the set of component classes, balancing does become more complex, but the overall system can be made far more interesting and replayable.
Activity and utility are the harder goals to satisfy. For brevity's sake (and so I can think about it), I'll try to tackle those aspects in another blog.