見出し画像

推理パズルをつくろう

 こんにちは!パズル作家をやっているけーえぬわいです。なんと!去年から「おうちで数独・推理パズル」というシリーズ本が始まりましたね!やったね!しかし推理パズルの供給は他のパズルと比べてあまりないとの噂を聞きました。大分前ですけど。他の人が作った推理パズルも見てみたいというわけで今日は推理パズルの作り方について語ろうと思います。なお、あくまで自分が用いている方法の紹介となりますので、この作り方は一例となり、この通りにきっちり作らなければならないというわけではありませんのでご注意ください。あくまで作る際の参考にしていただけると嬉しいです。

早速ですがまとめ

 この記事を書いていたら6000文字を超える長文となってしまいました。そこで、要点だけをざっとまとめてみました。時間が無い人や長文が苦手な人はこれだけ見てください。

・テーマと要素を考える
-テーマとかみ合った要素を選ぶ
-難しい問題では数値比較できる要素を入れる
・数値の決定
-数値は先に決めておく
-数値は比較ヒントが作りやすいものにする
・ヒントを追加する
-ヒントを追加して逐一解き進めていく
・ヒントの順番を決める
・名前を決めていない要素の名前の決定
・問題文の作成

-テーマ説明、当てるべき項目、注釈を書く
・ヒント文の作成
-箇条書き形式やセリフの箇条書き形式が初心者におすすめ
-ヒント文は曖昧にせず明確に

それでは本題に入ります。まずはテーマから。

・テーマを考える

 推理パズルにまず必要なのが、テーマです。推理パズルにおける設定文となる部分です。日常のささいな出来事などからテーマのヒントを得ましょう。例えば、アニメを見ていて、そこで登場したお麩が目に付いたら、お麩を題材にする事を考えるとか。まあお麩がテーマになりそうな推理パズルは自然な設定にするのが難しそうなので他のものを探すなどします。そんな感じです。テーマを決めるうえで大事なのが、要素です。例えば、「旅行」を題材にした時、「誰が」「何日に」「どこに行って」「お土産は何か」が要素になりそうです。この旅行の例において、「現在着ている服」とか「好きな芸能人」など、テーマとは関係なさそうな要素を入れるのはおすすめしません。また、難しめのおてごろや、たいへんの問題を作る時には、個数などの数値や、日時など、「他の要素と比較できる項目」を入れると良いです。難しい問題でなくても入れる事は多いです。推理パズルの8~9割くらいがこの数値関係の項目が入っている気がします。テーマに関連付けられる数値もしくは日時の項目を考えて使いましょう。温泉の例では「何日に」という項目を用いています。
 良さそうなテーマのアイディアを思いついたら忘れないようにメモをしましょう。書かないと、忘れます。

・解く部分を作る

 次に、私流の推理パズルの作り方を紹介します。今回は例題サイズの3項目4要素の問題を作ろうと思います。テーマは、先ほど「題材にならない」と言ってしまったお麩をあえて題材にしようと思います。「お麩を使った料理を作った4人の、お麩が入っていた料理、お麩を使った個数を当てる」といった内容でいいでしょう。この場合、要素は「名前、料理、使った個数」となります。
 今回は、こちらのサイトを用いて作っていきたいと思います。このような便利なツールがある事に感謝ですね。ちなみにペンシルパズルを作る時は紙派なので、普段は4mm方眼ノートで作っています。

・数値項目の要素の決定

 テーマ自体をボツにする事があるので、数値以外の要素は最初は細かく決めずに、アルファベットなどの記号で代用するのがおすすめです。作り終えたらアルファベットをちゃんとした名前の要素に変えればよいのです。ただし、数値だけは作っていて後から軽率に変えられない事が多いので先に決めておきましょう。●は△より多いみたいなヒントを入れた後でこの値を変更すると、●と△が取る値の選択肢が増えたり減ったりする場合があるからです。複数解に陥りやすいです。
 また、ここでの数値の決め方も重要です。例えば、「Aの数はBの数の2倍」というヒントを書きたい時に、項目の中の数値で(Aの数)=(Bの数)×2となるような組み合わせが1つしか無ければAとBの数が一気に決まってしまいます。それよりは複数選択肢があった方がいいので、この2倍の例だと1、2、4とか1、2,3,6という数値を用意しておけばいいでしょう。「Aの数はBの数よりも1大きい」などといった別の数値比較ヒントも用いる事が多いので、それも同時に使う事も意識して数値を決めていくとよいでしょう。
 それでは、これを元にして推理パズルの表の初期状態を作っていきます。こんな感じになります。

