Game Design - Difficulty
This note aims to answer how difficulty a game should be and what is a good way to introduce challenge. Related to level design.
Difficulty should be in balance. It must be sufficiently tough to make the player want to keep trying, but not too hard so the player gets frustrated. Challenge should feel real, yet be perceived as achievable. The right balance depends on your target audience.
Difficulty should be fair. Death by a random event or consequences that you couldn't predict even if you tried are both bad game design. Rules of the game should be consistent or you must inform the player when the rules change. If you cannot play around a situation, it's not fair difficulty.
Difficulty should be transparent. When player fails, they must always be able to reason what they could try next.
Complexity is not difficulty Complexity is never good on its own. The most elegant games have high depth and low complexity. This means offering a lot of tools for the player but having a small rule set.
Having multiple difficulty levels is bad. Classical "Easy, Normal, Hard" is a bad approach to tune a game for players, and dynamically changing enemy attributes is even worse when players notice it. Most people don't even know what is their own skill level so how could you? Tune the game for different kind of approaches, not different player skill levels.
If player goes abnormal or rare plot path, increase the difficulty automatically? Make main quest easy but side quests truly hard? Dark Souls: The game is really hard and allows using melee or ranged. Playing a ranged magic user is a lot easier and most of the premade characters are spellcasters. This allows people to fine tune the difficulty setting without noticing, if they fail they try something different and notice that spells are a much safer approach.
Game artificial intelligence shouldn't be allowed to cheat. Players will notice it sooner or later and feel cheated. Game should never feel like that is trying to make you fail. Game should try to challenge you.
Warcraft: AI player knows where your resource gatherers are without even scouting.