The solution to a puzzle should be motivated: something in the game
should trigger the player to think of the solution. It’s unfair for
puzzles to make sense only retrospectively - that’s a catch-22
situation, because the player can’t get the information needed to
solve a puzzle until after solving the puzzle! It’s considered bad
form for a puzzle to solvable only with information gained through the
death of the player character; this makes no sense within the context
of the story world, because there’s no way for a character who
solved the puzzle to have known how to solve it, because
that character couldn’t have died. It’s bad form to require
specific knowledge external to the game, because it’s unreasonable to
expect every player to have the same background information. Of
course, it’s impossible not to rely on some common background
knowledge, in that just knowing how to read English is a sort of
background knowledge; what you want to avoid is anything that could be
considered trivia.
A puzzle should be recognizable as a puzzle. The player should
realize that a puzzle is an obstacle meant to be overcome, and not a
fixed barrier; and the player should realize that a puzzle is there at
all. An invisible door is a bad puzzle, because the player doesn’t
have any reason to think they should be looking for a door there.
(Unless, of course, the player has an invisible door detector and has
been told he needs to find an invisible door in a certain place. But
then the player knows there’s a puzzle to be solved, satisfying our
rule.)
The player should understand her broad objectives at any given
time. Metaphorically, a player should always be able to find a locked
door before finding the key. The most frustrating feeling while
playing an adventure is that you don’t know what you’re supposed to do
next. If you find a locked door, you know that you have to find some
way to open it; you know what to do, so the trick is to figure
out how to do it.
One type of problem-solving is deduction, through experimentation
and observation. You can invite the player to engage this form of
problem-solving by offering objects that are implemented in great
detail, and by making them behave consistently. Give useful feedback
in response to verbs.
For example, you might design a machine, described as “a small
metal box with a button, a short plastic hose on one side, and a large
metal pipe on the other side.” When the button is pushed, “a loud
hissing comes from the plastic hose for a moment, then a large drop of
clear liquid drops out of the pipe, which hits the floor and quickly
evaporates into a white cloud of vapor.” If the player puts the
plastic hose in a glass of water and the button is pushed, “the water
is sucked into the plastic tube, and few moments later a block of ice
is dropped out of the pipe.” This allows the player to learn by
experimentation what the machine does, which is more fun for the
player than if you had labeled the machine “a freezer” or some such.
Another type of puzzle that makes for good games is the kind that
uses ordinary objects in an unusual but logical manner. For example,
you could use a ladder to cross a chasm, or an incandescent bulb for
its heat rather than its light. It’s important that the use be
logical; you don’t want the player to have to guess a completely
unmotivated use of an object. You want the player to think, “I need a
heat source, but all I’ve got is this light bulb,” and then realize
that the light bulb is a heat source. It’s also important that
these special properties of an object be consistent; if the player
tries to take the light bulb while it’s lit, they should get burned.
When a special propert is important in a puzzle, you must call as
much attention to it as you can without giving away the solution.
Another common type of puzzle involves hidden objects. When objects
are hidden, the player should be able to find them without resorting
to looking behind and under everything in every room. For example, if
you hide a crystal statuette under a seat cushion, someone sitting on
the seat may hear a sound like breaking glass coming from under the
cushion; looking under the cushion reveals a smashed statuette.
(Providing a clue that doesn’t result in a smashed statuette would be
awfully nice, though, if the intact statuette is important to winning
the game.)
Multi-purpose objects can add depth and realism, as well as
providing a subtle type of puzzle. In many adventures, particularly
of the old-school variety, the player can assume that each object has
at most one use: once you figure out which puzzle the crowbar solves,
you can toss it aside. You can take advantage of this expection to
set up subtle yet logical puzzles simply by using an object for more
than one of its properties. Players might assume that the obvious
useful property of the object is the only one - especially after using
it to successfully solve a puzzle - and they might not bother looking
for other uses of the object.
Most players prefer games in which they can work on several puzzles
at any given time. Which puzzles seem “easy” and “hard” will vary by
player, so leaving several puzzles open at once gives each player the
ability to work on whichever one seems most tractable to them. This
fits into the most common overall IF structure: most games are
structured into an introduction, a main body (or “mid-game”), and an
end-game. The introduction and end-game tend to be fairly linear;
that is, each event leads to the next in a fixed order. In the linear
portions of the game, the player can only work on one puzzle at a
time, and must solve it before moving on to the next. The body of the
game, though, consists of several puzzles that can be attacked in any
order. Some of these might have interdependencies, but for the most
part it’s up to the player which to attach when. You should try to
keep the linear portions of the game as short as possible, to give the
player maximum control by getting to the wide-open mid-game as soon as
possible and spending most of the game there.