画像5

 ここで使ったお麩の数の要素に1を使うと、お麩を1個だけ使った料理を作った事になります。お麩は1つの料理で数個使うイメージがあり、それでは少し不自然な気がするので、一番小さな数を3として作成しました。これで「●の数は△の数の2倍」とか「●の数は△の数よりも3大きい」といったヒントが使えそうですね。このように設定に自然でヒントが付けやすい数値選びは大切です。

・問題の中身の作成


 ではここからヒントを追加していってマトリックスを埋めていきましょう。多くのペンシルパズルがヒントを加えて手を進めていく作り方を行うのと同じように、ヒントを追加して、それを元に表に○や×を書き込んでいくスタイルです。今回は難易度が簡単なものを作りたいので、まずは◯をすぐに1つずつ入れられるようなヒントを置きたいと思います。しかし、そのようなヒントを入れる時、数値要素が絡んでくると、後で数値の比較のヒントを入れる際に邪魔になってきます。そこでとりあえず、数値に関係ない2つの項目に関するヒントを入れてみましょう。項目を記号化しているので、私はヒントは大抵式の形で書いてます。紙に鉛筆で書いているので、なるべく文字数が少ない方が楽なのです。ここでは「AはEである」というヒントを加えるので、A=Eとしましょう。

画像1

次に、比較のヒントを入れていきます。正直、このサイズだと比較のヒントは1つでいいような気がしますが、今回は2つ入れていきます。ここでは、「●の数は△の数の2倍」とか「●の数は△の数よりも3大きい」といったヒントを入れていきましょう。というわけで、「Bが使ったお麩の数はFの2倍」、「Cが使ったお麩の数はGよりも3個多い」、式に直すとB=F×2,C=G+3の2つのヒントを追加します。

画像2

 数値比較ヒントばかりだと少し難しくなってしまうので、この場面ですぐに◯が置けるヒントを置きたい訳ですが、軽率にヒントを置くと、先ほどおいた数値比較のヒントに影響を与えかねません。例えば、C=12とすると、B≠12よりB=6となり、B=F×2よりF=3となって、先ほどおいた複数選択肢のある数値ヒントがすぐに一択になってしまいます。別にそれでも問題ないのですが、私は避ける傾向にあります。これは個人の好みですね。
 そこで私は今、せっかくならば先ほどの数値比較のヒントで入れた×を使って次の動きを生みたい、と考えています。ちなみに私は推理パズルを作る時に、こういう数値比較ヒントで入れた×を△で書いて、どの×印が数値比較ヒントで入れた×印なのか分かりやすくしています(私が紙で作る時の話であって、上で紹介した作成ツールでは△は入れられません)。
 数値比較のヒントに影響を与えず、数値比較のヒントで入れた×を使って次の動き、この場合は同じ列に×を3個付けて消去法で○を決定させる、そうするには、色々選択肢があります。とりあえずその中から1つ選んでD=9(Dが使ったお麩の数は9個)とします。他の選択肢はH=9などを選んでも良さそうですが、後で会話形式のヒント文を書きやすくするために、名前の要素(ここではD)を含むヒントにしました。D=9を入れると誰が使ったお麩の数が3個なのか、消去法で決められそうです。

 しかし!!ここから解き進めると分かると思いますが、どうしてもB=F×2とC=G+3のどちらかが成立しません。こうして数値比較ヒントによってハタンするのは推理パズルあるあるなので、あまり気にせずにD=9を入れる前に手戻りしましょう。ちなみに、数値比較ヒントをたくさん入れすぎると、ハタン率が高くなると私の経験が申しております。4項目5要素の推理パズルで、だいたい4個くらいの数値比較ヒントを入れると成立が難しくなるイメージがあります。ヒントの細かさにもよりますが(「○は△よりも大きい」とかだと、お互いの要素が決定しにくく成立が少し簡単になる)。というわけで、2つ以上数値比較ヒントを入れたのがまずかったのか!?と思いつつ、もう1つの選択肢H=9を入れてみると…

