The typical way that I see loot working in ARPGs is simple randomization of attributes based on item type and a percentage chance. Roll a many-sided die and look up the result in the table, repeat this several times and you have your loot.
I don't think this is the best way to calculate what drops in an ARPG.
What matters is that players have interesting decisions to make with regards to gear--decisions that aren't as simple as seeing that 10% more damage is less than 15% more damage. You can generate interesting decisions here in a much more directed fashion than just dropping fully randomized but scaled-by-level loot.
When designing a loot system, we have to answer two questions:
- How often should you be upgrading your equipment?
- How often should you see a piece of gear that you have to consider as an upgrade?
We can think it through and exert control over it, or we can put some percentage chances in a loot table and hope that everything turns out OK. I'd prefer to design the loot system to guarantee as fun an experience as I can. That means taking more control over the kinds of modifiers that appear on items dropped for each class.
I think that if you have to consider a lot of loot and a high percentage of that loot has no value to you even before you put it in your inventory, you feel like you're wading through crap. The longer you go without interesting drops, the more bored you will become. This produces a feeling of "farming", which I don't think is a positive experience. It has negative connotations because gamers don't like doing it--farming is a reduction of the game to a tedious harvesting task that you could easily hire daylaborers to do and be better off. Tasks like that don't belong in games, they're an artifact of artificial difficulty and/or poorly or underdesigned gameplay.
The game should be aware of what would be an upgrade for you and what wouldn't. Upgrades should be dropped based on what you fight within a certain number of minutes of "challenging" combat. Don't even bother dropping trash. Only drop loot that is a sidegrade or an upgrade, and only drop loot that is equippable. Based on statistical and forum feedback the algorithm can be tweaked.
The game should be able to learn what modifiers people tend to pick on their items, and what people tend to put together. Based on these patterns for each, sidegrades can be generated that suit the kinds of builds that people actually use. In the beginning, such as system would need to be seeded with playtester-approved build information, and some noise would need to be added to the weights in the randomization of items in order to ensure that every character isn't siphoned into one of a few builds.
I think the current set of modifications and the way they work in Diablo III is well-suited towards this kind of system. If the longevity of the game is predicated on farming, as Diablo III's seems to be, my idea can still be effective, but may not be in the developers' best interest. What you really need is an end to the game--a feature that makes roguelikes great and has been lost along the development of ARPGs away from the roguelike foundation. But that's a topic for another post.