The Difficulty Equation
What Makes Games Fun?
Earlier, I suggested that games are fun because they’re hard. This is a pretty vague statement. What’s hard?
I’m going to suggest a general equation here to describe the difficulty of a given decision, for a given player. Please keep in mind that the values in this equation will generally vary based on the player.
Factors
A number of factors go into this equation. They are:
- A: Difficulty of Analysis
- Dm: Difficulty of decision-making
- T: Time available make the decision
- Nf: Number of factors to consider
- Nc: Number of choices the player has
- Dp: Difficulty in physically performing an action
- E: Difficulty of execution
- Pf: Player familiarity with the scenario
- C: Consequences
- Cs: Severity of consequences
- Cl: Length of consequences
- No: Number of possible opponent decisions
- Os: Opponent skill (mental)
- Oo: Opponent opposition (physical)
- Ps: Player skill (physical)
General Equations
C = Cs * Cl
Consequences are determined by the severity and length of the consequences. Consequences have a lower bound of zero. If a decision has zero consequences, then it ceases to be an interesting decsion.
F = Nf * Nc
The factors to consider are the product of the number of factors to consider and the number of choices that the player has.
A = C * F / Pf
The difficulty of analyzing a situation is the product of the consequences of the decision and the factors to be considered, divided by the player familiarity with the decision. This has a lower bound of one. A decision with a difficulty of analysis of one can only be made difficult by the opponent’s decision making, or the difficulty of execution.
Dm = No * Os
The difficulty of making a decision, after analyzing a situation, depends on the number of choices the opponent has and the opponent’s skill in making those choices. This has a lower bound of one. A decision with a decision-making difficulty of one can only be made difficult by difficulty of analysis or execution.
E = Oo * Dp / Ps
The difficult of executing a decision is based on the difficulty of performing the action, the ability of the opponent to oppose the action (physically), divided by the skill of the player. This has a lower bound of one. In the absence of opponent opposition, the difficulty of execution will trend to one.
D = A * Dm * E / T
In English, the difficulty of a decision is based on the difficulty of analyzing the decision, the difficulty of outsmarting your opponent, and the difficulty of physically executing the decision, divided by the time available.
The difficulty of analyzing a decision is based on how much data the player must consider, how many choices the player has, and how familiar the player is with the situation being presented.
The difficulty of making the decision is based upon the number of possible choices the opponent has, and the ability of the opponent to “outsmart” the player. Physical opponent skill is handled in analysis of the decision, and execution.
Flavor
While the equation suggests ways that are roughly equivalent to make a decision more or less difficult (increasing the number of decisions, or reducing the time available), a given combination will result in a different flavor of game. Decreasing available time will result in a more frantic style of play, while increasing the consequences of a decision will result in a more deliberate, planned style of play.
As an example, speed chess (chess with a very low timer) plays very different than “normal” chess.
Difficulty Thresholds
Players will have a maximum difficulty they can deal with at any given time. Players will simply not go beyond this level. If players are given decisions that are beyond their difficulty threshold, they will disregard factors to stay underneath that threshold.
Players may choose to modify Time (by disregarding certain decisions entirely), certain Factors (by ignoring some data available), or certain Choices (by disregarding them completely).
Difficulty as a Function of the Player
A given decision may be more or less difficult for any given player. This may happen because of several reasons:
- The player, through knowledge of the game, can trivially disregard some Factors when making certain decisions
- The player, through knowledge of the game, can trivially disregard some Choices when making certain decisions
- The player, through practice, has a higher skill, making Execution easier and less of an issue
- The player, through experience, can analyze Factors and Choices more quickly due to experience.
The last point is similar to the first two, but not exactly identical. In the first two, the player is disregarding certain information or options as being irrelevant. In the last point, the player is still considering the remaining choices/data, but is processing them at a much faster rate.
Analysis Difficulty Trends To One
For a given scenario, as player familiarity increases, the difficulty of analysis will trend to one (trivial/no effect).
Humans are incredibly good pattern matching machines. Exposing a player to a given scenario repeatedly will allow him to eventually trivially (though probably subconsciously) analyze the situation and recognize the best possible options.
Decision-Making is Based On The Opponent
Given an analyzed decision, the difficulty of making a decision is solely based upon the opponent, specifically, the number of ways that the opponent may react.
If an opponent will always react to a given scenario in a specific way, this will reduce to one.
This will also reduce to one if the opponent has no ability, directly or indirectly, to interfere with the player. For instance, this reduces to one in bowling, but not in darts (where the opponent has the ability to “close out” certain numbers).
Apparent and Real Complexity
Apparent complexity is the total number of choices and factors to be considered for a given decision. Real complexity is the number of choices and factors that cannot be trivially ignored by an experienced player.
The important thing to note here is that apparent complexity can act as a barrier for new players, but does not add any significant depth to the game for experienced players. Some apparent complexity is probably unavoidable, however.
Difficulty of Execution and Opponent Opposition
In most video games, opponent opposition is non-existent. Executing a dragon punch in Street Fighter cannot be actively interfered with by the opponent - either you successfully execute the move, or you do not. This is not the case in many physical games, where the player must not only execute a given skill, but do so given active resistance by an opponent.
An example of opponent opposition would be executing a throw in judo. The opponent is actively thwarting the player’s attempt to perform the throw.
Opponent opposition is not the same as interference. A quarterback throwing a football is not opposed - he either throws, or he doesn’t. His throwing may be interfered with if he is hit while throwing. In this case, he has made an error in his decision, not in his execution.
Similarly, our dragon-punch throwing Street Fighter player can be interfered with in the course of executing a dragon punch. However, the actual act of performing the dragon punch is not made easier or harder by the skill of his opponent. His chances to use the dragon punch without interruption may decrease, but the skill required is a constant.
(the difference seems fuzzy to me, but I think there is one. I may be wrong)