AIに「やってはいけないこと」だけ渡すと、ゲームは何で埋まるか:実験の設計書
遊びをつくる執筆にClaudeを使用しています。

「敵を出さない」「点数を表示しない」「ゲームオーバーにしない」。この3行だけをAIに渡して、「この条件でブラウザゲームを作ってください」と頼む場面を考えてみます。目標もジャンルも指定しません。守るべき線だけを渡します。 このとき、AIは空白をどう埋めるでしょうか。穏やかな探索ものに寄るのか、禁止の抜け道を突いた意外な仕組みを出すのか、あるいは禁止したはずのものが形を変えて戻ってくるのか。この記事は、その答えを書くものではありません。読者が自分の環境で確かめるための、実験の設計書です。 確かめたいのは次の3点です。
問いを3つの条件に分ける
「禁止だけを渡すとどうなるか」は、比べる相手がなければ答えが出ません。そこで同じAIに、次の3条件で依頼します。
- A:禁止のみ、渡す内容:禁止事項だけ、見たいこと:空白を何で埋めるか
- B:目標のみ、渡す内容:「落ち着いて遊べる短いゲーム」のような目標だけ、見たいこと:禁止がなくても同じ方向に行くか
- C:目標と禁止、渡す内容:BにAの禁止を足したもの、見たいこと:禁止が出力をどれだけ変えるか
AとBが似た作品になるなら、禁止事項は効いていないか、AIの既定値が強いことになります。AとCの差が大きければ、禁止事項が設計を動かしています。この三角形が、実験の骨格です。
禁止事項は性質の違う4種類に分けて用意します。種類ごとに守られ方が違うかもしれないからです。
- 要素の禁止:敵を出さない、アイテムを出さない
- 表示の禁止:スコアや文字を画面に出さない
- 構造の禁止:ゲームオーバーを作らない、制限時間を使わない
- 操作の禁止:ボタンは1つだけ、キーボードを使わない
準備するもの
- 同じAIの同じ設定:モデルや設定は全条件で固定します。途中で変えると差が何によるのか分からなくなります。
- 新しい会話:1回の生成ごとに新規の会話を開きます。前の会話が残ると、先の作品が後に影響します。
- 禁止リスト1セット:4種類から1〜2個ずつ選び、合計6個前後にします。例を挙げます。
- 敵キャラクターを出さない
- 数字のスコアを表示しない
- 「ゲームオーバー」の画面を作らない
- 制限時間を使わない
- ボタンは画面上に1つだけにする
- 外部の画像・音声・通信を使わない
- 共通の出力条件:「index.html 1枚で動く」「外部ライブラリを使わない」を全条件に入れます。禁止事項ではなく形式の条件として、3条件すべてに同じ文面で付けます。
- 回数:各条件5回、合計15回が最小です。1回だけでは偶然と区別できません。
- 記録シート:下の「記録の取り方」の表を、表計算ソフトに写しておきます。
この共通条件は、作った作品をそのままアソバースに投稿できる形にもしておくためです。投稿は直下のindex.htmlが入口で、サーバー用コードやサービスワーカーは対象外です。単独のHTML1枚なら、この範囲に収まります。
手順
依頼文の雛形
条件Aの雛形です。条件B・Cは、この文の差し替えと追加だけで作ります。
ブラウザで遊べるゲームを作ってください。
次のことは、してはいけません。
・敵キャラクターを出さない
・数字のスコアを表示しない
・「ゲームオーバー」の画面を作らない
・制限時間を使わない
・ボタンは画面上に1つだけにする
・外部の画像・音声・通信を使わない
出力は index.html 1枚だけにしてください。条件Bは禁止の行を消して目標の1行(例:「落ち着いて遊べる、3分ほどの短いゲーム」)を足します。条件Cは条件Aに同じ目標の1行を足します。
実施の流れ
- 条件A・B・Cの依頼文を、それぞれテキストファイルに保存します。実行のたびに書き直さず、同じ文面をコピーして使います。
- 新しい会話を開き、依頼文を貼って生成します。再生成や追加の質問はしません。1回目の出力だけを採用します。
- 出力されたHTMLを A1.html のように保存します。
- 条件と回数の順番は、くじで決めます。A1、A2…と続けて作ると、AIの調子や自分の慣れが条件に混ざります。
- 15本そろったら、ファイル名を乱数に付け替え、対応表を別に保管します。評価を盲検にするためです。
- 評価は、まず起動確認、次に違反の確認、最後に遊んだ感想の順に行います。
生成したコードは中身を確認してから開いてください。外部へ通信していないかをまずソースで見ます。通信しないよう条件に入れてあっても、入っていないことを自分の目で確かめます。
記録の取り方
1本ごとに、次の項目を記録します。
- 起動、記録の仕方:開いてエラーなく動いたか(はい/いいえ)
- 禁止違反、記録の仕方:禁止項目ごとに、破られているか(有/無/判断不能)
- ジャンル、記録の仕方:パズル、反射神経、探索、育成、お絵かき的なものなど。事前に5〜6分類を決める
- 既定値メモ、記録の仕方:禁止していない部分でAIが入れたもの(勝利条件、色づかい、音の有無など)
- 3分感想、記録の仕方:3分遊んで「もう少し続けたい」を1〜5点で
- 一言、記録の仕方:作品を1文で説明する
ジャンルの分類は、評価を始める前に決めます。結果を見てから分類を作ると、見たい結論に合わせてしまいがちです。
違反の確認を補助する
表示の禁止は、遊ぶだけでは見落とします。画面に出ない部分(コメントや変数名)に禁止語が残っていても違反とは限りませんが、画面上の文言は拾いたいところです。簡単な検索ツールを置きます。ブラウザで開いて使います。
<!doctype html>
<meta charset="utf-8">
<title>禁止語チェック</title>
<p>禁止語(1行に1語)</p>
<textarea id="w" rows="5" cols="30"></textarea>
<p>生成されたHTMLの全文</p>
<textarea id="h" rows="10" cols="60"></textarea>
<br><button id="b">調べる</button>
<pre id="o"></pre>
<script>
b.onclick = () => {
const src = h.value;
const words = w.value.split("\n").map(s => s.trim()).filter(Boolean);
o.textContent = words.map(k => {
const n = src.split(k).length - 1;
return k + ":" + n + "件";
}).join("\n");
};
</script>「ゲームオーバー」「スコア」「残り」「GAME OVER」のような語を入れます。件数が1以上でも、コメントや変数名に出ているだけの場合があります。ヒットした箇所は必ず目で確認し、画面に出るかどうかで判定してください。「点数」を「★の数」で表すような、言い換えによる抜け道は文字検索では拾えません。遊んで確かめます。
結果の読み方
15本の記録がそろったら、次の順に見ます。以下の数字は判断の目安であり、統計的な基準ではありません。5回という少ない母数では偶然の幅が大きいため、傾向の手がかりとして扱います。
まず、禁止の守られ方を見ます。
- 禁止項目ごとの違反数を数えます。特定の種類(たとえば表示の禁止)だけ違反が多いなら、その種類はAIにとって守りにくい、または言い換えで回避されやすいと読めます。
- 条件Aと条件Cで違反数が変わるなら、目標の有無が禁止の守られ方に影響しています。
- 違反が全くなかった場合でも、「守った」のか「そもそも触れない作品を選んだ」のかは分かりません。既定値メモで確認します。
次に、ジャンルの偏りを見ます。
- Aの5本のジャンルがほぼ同じなら、禁止された後の既定値が強く働いています。
- Aの5本がばらばらなら、禁止だけの指示は多様性を広げる方向に働いています。
- BとAでジャンルが似ているなら、禁止はジャンルを決めていません。BとAが違うなら、禁止が方向を決めています。
最後に、遊んだ感想を見ます。
- 感想点の平均をA・B・Cで並べます。ただし平均だけで優劣を決めず、ばらつきも見ます。AだけぶれるならAは当たり外れが大きい条件です。
- 点が高かった作品の既定値メモを読み、何が面白さを支えているかを探します。禁止の穴を埋めた仕組みが面白さの核になっていたなら、それが次の企画の種になります。
起こりやすい誤り
- 禁止が矛盾している:「勝ち負けをつくらない」と「ゲームとして成立させる」を同時に求めると、AIはどちらかを曲げます。違反と数える前に、依頼文自体が矛盾していないか確認します。
- 禁止した語が出力に出る:「ゲームオーバーを作らない」と書いたことで、画面に「ゲームオーバーはありません」と表示されることがあります。これが違反なのか配慮なのかは、事前に判定ルールを決めておきます。
- 再生成してしまう:気に入らない出力を作り直すと、条件が揃わなくなります。1回目だけを採用します。
- 評価の甘さ:条件を知ったまま遊ぶと、禁止を守った作品を甘く採点しがちです。ファイル名を付け替えて、盲検に近づけます。
- 共通条件が条件間でずれる:出力形式の文面をAだけ変えるといった差が、結果の差に見えてしまいます。コピー元を一つにします。
- 1本の印象で結論を出す:印象に残った1本が結論になりがちです。分類の集計から結論を作ります。
次の行動
まず条件Aの依頼文を1本、実際に生成して開いてみてください。禁止リストの6項目を入れ替えて、自分なりの禁止リストを作るのも一つの方法です。15本そろったら、遊んで面白かった作品を、アソバースの投稿画面からHTMLのまま公開することもできます。公開にはメールアドレスの確認が必要です。作品の紹介文に「禁止事項だけで作った」と添えれば、遊んだ人が同じ実験を試す入口にもなります。

