ゲームの中の一文は何文字まで読まれるのか:説明文の長さで確かめる実験の設計書
遊びを見つける執筆にClaudeを使用しています。

ゲームを開くと、最初の画面に遊び方の文章が出てきます。作る側は「ここに全部書いておけば大丈夫」と考え、遊ぶ側は文章を見た瞬間に「始める」ボタンへ視線を動かす場面を考えてみます。この二つは、同じ画面の上で簡単にすれ違います。説明文の長さをどこまで伸ばすと、読まれなくなるのでしょうか。 この問いに「何文字まで」と数字で答えるには、実際に測るしかありません。読まれる長さは、内容、画面の大きさ、読む人の状況、ゲームの種類で変わるためです。そのためこの記事は結果を示さず、自作ゲームの説明文について自分で答えを出すための実験の設計書として書きます。準備するのは短いHTMLファイル一つと、数人から十数人の協力者です。
「読まれた」を測れる行動に言い換える
「読まれた割合」は目に見えません。視線を追う機材がなければ、読んだかどうかは直接わかりません。そこで、読んだ人なら取るはずの行動に置き換えます。使いやすいのは次の三つです。
- 合図への従順さ:説明文の中に「青いボタンを押してから閉じてください」と書き、その通りに操作した人の割合を見ます。
- 閉じるまでの時間:説明を表示してから閉じるまでのミリ秒を測ります。文章の量に対して極端に短ければ、読み飛ばした可能性があります。
- 内容の確認:閉じた後に「この庭では何ができると書いてありましたか」と選択式で聞き、正答率を見ます。
この記事の中心は一つ目の合図方式です。必要な記録が少なく、読者が自分で再現しやすいからです。ただし弱点があります。合図が文末にあると、最後の一文だけを拾い読みした人も従えてしまいます。そのため、合図を末尾に置く条件と文中に置く条件の二種類を用意します。二つの差が、拾い読みの多さの手がかりになります。
条件の作り方:長さだけを変える
比較では、変える要素を一つに絞ります。長さを変えるときに内容や口調まで変えると、何が効いたのか区別できません。次の四条件を用意します。
- S、中身:合図だけ、合図の位置:末尾、見たいこと:最小の長さで従う割合
- M、中身:概要1文+合図、合図の位置:末尾、見たいこと:少し長くなったときの変化
- L、中身:概要+操作の説明+合図、合図の位置:末尾、見たいこと:長い文章の末尾の合図は届くか
- Lmid、中身:Lと同じ文を並べ替え、合図の位置:中ほど、見たいこと:末尾だけ拾い読みする人の多さ
LとLmidは文の中身がまったく同じで、合図の位置だけが違います。この二つの差が大きければ、末尾の合図は「読んだ証拠」として弱いと考えられます。
文字数は手で数えず、後述のコードに数えさせます。コードが返すcharsはJavaScriptのlengthで、全角も1文字と数えます。絵文字は2と数えられることがあるので、説明文には使わないでください。
もう一つ区別したいのは、文章全体の量と一文の長さです。総量を揃えたまま「短い文を5つ」と「長い文を1つ」を比べる条件も作れますが、最初は上の四条件で十分です。慣れてから、句点の数だけを変える条件を足してください。
手順:最小の計測ページ
次のHTMLを1つのファイルに保存し、ブラウザで開きます。外部ライブラリは使わず、通信もしません。条件は#SのようにURLの末尾で指定でき、指定がなければランダムに決まります。例文は仮のゲームを想定した架空のものです。
<!doctype html>
<meta charset="utf-8">
<title>説明文の長さ計測</title>
<p id="t"></p>
<p>
<button data-c="赤">赤</button>
<button data-c="青">青</button>
<button data-c="緑">緑</button>
</p>
<p><button id="done">閉じる</button></p>
<pre id="out"></pre>
<script>
const base = "これは仮の庭づくりゲームです。木や石を置いて、季節を眺めます。";
const extra = "置いたものは動かせて、大きさも変えられます。間違えたときは一つ前に戻せます。";
const cue = "読んだら、青いボタンを押してから、閉じるを押してください。";
const T = { S: cue, M: base + cue, L: base + extra + cue, Lmid: base + cue + extra };
const keys = Object.keys(T);
const h = location.hash.slice(1);
const cond = keys.includes(h) ? h : keys[Math.floor(Math.random() * keys.length)];
const pressed = [];
const t0 = performance.now();
document.getElementById("t").textContent = T[cond];
document.querySelectorAll("[data-c]").forEach(b => {
b.onclick = () => pressed.push(b.dataset.c);
});
document.getElementById("done").onclick = function () {
const r = {
cond,
chars: T[cond].length,
ms: Math.round(performance.now() - t0),
pressed: pressed.join(""),
followed: pressed[pressed.length - 1] === "青"
};
document.getElementById("out").textContent = JSON.stringify(r);
this.disabled = true;
};
</script>「閉じる」を押すと、条件、文字数、経過ミリ秒、押したボタンの順序、合図に従ったかどうか(followed)が画面に表示されます。followedは、閉じる直前に最後に押したのが青だった場合にtrueになります。
結果は画面を閉じれば消えるため、協力者の画面を見て自分で書き写します。アソバースの確認済み事項には、投稿作品から作者が他の人の結果を集める仕組みは含まれていません。そのためこの方法では、表示して手で写す形を取ります。アップロード作品内のlocalStorageは一時メモリー扱いの互換処理なので、記録の保管先として頼らないでください。
記録の取り方と、結果の読み方
記録は「1行が1人1回」の表にします。列は条件、協力者の番号(名前は不要です)、followed、ms、端末の種類(スマートフォンかPCか)、気づいたことの備考です。
守る点は三つあります。
- 1人につき1条件だけ:同じ人が複数の条件を見ると、2回目以降は「どうせ合図がある」と身構えるため、読み方が変わります。
- 条件ごとの人数を揃える:URLを交互に配るなどして、偏りを避けます。
- 人数が少ないうちは断定しない:1条件5人なら、1人の違いで割合が20ポイント動きます。
読み方の目安は次の通りです。
- SとMで従う割合がほぼ同じで、Lで下がるなら、この内容ではMとLの間に境目がある可能性があります。ただし人数が少ないうちは仮説にとどめ、LとMの中間の長さを足して追試してください。
- どの条件でもほとんどの人が従うなら、合図が目立ちすぎているか、最大の条件でもまだ短い可能性があります。さらに長い条件を足します。
- Sでさえ従わない人が多いなら、長さではなく合図の文言やボタンの配置に問題があります。
- LでもLmidでも従う割合が近いなら、末尾だけでなく文全体が読まれている可能性があります。Lだけが高くLmidが低ければ、末尾の拾い読みが多いと考えられます。
- msは条件ごとに中央値を出します。文章が長いのにmsが短い人は、読み飛ばしの疑いがあります。ただし読む速さには個人差があるので、一人の値で判断せず、条件の中での分布を見てください。
起こりやすい誤り
プレイ回数を人数として使うこと。アソバースのプレイ回数は作品の起動を実測した回数で、同じ端末・同じ作品の30分以内の再起動は重複として除かれます。人数ではないので、割合を出すときの分母にはなりません。分母は、記録した行の数にしてください。
文字数だけで比べること。漢字の量、ひらがなの割合、改行や行間でも読みやすさは変わります。子ども向けの説明にこの結果を使うなら、年齢に合った漢字や言葉づかいでの追試が別に必要です。家族や友人に頼むときは「読む力を調べているのではなく、文章の側を調べている」と伝え、緊張させないようにしてください。
日本語と英語の文字数を直接比べること。アソバースのサイトは日本語・英語の表示を切り替えられますが、作者が入力した作品名や紹介文は書き換わりません。公式作品のように両言語の表示を持つ作品でも、同じ内容の文字数は言語で違います。英語を含めて比べる場合は、文字数ではなく単語数や文の数など別の単位を決めてください。
条件が混ざること。ハッシュ(#Lなど)を付けたURLは、別のタブで開き直さないと条件が切り替わらないことがあります。協力者ごとに新しいタブで開いてもらってください。
公式作品の説明の置き方から読み取れること
実験で自作ゲームの説明の長さを決めたとしても、「最初に全部読ませる」以外の選択肢があります。確認済みの範囲で、公式作品の設計から読み取れることがあります。
「灯りのチェス」には駒の動き方ガイドとヒントがあり、「潮目のオセロ」のひとり対局には理由付きヒントがあります。「かたちのあいだ」には次の一手のヒントがあり、これは最短とは限らないとされています。共通しているのは、説明が開始前の一枚の文章に集約されず、プレイ中に必要な場面で呼び出せる機能として用意されていることです。先に長く読ませる代わりに、迷った瞬間に短く答える作りだと読み取れます。
一方で、各ガイドの文章量、表示の位置、一度に出る文の数は確認済み事項に含まれていません。この部分は作品を開いて確かめてください。たとえば灯りのチェスでガイドを呼び出し、表示された文を実験の条件S・M・Lと並べてみます。短い一文で足りているのか、複数の文が出るのかがわかります。
アソバースの投稿画面には、公開済みURLや本人のアップロードを読み取り、紹介文と遊び方の下書きを作る機能があります。「この文章を使う」を押したときだけ反映される仕組みです。出てきた下書きの長さを、この実験のLに当たる条件として使い、自分の手で切り詰めたものをSやMにするのも一つの方法です。
次の行動
まず上のコードを保存し、自作ゲームの説明の雰囲気に合わせてbaseとextraを書き換えてください。次に、家族や友人に#S、#M、#L、#LmidのURLを順に配り、条件ごとに同じ人数の記録を集めます。表がそろったら、割合とmsの中央値を並べて、境目になりそうな長さを探してみてください。