画像6

 上手くいきました。全て数値比較ヒントに沿っているので成功です。作り終わったら、答えが全ての数値ヒントに対して矛盾していないかとか、○の位置が矛盾していないか(矛盾している場合は例えば下図)などを確認するのがおすすめです。

画像3

 作問が終わったら、正しく解けるかどうかを確認するために、条件文をヒントとして解き直しをします。ちなみに、「難しい数独を作ったと思ったら、別の所から簡単に解けちゃった」みたいな事が推理パズルでもしょっちゅうあります。なので、難しい問題を作った時は、自分の想定通りの道筋以外の簡単な道筋がないかどうかもチェックします。

・ヒントの順番を決める

 正しく解ける事が分かったら、次は問題文とヒントの文章を作ります。お楽しみの部分ですね。
 まずはヒントの順番決めです。ヒントの文章はどのような形式を取るか、会話形式だったら誰にどのヒントを話させるか、どのヒントを先に設けたら後からヒントを読み返す必要が出てきて濃いめの問題になるのだろうか、などを考えながら決めていきます。この問題の場合はどの順番でも良さそう……と筆者は思います。初心者向けなので最初は○を決定させるヒントにしましょうかね……というわけで次の順番で行きます。
①A=E ②C=G+3 ③ H=9 ④B=F×2
ちなみに、先ほど話した通り会話形式のヒントを出す場合、おおまかな話の流れ、つまり誰がどのヒントを話して、それをどういった順番で話すかを決めていきます。この場合、名前要素のA~Dの4人にヒントを話させるとして、A=EはAが、B=F×2はBが、C=G+3はCが、残ったH=9はDが話せば良さそうです。

・要素に名前を付ける

 次に、現在アルファベットで表されている各要素に、ちゃんとした名前を付けます。
 まずA~Dの名前欄です。ここでは人物名を決めていきます。「トムクルーズ」や「磯野サザエ」など現実世界にいる有名人やアニメのキャラクターなどと類似性が極めて高い名前にしない限り、基本的に何を入れても大丈夫だと思います。特定の状況下では避けるべきかもしれない名前もあります。例えば、都道府県の項目がある場合は、「山口」「香川」といった人物の名前は紛らわしいので避けるのが吉でしょう。ここの工程では、遊び心で何かしらのパロディを入れている(と思われる)作家さんもお見かけますね。要素の名前を使って遊ぶ事ができるのは、自由に題材を選べる事と並ぶ推理パズルの1つの魅力だと思ってます。名前の攻めすぎには注意してくださいね。どのラインまでが攻めすぎなのかは分かりませんが……。
 次にE~Hの「作った料理」の欄です。自分はお麩を使った料理は味噌汁しか知らなかったので、インターネットでお麩を使った料理を調べて味噌汁以外の残り3個の要素を埋めます。
 というわけで、図のようなマトリックスになりました。

画像4

(今回は分かりやすいように各要素の前に対応するアルファベットを書きましたが、実際に投稿しているマトリックスではアルファベットは書いていません!!)

今回は料理名を適当に当てはめましたが、要素は答えが不自然にならないような組み合わせや、ヒント文をどのように書くかなどを考慮して当てはめていく事が多いです。

・問題文の作成

 次に、問題文を書きます。ざっくり説明するとテーマ説明(状況設定)と当てるべき項目と注釈を書くところですね。なるべく自然な設定にするには、次のような問題文にしたらよいでしょうかね。
