スコアを消したゲームで、遊ぶ人は何を目標にするのか:観察実験の設計書
遊びをつくる執筆にClaudeを使用しています。

画面の隅にあった「SCORE 12」という数字を消すと、遊ぶ人は何を頼りに動くのでしょうか。数字がなくなれば、遊び方が自由になるとも、目標を見失って早く飽きるとも考えられます。どちらもありそうで、ゲームを作る側には判断がつきません。 この記事は、その問いを小さなゲームと数人の観察で確かめる「実験の設計書」です。結果は書いていません。準備、手順、記録の取り方、結果の読み方、間違えやすい点を並べるので、自分のゲームや下に載せる最小のゲームで、同じ観察を行ってください。 観察するのは「スコアがあるほうが面白いか」ではありません。人が自分で決める目標の種類と、やめるタイミングです。スコア表示を消したときに目標がどこへ移るかが分かれば、数字に頼らずに手応えを作る設計のヒントになります。
確かめる問いと、確かめないこと
中心の問いは次のひとつです。
スコアが表示されないとき、遊ぶ人は自分で何を目標にし、どのように遊びをやめるのか。
これに付随して、次の3点を記録します。
- 目標を口にするまでの早さと、その内容
- プレイの長さと、やめた理由
- 遊んでいる間の行動の変化(精度を上げようとする、動きを変える、など)
一方、この実験では次のことは確かめられません。
- 「スコアなしのほうが良い」「スコアありのほうが良い」という一般論
- 何人中何人という割合の正確さ。少人数の観察から出せるのは傾向の手がかりまでです。
- ゲームの完成度の評価。ゲームがつまらなければ、どちらの条件でも早く終わります。
条件は2つに絞ります。
- 条件A:スコアを画面に表示する
- 条件B:スコアを表示しない(内部では数えていてもよい)
AとBでほかの要素は変えません。差が出たときに、その理由をスコアの有無に絞れるようにするためです。
準備するもの
試作ゲーム
星が上から落ちてきて、クリック(タップ)で消せるだけの小さなゲームです。目標も終わりも用意していません。フィードバックは「クリックした星が消える」ことだけです。条件はコードの SHOW_SCORE を true(条件A)か false(条件B)にして切り替えます。
HTML ファイル1つで動き、外部のライブラリも通信も使いません。
<!doctype html>
<meta charset="utf-8">
<title>星ひろい</title>
<canvas id="c" width="480" height="320" style="background:#123;max-width:100%"></canvas>
<pre id="log" hidden></pre>
<script>
const SHOW_SCORE = true; // 条件Bでは false にする
const cv = document.getElementById("c"), g = cv.getContext("2d");
const t0 = performance.now(), log = [];
let stars = [], score = 0, last = 0;
function rec(type){ log.push(Math.round(performance.now()-t0) + "," + type); }
cv.addEventListener("pointerdown", e => {
const b = cv.getBoundingClientRect();
const x = (e.clientX-b.left)*cv.width/b.width, y = (e.clientY-b.top)*cv.height/b.height;
const i = stars.findIndex(s => Math.hypot(s.x-x, s.y-y) < s.r+6);
if (i >= 0) { stars.splice(i,1); score++; rec("hit"); } else rec("miss");
});
function tick(now){
const dt = Math.min((now-last)/1000, 0.1); last = now;
if (Math.random() < dt*1.2) stars.push({x:20+Math.random()*440, y:0, v:40+Math.random()*60, r:14});
stars.forEach(s => s.y += s.v*dt);
stars = stars.filter(s => { if (s.y > 340) { rec("lost"); return false; } return true; });
g.clearRect(0,0,480,320); g.fillStyle = "#fd6";
stars.forEach(s => { g.beginPath(); g.arc(s.x,s.y,s.r,0,7); g.fill(); });
if (SHOW_SCORE) { g.fillStyle="#fff"; g.font="20px sans-serif"; g.fillText("SCORE "+score,10,26); }
requestAnimationFrame(tick);
}
addEventListener("keydown", e => { if (e.key === "l") {
const p = document.getElementById("log"); p.hidden = !p.hidden; p.textContent = log.join("\n"); } });
rec("start"); requestAnimationFrame(tick);
</script>観察者用の操作として、遊び終わった後に L キーを押すと、経過ミリ秒,hit/miss/lost の行が並んだ記録が画面に出ます。ログは画面を開いている間しか残りません。再読み込みや閉じる操作の前に、必ず別の場所へ写してください。
自分のゲームで行う場合も考え方は同じです。「何かをした時刻」と「その種類」だけを記録する仕掛けを入れておけば足ります。
人と道具
- 遊ぶ人:各条件に4人以上を目安にします。そのゲームを初めて遊ぶ人にします。
- 観察者:自分以外の1人がいると理想的です。難しければ、録画で代用します。
- 録画または画面記録:遊ぶ人の同意を得てから使います。顔は映さず、画面と操作だけでも十分です。
- 紙かメモ:遊ぶ人ごとに1枚用意します。
説明の台本
両条件で、一字一句同じ台本を使います。例を挙げます。
星が落ちてきます。画面を触って自由に遊んでください。やめたくなったら、いつでもやめてかまいません。
目標、終わり、スコアの有無には一切触れません。これが最も崩れやすい部分なので、事前に紙に書いて読み上げてください。
手順と記録の取り方
手順
- 遊ぶ人を条件AかBに割り振ります。同じ人に両方を遊ばせると、2回目は1回目の影響を受けます。人ごとにどちらか一方だけにしてください。割り振りは、到着順に交互にするなど、機械的に決めます。
- 台本を読み上げ、ゲームを開いて渡します。
- 観察者は話しかけず、うなずきや笑いなど反応を見せないようにします。遊ぶ人から質問されたら「ご自由にどうぞ」とだけ答えます。
- 遊ぶ人がやめると言うまで待ちます。時間制限は設けません。ただし長くなりすぎる場合に備え、上限を10分などと決めておき、その到達も記録します。
- 終わったら、すぐに聞き取りを行います。
- 画面のログを L キーで出し、写し取ります。
記録する項目
記録は、何を・どの単位で・何回取るかを決めておくと、後で比較できます。
- プレイ時間、単位:秒、取り方:ログの最後の時刻、または録画
- hit/miss/lost の数、単位:回、取り方:ログを集計
- 操作が止まっていた時間、単位:秒(5秒以上の空白を数える)、取り方:ログの間隔から
- やめた理由(本人の言葉)、単位:原文のまま、取り方:聞き取り
- 遊び方の変化に気づいた箇所、単位:時刻とひとこと、取り方:観察メモ
遊んでいる最中に「今、何を考えていますか」と聞く「思考発声」は避けてください。声に出して説明させること自体が、本人の目標を作ってしまうおそれがあります。目標は、終了後の聞き取りで言葉にしてもらいます。
聞き取りの質問
順番も固定します。「スコア」という言葉を実験者から出してはいけません。
- 遊んでいる間、何を目指していましたか。
- いつ頃、やめようと思いましたか。そのきっかけは何でしたか。
- うまくいっていると感じたのは、どんなときでしたか。
- もう一度遊ぶとしたら、何をしてみたいですか。
答えが短い場合は「たとえばどんなことですか」と、相手の言葉を繰り返す形で促します。「スコアがないから難しかったですか」のような誘導は禁物です。
結果の読み方
目標を分類する
聞き取りの答えを、次の分類で読み分けます。分類は事前に決めておき、結果を見てから変えないでください。
- 記録更新型、聞き取りに出やすい言葉の例:「さっきより多く」「たくさん取る」
- 効率型、聞き取りに出やすい言葉の例:「外さないように」「取りこぼさないように」
- 持続型、聞き取りに出やすい言葉の例:「できるだけ長く」「どこまで続くか」
- 探索型、聞き取りに出やすい言葉の例:「何か起きるかと思って」「仕組みを探して」
- 表現型、聞き取りに出やすい言葉の例:「端から順に」「同じ並びに」など、自分で決めた遊び方
- 目標なし、聞き取りに出やすい言葉の例:「特になし」「何となく」
1人が複数に当てはまってもかまいません。最初に口にしたものと、最後に口にしたものを分けて記録すると、遊んでいる間の目標の移り変わりが見えます。
結果を判断する目安
条件Bの記録を見たとき、次のような読み方ができます。これらは目安であり、結論ではありません。
- Bでも記録更新型が多い:数字が見えなくても、本人が頭の中で数えている可能性があります。数字は動機の源ではなく、表示の問題かもしれません。条件Aとの違いは、数え間違いや不確かさの有無かもしれず、ログの hit 数と本人の言う数を照らし合わせると分かります。
- Bで効率型や表現型が目立つ:ゲームの中に、数字以外の評価の軸が生まれていると読めます。その軸を、画面の変化や演出としてゲーム側が受け止める余地があります。
- Bで目標なしが多く、プレイ時間も短い:スコアを消すだけでは、代わりの手がかりが足りていません。星を消したときの反応や、場面の変化など、別の手応えを足す設計の検討に進みます。
- AとBで差がほとんどない:この試作では、スコアが目標形成の決め手になっていない可能性があります。ゲームの中身そのものが、どちらの条件でも目標を生んでいないとも読めます。
プレイ時間は目標の語りと一緒に見てください。長く遊んだ人が「何となく」と答えているなら、目標がなくても続く心地よさがあると読めます。短く終えた人が明確な目標を語っているなら、目標を達成して満足した可能性もあります。時間だけで良し悪しは決められません。
条件ごとの人数は少ないため、割合ではなく、一人ひとりの語りと行動の対応に注目します。「Bの4人のうち、ログでは hit が増えているのに目標なしと答えた人がいる」といった食い違いが、次の仮説になります。
起こりやすい誤り
- 隠れたスコアが残っている:スコア表示を消しても、難易度の上昇、効果音、星の増え方などが実質的な採点になることがあります。条件Bのゲームに、数字以外の「うまくいった印」が何かないか、事前に洗い出してください。この試作では、星が消えること自体が唯一の印です。
- 実験者の癖が条件を漏らす:「今回はスコアがないバージョンです」のようなひとことが、遊ぶ人にスコアを意識させます。台本から外れないことが大切です。
- 遊ぶ人の偏り:身近なゲーム好きばかりだと、記録更新を目指す傾向が強く出る可能性があります。誰を集めたかも記録に残します。
- 見てから分類する:結果を見た後で分類を作ると、都合のよい解釈になりがちです。分類は先に決め、できれば2人が別々に振り分けて、食い違いを話し合います。1人しかいない場合は、数日おいてからもう一度振り分けます。
- ゲーム自体がつまらない:どちらの条件でも早く終わるなら、スコア以前の問題です。この実験では原因が切り分けられないため、先にゲームの核を見直してください。
- ログの消失:再読み込みやタブを閉じると、記録は消えます。写し取る前に画面を閉じないよう、手順に組み込みます。
- 公開後の数字で代用する:投稿した作品のプレイ回数は、作品を起動した実測回数で、遊んだ人数ではありません。同じ端末と作品の30分以内の再起動は重複として除かれます。回数からは遊び方の違いも目標も読み取れないので、この実験の代わりにはなりません。
次の行動
まず、台本と分類表を紙に書き、条件Aの1人目を遊んでもらってください。1人終えた時点で、聞き取りの質問が誘導になっていないか、ログが写せているかを点検できます。
自分のゲームで行う場合は、スコアの表示部分を1か所のフラグで切り替えられるようにし、操作の種類と時刻だけを記録する仕掛けを足せば、同じ形で観察できます。手応えの作り方を確かめた後、公開したいときは、アソバースの投稿画面からHTMLをアップロードし、下書き保存で表示を確認できます。公開にはメールアドレスの確認が必要です。

