マガジン

「ルールを一つ変える」案を実作で試すには ― 思考実験を動くゲームにする手順

遊びを見つける

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

定番の盤面に一つだけ赤い通り道を加え、選択が変わる様子を描いた版画風イラスト。
記事のテーマをもとに制作したAI生成イラスト。

記憶ゲームの「間違えてよい回数」を3回から1回にしたら、遊びはどう変わるでしょうか。「緊張感が増して面白くなりそう」と頭の中で結論を出すこともできますが、それは予想にすぎません。1回しか間違えられないせいで、最初の数ラウンドから息が詰まり、遊ぶ前に疲れてしまう可能性もあります。 この記事が確かめるのは、ルール変更の案を思いついた人が、予想のまま終わらせず、遊べる形にして答えを出すにはどうすればよいか、という問いです。扱うのは「ルールを一つだけ変える」案に絞ります。一つだけなら、結果が変わった理由を特定できるからです。 以降は、案の書き方、予想の書き方、最小の試作、記録と読み方、投稿するときの注意の順に進めます。結果は書きません。答えは、読者が自分で作って遊んだ記録の中にあります。

この記事の目次
  1. 案を「変えるもの」と「変えないもの」に分けて書く
  2. 試作の前に、予想を書いて残す
  3. 最小の試作は「ルールを一か所の定数にする」ことから始まる
  4. 記録は「何を・どの単位で・何回」を先に決める
  5. 起こりやすい誤りと、遊んでもらうときの注意
  6. アソバースに投稿して反応を見るときの考え方
  7. 次の行動

案を「変えるもの」と「変えないもの」に分けて書く

ルール変更の案は、思いついた時点ではたいてい曖昧です。「もっと難しくしたい」「もっと優しくしたい」では、何を作ればよいのか決まりません。最初に、次の形で一文にします。

  • 変えるもの:ルールのどの部分を、どう変えるか
  • 変えないもの:比べるために固定しておく部分
  • 確かめたいこと:変えた結果、遊びの何がどう変わるはずか

たとえば「間違えてよい回数を3回から1回にする。光る順番の長さ、音色、ラウンド数は変えない。一回の失敗が重くなり、慎重に覚える遊び方に変わるはず」という書き方です。

公式作品の元のルールを土台にする場合は、元の仕様を作品を開いて確かめてから書き始めます。「こだまの森」であれば、間違いは30点減で3回で終了、聴き直しは15点減、という設計が確認できます。この記事の例では、その設計の「3回」の部分だけを動かす場面を考えます。数値の細部は、実際に作品を開いて自分の目で確かめてください。

変え方の4つの型

案は大きく4つの型に分けられます。自分の案がどれにあたるかが分かると、試作の作り方も決まります。

  • 数値を動かす、内容:回数・時間・個数を増減する、例:間違いの許容回数、制限時間
  • 制約を足す、内容:できないことを増やす、例:一手戻すを使えなくする
  • 制約を外す、内容:できることを増やす、例:隣接の判定に斜めを加える
  • 情報を隠す/見せる、内容:見えるものを変える、例:予測の線を消す

公式作品の設計にも、この型が見て取れます。「小さな軌道」は、全軌道予測の点線を消して挑むことができます。情報を隠す型を、遊ぶ人が選べる形で用意していると読み取れます。「月夜の配達」は燃料が有限で、1区間で燃料1を使います。数値による制約が、経路パズルの核になっていると言えます。

どの型にも共通するのは、変えた一点が遊びの流れのどこに効くかを予想できることです。予想できない変更は、結果を読む手がかりも残りません。

試作の前に、予想を書いて残す

思考実験を実作にする企画の面白さは、「頭の中の結論」と「動かした結果」の差にあります。この差を見るには、遊ぶ前に予想を書き残しておく必要があります。結果を見てから「やはり思ったとおりだった」と記憶を書き換えるのは、人間にとても起きやすい誤りです。

予想は、次の3点を数字で書きます。

  1. 変更前と変更後で、一回のプレイの長さはどちらがどれだけ短いか、または長いか
  2. 遊びの終わり方(途中で終了するか、最後まで行けるか)はどう変わるか
  3. 遊んだ人が「もう一回」と思うのはどちらか

3つめは数字にしにくいので、「もう一回遊びたいか」を自分で5段階にして書きます。ここで自分の評価は偏ります。作った本人は、変更後の版に好意的になりやすいからです。可能であれば、案を知らない人に、どちらの版かを伝えずに遊んでもらいます。

