マガジン

盤面を紙に書き写して考える:画面を離れると見落としは減るのかを確かめる設計書

遊びをつくる

執筆にClaudeを使用しています。

道をつなぐ線、丸い駒、幾何学のタイルからなるパズルの模型。
記事のテーマをもとに制作したAI生成イメージ。実際のゲーム画面ではありません。

オセロの中盤で、画面を見ながら「この手なら安全そう」と置いたところ、次の相手の一手で角を取られた場面を考えてみます。置く前にもう少し丁寧に見ていれば気づけたはずなのに、画面ではなぜか目が滑ります。盤面が動き、石が返るアニメーションがあり、次に何が起こるかを画面が先に見せてくれるので、頭の中で「相手の番」を組み立てる作業が後回しになりやすいのです。 そこで試したくなるのが、局面を紙に書き写してから考える方法です。手で盤面を写せば、一マスずつ読むことになります。画面の見た目に引っ張られず、相手の手を自分の頭で探す時間が生まれるかもしれません。ただし「紙のほうが良さそう」という感覚と、実際に見落としが減るかどうかは別の話です。この記事に結果はありません。同じ問いを自分の対局で確かめるための設計書として、準備、手順、記録、結果の読み方、誤りやすい点を順に示します。 ゲームを作る人にとっても、この問いは役に立ちます。プレビューやヒントのような補助表示は、プレイヤーの思考を助けることも、代わりにやってしまうこともあります。補助を外した状態の思考を一度自分で観察しておくと、補助の置き方を考える材料になります。

この記事の目次
  1. 問いを一つに絞る
  2. 準備するもの
  3. 手順と記録の取り方
  4. 結果の読み方
  5. 起こりやすい誤り
  6. 次の行動

問いを一つに絞る

「紙に書くと強くなるか」という問いは大きすぎて、確かめようがありません。強さは対局の勝敗に左右されますし、数局では偶然の影響が大きいためです。そこで、検討の質を見落としという一点で測ります。

この実験の問いは次のとおりです。

同じ種類の局面で、画面を見ながら考えたときと、紙に書き写してから画面を見ずに考えたときとで、「自分の手の直後に相手が取れる決定的な手」の見落とし件数に差が出るか。

見落としの定義は次のようにします。

  • オセロ(潮目のオセロ):自分が置いた直後の局面で、相手が角に置ける手があり、それが検討メモに書かれていなかった場合を1件と数えます。
  • チェス(灯りのチェス):自分が指した直後の局面で、相手が自分の駒を取れる手があり、それが検討メモに書かれていなかった場合を1件と数えます。

こう決めておくと、「強くなった気がする」という主観ではなく、件数で比べられます。数え方が曖昧だと後で判断がぶれるので、実験を始める前に紙に書き留めておきます。

比べる条件は二つです。

  • 条件A:画面を見たまま考えます。
  • 条件B:局面を紙に書き写し、画面を見ずに紙だけで考えます。

同じ局面を二度解くと、二回目は答えを覚えているため比較になりません。局面ごとにどちらの条件を使うかを割り当て、同じ局面は一度しか使いません。

準備するもの

道具は多くありません。

  • 白い紙(コピー用紙で十分です)。印刷用の記録用紙があると便利です。
  • 鉛筆と、消しゴム。色鉛筆があれば、黒と白(または自分と相手)を塗り分けられます。
  • 秒を測れるタイマー。スマートフォンのストップウォッチで構いません。
  • 条件を決めるためのコイン、またはサイコロ。
  • 記録表(後述します)。

盤の枠を毎回手で描くと、描く手間が書き写しの時間に混ざってしまいます。次の短いコードをHTMLファイルとして保存してブラウザで開き、印刷すると、座標つきの8×8の枠が4枚並びます。外部の読み込みはありません。