「スーパーでお麩が安く売られていたため、夜ご飯でお麩を使った料理を作った秋野さんたち4人。彼らの話から、それぞれが作った料理と、使ったお麩の数を当ててください。」
 今回の問題では注釈が必要ないと思いますが、問題によっては、問題文の最後に「自分の事を他人のように話している人はいません」とか「4人以外の話をしている人はいません」などの注釈を付けることがあります。具体例をあげての説明が難しいので、詳しくはニコリの推理パズル本を参考にするのが早いでしょう。適当な説明ですみません。

・ヒント文の作成

 次に、ヒント文を書きます。ヒントは主に登場人物のセリフ形式と箇条書き形式とセリフ一文の箇条書き形式があります。セリフ形式だと「こんなくだけた口調にして解き手に伝わるか……?」「この会話の掛け合いは自然なのか……?」など色々気にするところが出てきてしまうので、箇条書き形式の方が比較的書きやすいです。なので、推理パズル作成の初心者はこちらがおすすめです。しかし私はセリフ形式で書くことが多いです。今まで作った中で6割くらいがセリフ形式ですかね?理由はただ単にその方が楽しいからです。解く側もセリフ形式の方が親しみやすいですよね、きっと。もちろん、箇条書き形式は親しみやすくないからダメという訳ではありませんよ。セリフの箇条書き形式は、登場人物1人がヒントをしゃべっているという感じです。これも書きやすいのでおすすめです。
 今回はセリフ形式で書いていきます。先ほど決めたヒントの順番と、各ヒントを誰に話させるかを元にして、登場人物4人にヒントを話してもらいます。
 まずA=E、つまり秋野=味噌汁。
秋野「僕はシンプルに味噌汁にいれたよ」
 普通に「僕は味噌汁に使ったよ」でもいいのですが、こっちの方がフランクで良いかなと思い、少し言い方を変えました。フランクすぎるとヒントが曖昧な文になるなどして最悪伝わらないので、注意が必要です。
 2番目はC=G+3、つまり荻川=卵とじ+3。
荻川「私が使ったお麩の数は、卵とじに使われたお麩の数よりも3つ多いですよ」
 3番目はH=9、つまり麩菓子=9。
習志野「麩菓子には9個のお麩が使われたね」
 ちなみにここでは、語尾を伝聞(~だって、~そうだ)にしない事で、例え習志野さんが麩菓子を作っていても、自然なセリフとなるよう工夫しています。伝聞だと、ヒントに書いていない&問題文に「自分の事を他人のように話している人はいません」と書いていないにも関わらず、「習志野さんは麩菓子を作っていない!」と解釈される場合があるからです。ちなみに、「自分の事を他人のように話している人はいません」と書いてない場合は、ヒント文で自分の事を他人のように話している人がいる可能性がある事を意味していますよ。
 4番目はB=F×2、つまり安曇野=煮物×2。
安曇野「私が使ったお麩の個数は、煮物に使われた個数の2倍よ」
 こんな感じですかね。これでヒント文の作成は完了です。
 会話形式でもヒント文は明確に伝える事が大事です。「~~~らしい」といった曖昧な語尾はあまりおすすめできません。

 ヒント文を作成したら、再び解き直しをします。問題文やヒントに対して誤りを見つけるためです。解き直したら、答えとヒント文の条件が合っているかどうか確認するのがおすすめです。

 こうして見直しが終わったら完成です。原稿を作る場合は、推理パズルの答えを作成します。実際に掲載されている推理パズルの答えを元にして書くのが無難でしょう。
 答えの要素名が間違っていないかどうか確認したら完成です。ちなみに私は、問題が大きくない場合、問題文・ヒント文・マトリックス・答えを1つにまとめた原稿をWordで作っています。

・まとめ

 いかがでしたか?今回は私の推理パズルの作り方について説明しました。何度も言いますが、あくまでもこれは1つの例で、これが絶対という訳ではないので軽く参考にしていただけるとありがたいです。
 また、世に出ている推理パズルを解きあさるのもおすすめです。解いているうちに、問題文・ヒント文の書き方が身に染みついていくと思います。やはりインプットは大切。
 以上で推理パズルの作り方の説明を終わります。長い文章を読んでいただき、ありがとうございました。

この記事が気に入ったらサポートをしてみませんか?