Category Archives: Theory


What makes puzzle games fun? I want to know! So I’m going to try by

  • proposing and exploring a definition of difficulty (this post)
  • examining what makes for novelty, and how to modulate novelty over time (next post)
  • combining the two above to propose what makes pure-mechanics games fun for various types of people (in the future!)

First, some setting. My strongest genre currently is a class of games called referred to as ‘pure mechanics’ by some. This mostly means that there’s no real theme or narrative, and that the game is fun purely because of fulfilling goals inside of the mechanics. Themed and narrative games can in fact get away with having close to no mechanics, while still being a good, fun game (e.g. The Stanley Parable). However, in pure mechanics land while you needn’t make a theme or write a narrative, you have to engage the player’s interest by the mechanics alone–how they are unveiled, the ways they interact, and to what extent they are explored. This results in an experience for the player with a difficulty over time function and novelty over time, and depending on these functions different people will react differently toward the game. In this post I’ll create some language for talking about difficulty, and in a subsequent post I’ll discuss novelty, and then finally merge these two to show what makes a pure mechanics game fun for different types of people.

Difficulty, a proxy definition

Difficulty can be hard to quantify rigorously, but I’ll use the following definition, which leaves aside all physical matters as short-term memory, reflexes, etc., as proxy. If you haven’t heard of it before, the notion of a state space might be useful. Suppose that there are N possible states you can get to from the current state in the game, and there are W winning states. The difficulty of the game is inversely proportional to W/N. Now, this isn’t quite right because, for example, consider a game where you have to answer “what is 2+2”, and the input can be a number. Well this game would seem the most difficult of them all because only one out of infinitely many states are winning! This leads us to another aspect of difficulty: the ability of the player to prune the search tree, usually by means of what are called heuristics. So now supposing that the player can prune P of the states, the difficulty becomes proportional to W/(N-P). This definition can be further refined based on the complexity or depth required to search down to winning states (compared to not-winning states), but for now let’s think of W/(N-P) as a decent proxy.

Now that we have a working definition of difficulty, we can see how to make games easier or harder, and there are a few ways for each, by either increasing or decreasing any of the three variables.

How To Calibrate Difficulty

  • Increase W (easier): make the winning condition more relaxed. In a star-based points game, this could mean making the ‘win’ on a level count even at a single star (instead of, suppose, 3). One should watch out, though, that in increasing the state space one doesn’t increase N too much more, or you’ll be sitting at neutral.
  • Decrease W (harder): if things are too lax, just set the bar a bit higher to make for a harder challenge. Ask more given the same environment. For a good example of where W is set well, see one of my old favorites Auditorium.
  • Increase N (harder): the simplest way to do this is by adding pieces, mechanics, or upping the dimension of the game in some fashion or another. For something which gets insanely hard via dimensionality increase, check out English Country Tune.
  • Decrease N (easier): limit the space the player is working in without removing too many winning states. Add additional constraints so that the number of possible paths decreases and the level is easier to reason through. When testing a game where players keep getting confused at a point, simplify. Allow them to do fewer things. Some of the best tutorials I’ve seen make use of tiny state spaces (sandboxes) so that the player can learn the mechanics of the game without complex interaction.

Now for the most interesting variable: P. Now, how much a player can prune is dependent, naturally, on the player’s capability. The more interesting thing, however, is that their ability to prune and strategies for pruning are adaptive given games the player has seen in the past. Thus if you’re building off of existing mechanics, e.g. physics, where puzzles are related to the real world, or existing controls, e.g. the arrow keys, games become much easier to pick up. (If, however, you give them a text terminal and they input letters one at a time to navigate a maze by taking the last two bits of that character in binary to be a cardinal direction, it could be far more difficult.) So what makes pruning so interesting is that not only is it dependent on players, but also on existing designs. Through pruning it is possible to make an easy game very hard and vice versa, provided you can find a translation of the state space into a framing that is more conducive for human thought.

Back to the two examples mentioned earlier, Auditorium and English Country Tune, we have two examples of puzzles where the state space can be very large, and the win set sufficiently small, but the biggest difference is that Auditorium uses physics that we’re familiar with. Pushing things around, attracting, speeding up, deflecting, these are all natural movements. In contrast, ECT changes gravity depending on your perspective, has objects you push at a distance, and an entire slew of other mechanics which do not occur ‘naturally’, so to speak, within our Earth-bound physics. This is what makes Auditorium far easier to prune, and hence an easier game compared to the much more confusing ECT. Of course, ECT isn’t the most difficult thing to reason about, it just takes a bit of learning and practice, and we might notice that learnability of mechanics modulates the pruning function, and thus the rate at which a player’s P may increase–something which will affect the difficulty curve over time.

But really we just want two more bullet points, right?

  • Increase P (easier)
    • Use mechanics that are familiar (e.g. real world physics)
    • Teach mechanics through sequences of levels that show them in limited environments (i.e. keep N small for a while to train the pruning strategies–it is easier for the player to learn when they can remember everything they did)
    • Give hints or show demonstrations (gamer see, gamer do)
  • Decrease P (harder):
    • Use mechanics that are not familiar or hard to disentangle (e.g. context-specific rules are an easy way of making anything insanely hard)
    • Include false-positives on how a level might be solved. Basically, emulate various heuristics and make them lead to not win states.
    • Make mechanics interact in complicated ways. (For those of you who have played ECT, think the Larva+Whale levels.) Notice that this doesn’t have to make N blow up, it just makes the space more topologically confusing.

That’s all for now. Next up is a similar account of what makes for novelty, and then after that we’ll get to talking about novelty and difficulty over time, and how that makes for fun! Bonus points: For an alternate account of difficulty, check out Edmund’s account at Team Meat (note that % chance you’ll die is very similar to (N-W)/(N-P), though I didn’t add penalty here as I was thinking about puzzlers where you can step back/restart at any point–an idealized situation for sure).