Fire Damage. Acid Damage. Magic Damage. Physical Damage. The list goes on and on. As a player, and at first glance, I was always excited about the idea of being able to make a build that feature maxing out a damage type. However, as I’ve tried to tackle the problem from a developer point of view, the existence of damage types can be quite a problem to solve.
Having offense and defense variety can certainly increase the tactical layer, but the issue I have run into is the burden on both the player cognition, and the UI. Each damage type you accommodate will need to have it’s own stat value and corresponding defense. And if there’s sub types (e.g. Fire is a sub type of Magic), it further complicates the relationship.
Further complicating the relationship, is that the more damage types you have, the more enemies you need to justify the need for those damage types. And on top of that, you need to provide enough variety for each in terms of strong against and weak against. And further complicating it is not making the players options too limited. If handling an enemy becomes simply a matter of having the best damage type, the tactical layer is lost. But making it so difficult as to not allow the player a chance to win if they have the wrong damage type is also not that interesting of a scenario.
The challenge has been finding the balance between rewarding the player for picking a good counter build against their opponent, but providing enough variety and emergent gameplay so that damage types are not the most important factor, but rather one of several trade-offs for the player to choose between.