html
<!doctype html>
<meta charset="utf-8">
<title>盤面記録用紙</title>
<style>
 body{font-family:sans-serif}
 .sheet{display:inline-block;margin:8px}
 table{border-collapse:collapse}
 td,th{width:34px;height:34px;border:1px solid #333;text-align:center}
 th{border:none;height:20px;font-size:12px}
</style>
<div id="app"></div>
<script>
const cols="abcdefgh";
const flip=false; // trueにすると行番号が上から1〜8の順になります
let h="";
for(let n=0;n<4;n++){
 h+='<div class="sheet"><p>局面ID: ____ 条件: A / B</p><table><tr><th></th>';
 for(const c of cols)h+="<th>"+c+"</th>";
 h+="</tr>";
 for(let i=0;i<8;i++){
  const r=flip?i+1:8-i;
  h+="<tr><th>"+r+"</th>"+"<td></td>".repeat(8)+"</tr>";
 }
 h+="</table></div>";
}
document.getElementById("app").innerHTML=h;
</script>

使う作品と設定も固定します。

  • 潮目のオセロ:ひとり対局で、相手の段階は3段階のうち一つに固定します。
  • 灯りのチェス:ひとり対局で、相手の段階を同様に固定します。同じ画面でのふたり対局は、自分の手と相手の手の両方を自分で動かすことになるため、この実験には向きません。

途中で段階を変えると、局面の質が変わって比較が崩れます。どちらか一方の作品に絞ったほうが、記録が読みやすくなります。

手順と記録の取り方

局面の見つけ方

特定の配置を作る必要はありません。実際の対局の中で、手を止めたくなる局面を拾います。条件は次のとおりです。

  • オセロ:自分の合法手が3つ以上あり、角の周辺や辺の扱いで迷っている局面。
  • チェス:自分にも相手にも、駒を取れる手がある局面。取れる手が一つもない静かな局面は、見落としが起きにくいため避けます。

迷った瞬間に手を止め、局面の番号(局面ID)を振ります。毎回「ここぞ」という局面だけを選ぶと偏るので、中盤に入ったら「5手ごとに1回は止まる」のように、機械的な基準も併用します。

一局面ごとの手順

  1. 手を止め、局面IDを記録表に書きます。
  2. コインで条件AかBかを決めます。偏りを避けるため、10局面をそろえるまでに、AとBがほぼ同数になるよう調整します。
  3. 検討時間は3分に固定します。
  4. 条件Aは、画面を見たまま3分考えます。
  5. 条件Bは、まず紙に盤面を写します。写し終えるまでの秒数を測り、記録表に書きます。その後、画面を見ない状態で3分考えます。見えない位置にタブを切り替えるか、画面を手で覆います。
  6. 検討中に、候補手と「相手が次に取れる決定的な手」(オセロなら角に置ける手、チェスなら駒を取る手)を、紙に書き出します。
  7. 最終的な手を決めて、指します。
  8. 指した直後の局面で、見落としの数え方に従って、書き漏れた相手の手が何件あったかを数えます。この数え上げは画面で確認します。オセロなら相手が置ける場所を目で追い、チェスなら駒の動き方ガイドで相手の駒の動きを確かめます。
  9. 書き写しミスの数を数えます。紙と画面を照らし合わせ、違っているマスの数を記録します。

次の機能は、この実験の間は使いません。

  • 返る石のプレビュー、理由付きヒント、ヒント全般(指す前)。これらは検討の代わりをするため、条件の差を覆い隠します。
  • 一手戻す。同じ局面をもう一度使うことになり、学習効果が混ざります。

ヒントを見たいときは、指した後に確認するだけにとどめ、記録欄に「ヒントの手と一致したか」を書き添える程度にします。ヒントの手が常に最善とは限らないので、判定の根拠には使いません。

記録表

次の項目を、局面ごとに1行で記録します。

  • ****、ゲーム:、条件:、書き写し秒数:、候補手の数:、書き出した相手の決定的な手の数:、見落とし件数:、書き写しミス数:

回数の目安は、各条件10局面ずつです。数局では偶然の影響を読み分けられないため、少なくとも各条件10局面を目標にします。何日かに分けても構いませんが、日をまたぐ場合は疲れ具合や時間帯も欄外にメモしておきます。

結果の読み方

記録がそろったら、まず条件ごとに見落とし件数の合計と、1局面あたりの平均を出します。そのうえで、次の順に判断します。

  1. 書き写しミスを確認します。条件Bの書き写しミスが多いなら、紙の上の盤面が実際の局面とずれていたことになり、紙の効果を評価できません。ミスが多い局面は集計から外すか、書き写し方(座標の書き方、石の塗り方)を見直してやり直します。
  2. 見落とし件数に差があるかを見ます。条件Bのほうが少なければ、紙が助けになった可能性があります。差がほとんどない、あるいは条件Aのほうが少ないなら、この局面と相手の設定では紙の効果が読み取れなかったことになります。
  3. 差の大きさを、局面ごとのばらつきと見比べます。10局面ずつでは、1局面で見落とし件数が大きく動くだけで平均が変わります。条件内のばらつきと同程度の差なら、判断は保留にします。
  4. 候補手の数と書き出した相手の手の数を見ます。紙に写すと候補が増えるのに見落としが減らないなら、読む範囲は広がったものの精度は上がっていないことになります。逆に候補数が変わらず見落としだけ減ったなら、「見る場所の質」が変わった可能性があります。
  5. 書き写しの秒数と合わせて見ます。見落としが減っていても書き写しに長い時間がかかるなら、実戦で使いやすい方法かどうかは別に考えます。時間制限のある対局では、この負担が効いてきます。

差が出たかどうかだけで結論を急がず、「差が出なかった理由」も考えます。局面が易しすぎた、相手の段階が低すぎた、検討時間が長すぎて両条件とも見落としがほぼなかった、などが典型です。その場合は、局面の条件(迷う局面に絞る)や検討時間(3分を90秒に縮める)を変えて、別の実験としてもう一度やり直します。

起こりやすい誤り

  • 局面の選び方が偏ります。「紙のほうが良さそうな局面」に条件Bを割り当てたくなりますが、割り当てはコインで決めます。
  • 順序と疲れの影響があります。前半に条件A、後半に条件Bと固めると、疲れや慣れの差が条件の差に見えてしまいます。
  • 座標の向きがずれます。灯りのチェスは、オンライン対局で黒側の盤面が反転します。ひとり対局でどちら側が画面の下になるかは、作品を開いて確かめます。紙の向きは画面と同じにそろえるか、そろえないなら紙の上に「上が8」などと明記します。
  • 画面を見ながら書き写してしまいます。条件Bでは、書き写しが終わったら画面を見ないことを守ります。見てしまった場合は、その局面を無効にして記録します。
  • 見落としの定義が途中で変わります。実験中に「これも見落としだった」と基準を広げると、条件間の比較が崩れます。気づいた別の観点は、次の実験に回します。
  • 見落とし件数を数える際の確認不足です。オセロの角、チェスの取る手は、画面で相手の合法手を実際に確かめてから数えます。記憶だけで数えると数え漏れが出ます。

チェスは、全棋譜が画面に表示されるため、棋譜から局面を再現して書き写しミスを確認することもできます。写した盤面が棋譜の流れと合っているかを照合できると、ミスの数え上げに迷いません。

次の行動

まず上のコードで記録用紙を印刷し、潮目のオセロか灯りのチェスのどちらか一方で、相手の段階を固定してひとり対局を始めてみてください。最初の目標は、条件A・Bそれぞれ3局面でかまいません。記録表の書き方に慣れてから、各10局面へ増やします。自分の対局で出た数字が、補助表示のあり方を考える材料になります。