ここで保護者の方や教育の場面に目を向けてみます。子どもが「このゲームのここを変えたい」と言い出したとき、その案を動く形にして、予想と結果の差を見る時間は、仮説を立てて確かめる練習になります。大人が結論を先に言わず、「予想を紙に書いてから遊ぼう」と促すだけで、遊びが小さな実験になります。

最小の試作は「ルールを一か所の定数にする」ことから始まる

試作で最も大切なのは、変える部分を一か所にまとめることです。ルールの数値がコードのあちこちに散らばっていると、変更前と変更後の版を作り分けるときに、ほかの部分まで変わってしまいます。

次は、記憶ゲームの最小例です。4つのパッドが順に光り、同じ順番で押します。ルールは冒頭の RULE にまとめてあり、maxMiss を書き換えるだけで間違えてよい回数が変わります。外部ライブラリも通信も使わない単独のHTMLです。

html
<!doctype html>
<meta charset="utf-8">
<title>ルール切替の最小例</title>
<div id="info"></div>
<div id="pads"></div>
<button id="start">はじめる</button>
<script>
const RULE = { maxMiss: 3 }; // ここを書き換えて比べます
const COLORS = ["#e57373", "#64b5f6", "#81c784", "#ffd54f"];
let seq = [], input = 0, miss = 0, round = 0, busy = false;
const info = document.getElementById("info");
const pads = document.getElementById("pads");
const pad = COLORS.map((c, i) => {
  const b = document.createElement("button");
  b.style.cssText = `background:${c};width:80px;height:80px;margin:4px;border:0`;
  b.onclick = () => press(i);
  pads.appendChild(b);
  return b;
});
function show() { info.textContent = `ラウンド ${round} / 間違い ${miss} / ${RULE.maxMiss}`; }
function flash(i) { return new Promise(r => { pad[i].style.opacity = 0.3; setTimeout(() => { pad[i].style.opacity = 1; setTimeout(r, 200); }, 400); }); }
async function replay() { busy = true; input = 0; for (const i of seq) await flash(i); busy = false; }
function play() { seq.push(Math.floor(Math.random() * 4)); round++; show(); replay(); }
function press(i) {
  if (busy) return;
  if (i === seq[input]) { if (++input === seq.length) setTimeout(play, 500); return; }
  miss++; show();
  if (miss >= RULE.maxMiss) { info.textContent += " 終了。到達ラウンド " + round; busy = true; }
  else replay();
}
document.getElementById("start").onclick = () => { seq = []; miss = 0; round = 0; play(); };
</script>

これを保存して .html として開けば動きます。maxMiss: 3 のまま何度か遊び、次に maxMiss: 1 に書き換えて遊びます。変えるのは数字一つだけです。

この例には、わざと省いた部分があります。音、点数、ラウンド数のコース分け、一時停止はありません。公式作品の「こだまの森」を再現するのが目的ではなく、一つのルールを動かしたときの差を見るのが目的だからです。部品を増やすほど、結果の差がどの変更から来たのか分からなくなります。

注意点を一つ挙げます。この最小例では、再生中に「はじめる」を連打すると表示が重なります。実験中は、再生が終わってから押してください。気になる場合は、再生中はボタンを無効にする処理を足せますが、足した分だけ「ルール以外の変更」が増えることになります。

記録は「何を・どの単位で・何回」を先に決める

試作ができたら、遊ぶ前に記録の取り方を決めます。ここが曖昧だと、遊んだ印象だけが残って比較になりません。

最小例なら、記録は次のようにします。

  • 何を:到達したラウンド数。補助的に、1回のプレイにかかった時間
  • どの単位で:1プレイにつき1行
  • 何回:各ルールで最低10プレイ程度。1回では運の影響が大きすぎます

順番が毎回ランダムに決まるゲームでは、運のよい回と悪い回の差が大きく出ます。そのため、1回ずつの結果ではなく、全体の傾きを見ます。変更前と変更後を交互に遊ぶと、慣れによる上達が片方に偏るのを防げます。たとえば「3回版、1回版、3回版、1回版」の順に遊びます。

記録は、紙でも表計算でもかまいません。ここで一つ注意があります。アソバースでは、ゲーム内スコアの共通ランキングは提供されておらず、公式作品の記録や録音の多くは画面を開いている間だけ残ります。投稿するゲームに記録を残したい場合は、作者が自分で保存の仕組みを用意する必要があります。実験の記録は、ゲームの外に自分で書き留めておくのが確実です。

