謎解きのヒントの作り方|3段階の例で考える、ひらめきを残す設計

「答えを見ればわかるのに、ヒントを読んでも進めない」。謎解きを作ると、そんな場面に出会います。いいヒントは、答えに近い言葉を小出しにするだけではありません。解く人が次に何をすればよいかを、ひとつ見つけられる言葉です。

ここでは短い例題を使い、ヒントを3段階に分ける作り方を考えます。紙の謎解きにも、Unityで作る謎解きアプリにも使える設計例です。

まず「どこで止まるか」を分ける

解けない理由は、人によって違います。何を見る問題なのかわからない人もいれば、見る場所は合っているのに、操作が思いつかない人もいます。答えはわかったけれど、入力の表記が違っていることもあります。

止まっている場所助ける内容
何を見ればよいかわからない注目する場所や情報を示す
関係や操作が見つからない比べ方、並べ方、読み方を示す
答えの形がわからない文字数や入力形式を示す

最初から解法を説明すると、発見する楽しさを飛ばしてしまいます。逆に「よく見てみよう」だけでは、どこを見るかが変わりません。その間に、ちょうどよい一歩を作ります。

例題で、3段階のヒントを作る

次は、この記事のために用意した小さな例題です。右側には、左の言葉から一文字を取り出して入れています。共通する取り出し方を考え、「?」を埋めてください。

あか → か
ねこ → こ
そら → ?

ヒント1:見る場所を変える

赤い物や猫の特徴より、書かれている文字に注目してみましょう。

ここでは、言葉が表す物から、文字の並びへ視線を移します。「どの文字を取るか」は、まだ自分で探せます。

ヒント2:比べる相手を示す

右側の一文字は、左側のどこにありますか? 「あか」と「か」、「ねこ」と「こ」を比べてみましょう。

次にすることが「左右を比べる」とわかります。ヒントを読んだ後に、手を動かして丸をつけるような行動が生まれると、進めるヒントになります。

ヒント3:操作を示す

左の言葉の、最後の一文字を取り出しています。「そら」の最後は何でしょう?

答えは「ら」。最後のヒントでは操作を伝えますが、残った一歩は解く人に任せます。小さな一歩でも、自分で答えを出せる余地を残せます。

ヒントは「弱・中・強」より、役割で分ける

3段階に分けても、同じ内容を言い換えただけでは、詰まっている人は進めません。「よく見よう」「もっとよく見よう」「注意して見よう」では、助けが増えていないからです。

注目する場所 → 比べ方 → 具体的な操作のように、段階ごとの役割を決めると書きやすくなります。ただし、すべての問題で3つ必要というわけではありません。一手で終わる問題なら、ヒント1つと解説で十分なこともあります。

解説では、答えまでの道をつなぐ

答えを表示して終わると、「なぜそうなるのか」が残ることがあります。例題の解説なら、次のように、ルールと具体例をつなぎます。

右側には、左の言葉の最後の一文字が入ります。「あか」の最後は「か」、「ねこ」の最後は「こ」です。同じ取り出し方をすると、「そら」の最後は「ら」になります。

謎の中で使っていない知識を、突然説明に持ち込まないことも大切です。問題に書かれた情報から、答えにたどり着く筋道が見えると、次の問題にも取り組みやすくなります。

アプリでは、ヒントの見せ方も設計する

画面上にヒントを全部並べると、読むつもりのなかった先まで目に入ります。段階ごとに開く形なら、どこまで助けてもらうかを選べます。「ヒント2を見る」と内容の強さがわかるボタンも考えられます。

問題画面を隠してしまう場合は、ヒントを閉じたときにすぐ問題へ戻れるようにします。ヒントを読んだ直後が、試してみたくなる瞬間です。スクロールや画面移動で、その勢いを切らないようにしたいところです。

データには、問題文、許容する答え、ヒントの配列、解説を分けて持たせると、問題ごとにヒント数を変えられます。全体の画面構成は、Unityで謎解きアプリを作るときの5画面設計でも紹介しています。

試してもらうときは、最後より途中を見る

「面白かった?」だけでなく、「ヒントを見た後、何をしようと思った?」を聞いてみてください。作り手が想定した行動と違っていたら、次の一歩が伝わっていないのかもしれません。

ヒントを使った人数の多さだけで、問題の良し悪しは決まりません。難しい問題を、ヒントから納得して解けることも楽しさです。見たいのは、助けを読んだ後に、考えることが再び動き始めるかどうかです。

解く側の気持ちを味わいたくなったら、謎解き千本ノックや、公開中の謎解き・パズルアプリもどうぞ。一問の「わかった!」を、作る側から考えてみると、遊び方にも新しい発見があります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です