The Designer's Notebook: Difficulty Modes and Dynamic Difficulty Adjustment

By Ernest Adams

[In Ernest Adams' latest Gamasutra column, he digs into difficulty levels in games, interestingly suggesting that player-set difficulty can, in many cases, be preferable to dynamic difficulty settings.]

I just finished reading a book called Interactive Storytelling, by Andrew Glassner. While the first couple of hundred pages contain useful introductions to both storytelling and game design (for the novice, anyway), the book has some serious flaws and I can't really recommend it. But along the way, Glassner digresses into a variety of other subjects, and one of them is settable difficulty levels. He's against them. He thinks they ought to be banned.

This really pulled me up short when I read it. My opinion is exactly the opposite: settable difficulty levels should be mandatory in most game genres. In fact, I regard the lack of a difficulty setting as a Twinkie Denial Condition, except for a few kinds of games where they aren't suitable. Since I feel so strongly about this, I was especially interested in Glassner's objections to them. I'll take a look at, and respond to, his points before I go on to talk about his preferred alternative, dynamic difficulty adjustment (also known as adaptive difficulty).

These are Glassner's complaints about settable difficulty levels.



In short, while some of these objections deserve attention -- and their effects should be ameliorated when possible -- I think that demanding that difficulty levels be "banned" from all games is throwing the baby out with the bathwater.

More importantly, Glassner's objections ignore the most important rule of game design of all: empathize with the player, i.e. provide what he wants. Players want settable difficulty levels, and removing them for purely theoretical reasons is not a good way to serve your audience.

Glassner concludes his discussion by saying, "Games should not ask players to select a difficulty level. Games should adapt themselves during gameplay to offer the player a consistent degree of challenge based on his changing abilities at different tasks." In other words, they should do dynamic difficulty adjustment, which I'll call DDA from now on.

(Because DDA is also called adaptive difficulty, it sometimes gets confused with adaptive artificial intelligence. Adaptive AI is one way of doing DDA, but it's much too complicated a subject for this column.)

DDA has been around for ages. The earliest example I can find is in the 1981 Intellivision game Astrosmash, a clone of the Atari classic Asteroids. Astrosmash got harder and harder in typical arcade style, but it also noticed when you were running out of lives and got easier again for a while. Even beginners could play for quite a long time, which made it hugely popular. Because it wasn't a coin-op game, the designers had no motive to kill the player off quickly.

I like the idea of dynamic difficulty adjustment in principle, because it appeals to me as a programmer. It would be very cool to code a game that was smart enough to adjust its challenges to the player's abilities, so as to guarantee him a good time. But despite Glassner's confidence in DDA, I also recognize that it's not necessarily easy to do.

Let's take a look at some of the problems with DDA:


I'm not actually opposed to DDA in all circumstances; as with almost everything in game design, it has its strengths and weaknesses. I think it's a great idea for simple, abstract casual games like the aforementioned Astrosmash, but the more heterogeneous a game's challenges are, the more difficult it is to create a DDA system that covers them all.

Any DDA system needs a performance-evaluation mechanism and an adjustment mechanism for each type of challenge that it will work on. The performance-evaluation mechanism determines how successful the player is at overcoming a particular type of challenge, and the adjustment mechanism makes the challenge easier or harder, usually by changing parameters that define the challenge (such as the strength of an enemy).

In Astrosmash, the performance evaluation was very simple: it looked at the number of lives remaining. You can easily do something similar with health points, money, or whatever other resource is critical to survival. Robin Hunicke has done some nice practical research on the subject using a Half-Life mod; see her paper "The Case for Dynamic Difficulty Adjustment in Games." (You'll have to create a free ACM account to download the PDF.)

If you're definitely going to use DDA, consider the following suggestions:

DDA is difficult to implement, complicates tuning, and your player may not want it at all. Think long and hard before you commit yourself to it.

Return to the full version of this article
Copyright © UBM Tech, All rights reserved