結果の読み方を先に決めておく

結果を見てから解釈を考えると、都合のよい読み方を選びがちです。遊ぶ前に、次のような判断の基準を書いておきます。

  • 変更後のほうが到達ラウンドの散らばりが大きいなら、運の影響が増えた可能性があります。「緊張感」ではなく「ばらつき」が増えただけかもしれません。
  • 変更後のほうが全体に早く終わるなら、一回の遊びが短くなっています。「もう一回」の気持ちが続くかどうかは、別に確認します。
  • 予想した差がほとんど出なかったなら、その変更は遊びに効いていません。案としては外れでも、「効かない場所が分かった」という成果になります。

予想と違った結果は失敗ではありません。思考実験を実作にする意味は、予想を外す機会を持つことにあります。

起こりやすい誤りと、遊んでもらうときの注意

ルール変更の実験で起こりやすい誤りを、4つ挙げます。

  1. 同時に二つ以上変える。間違いの回数と制限時間を同時に変えると、どちらが効いたのか分かりません。
  2. 作者本人だけで判断する。何度も遊んだ人は、元のルールに慣れすぎています。初めて遊ぶ人の反応も取り入れてください。
  3. 少ない回数で結論を出す。2〜3回の結果で「面白くなった」と決めるのは、運と慣れを混同しています。
  4. 変更が遊びの目的を壊していないか見落とす。たとえば間違いを許さないルールにすると、練習の場がなくなり、初心者が遊べなくなることがあります。公式作品の「こだまの森」に音なしでも遊べる設計があることからも、遊ぶ人の幅を考えて調整する発想は読み取れます。変更後に誰が遊べなくなるかも、確認の項目に入れておきます。

遊んでもらうときは、「どこを変えたか」を先に説明しないほうが、素直な反応が出ます。感想を聞くときは「面白かったですか」ではなく、「もう一回遊びたいと思いましたか」「どこで終わりたくなりましたか」のように、具体的な場面を尋ねてください。

アソバースに投稿して反応を見るときの考え方

動く形ができたら、アソバースに投稿して他の人に遊んでもらうこともできます。確認済みの範囲で、流れを整理します。

投稿は、HTMLやZIPの直接アップロード、または公開済みURLで行います。入力、表示の確認、公開の3段階です。途中で下書きを保存できるので、変更前版と変更後版を別の作品として仕上げる、という進め方もできます。ZIPで出す場合は、直下の index.html が入口になり、素材は相対パスで指定します。アップロードは20MiB以内です。公開にはメールアドレスの確認が必要です。ログインなしで遊べるので、遊ぶ側の手間は小さくて済みます。

反応の見方には、注意が必要です。

  • プレイ回数は作品の起動の実測回数です。同じ端末・作品の30分以内の再起動は重複として除かれますが、人数ではありません。「何人が遊んだか」の指標としては読めません。
  • レビューは1アカウント1作品1件です。自分の作品を自分で評価することはできません。2版を並べて公開しても、数が集まるまでは、傾向を断定しないほうが安全です。
  • 評価順のランキングは、レビューが3件以上ある作品から掲載されます。件数が少ない間は、順位から読み取れることは多くありません。

投稿画面の「紹介文と遊び方を作成」は、公開済みURLか本人の検証済みアップロードを読み取って、選択した言語で下書きを作る機能です。「この文章を使う」を押したときだけ反映され、生成の操作だけで公開されることはありません。ルール変更版の説明文を作るときは、下書きを出発点にして、「元のルールとどこが違うか」を自分の言葉で一文足しておくと、遊ぶ人にも比較の軸が伝わります。

なお、オンライン対戦は「潮目のオセロ」と「灯りのチェス」のみで、投稿作品向けの共通対戦APIは提供されていません。対戦ルールの変更案を試したい場合は、同じ画面で2人が遊ぶ形など、作品の中で完結する作りにするのが現実的です。

次の行動

まず、ルールを変えたい案を「変えるもの・変えないもの・確かめたいこと」の三つの形で一文に書いてください。次に、遊ぶ前に予想を数字で書き残し、上のコードの RULE のような一か所の定数を作って、変更前後を交互に10回ずつ遊びます。予想と結果の差が、その案の本当の手応えです。