これから作る三つの的
これからこのゲームを事例に、一緒にゲームを創っていきます。見本ゲーム「三つの的」です。下にあるのは6章まで進めた完成形。そのまま遊べます。まず1回遊んで、目的地を体で知ってから読み進めてください。
なぜ要るか
ここが企画で一番効く作業です。
AIはルールが書かれていれば作れます。書かれていなければ、勝手に決めます。 そして勝手に決められた部分は、たいてい自分の思っていたものと違います。あとで直すことになります。
しかも人間側も、書き出すまで気づきません。「同時に出す」と書いてみて初めて「1台のパソコンだと後の人が有利じゃないか」と気づきます。1台を交代で使うと、後に操作する人は先の人が置いた場所を見てから選べてしまうからです。書くことで穴が見えます。
だから、コードを1行も書く前にルールを並べます。20分かけるだけで、あとの手戻りが何時間分も消えます。
AIプロンプト
この術の作業をAIへ任せるときは、これをそのまま貼ってください。
下のルールで、決まっていないことを質問の形で全部挙げてください。
同点、引き分け、終わり方、同時に出す方法は特に念入りに。
まだ答えは提案しないでください。
(ここへルールを貼る)
(ここへルールを貼る)の部分は、自分で書いた箇条書きのルールに置き換えてください。
書き方は箇条書きだけ
文章にしないでください。1ルール1行の箇条書きにします。
書く順番はこの5つで足ります。
| 順番 | 何を書くか | 例 |
|---|---|---|
| 1 | 何を使うか | 1から5の札を1人1組と、的を3つ |
| 2 | どう始まるか | お互いに、自分の山から3枚配られる |
| 3 | 1回の手番で何をするか | 1枚えらび、置く的を決めて、同時に出す |
| 4 | 勝ち負けの決まり方 | 的ごとに合計が大きい方がその的を取り、的を多く取った方が勝ち |
| 5 | いつ終わるか | 手札3枚を置き切ったら終わり |
この5つが埋まれば、遊べるゲームになります。埋まっていないものが1つでもあると、作れません。
忘れやすいのは「引き分け」と「終わり方」
僕が何度もやった失敗です。
引き分けを決めていないと、最後の最後で止まります。的の合計が同じだったら? 取った的の数が同じだったら? ここが未定義、つまり「どうするか決めていない状態」だと、画面に何を出すか決まらず、完成の一歩手前で足が止まります。
終わり方も同じです。「手札を置き切ったら終わり」なのか「どちらかが的を2つ取ったら即終わり」なのか。書いてください。
この2つは、書くだけなら10秒です。書かないと1時間悩みます。
実例: この箇条書きが、そのまま画面になります
下の「やってみる」で書くルールは、そのまま見本ゲーム三つの的のルールです。書いた1行1行が、完成した画面のどこになったかを見てください。左の列が箇条書きに書いた文、右の列がそれが画面上のどこに現れたかです。
| ルールの行 | 画面のどこに現れたか |
|---|---|
| 札は1から5の数字 | 手札に書かれた数字 |
| 3枚配られる | 自分の手札3枚と、相手の伏せ札3枚 |
| 場に的を3つ置く | 中央の3つの枠 |
| 1枚えらび、置く的を決めて、同時に出す | 札を選ぶ→的を選ぶ、の2タップ。相手の札は伏せて置かれ、自分が置くとめくれる(1台でも「同時」にする工夫。3-3で作ります) |
| 出した札は置いたままにする | 的の上下に並んでいく札 |
| 手札が無くなったら合計をくらべる | 的ごとの「相手 4 / 自分 5」 |
| 的を多く取った方が勝ち | 決着時の勝敗表示 |
ルールに書いた行は、全部画面のどこかにあります。逆に、ルールに書いていないものは画面にもありません。 箇条書きは、そのまま設計図です。
もう1つ、6行目に注目してください。「手札が無くなったら合計をくらべる」——いつ判定するのかまで書いてあります。「置くたびに取り合う」のか「置き切ったあとに一度だけくらべる」のかで、作るものがまるで変わります。書いていなければ、AIが勝手にどちらかへ決めます。
それから、このルールは完成後に1行だけ変わっています。同点の的です。最初は「同点の的は誰のものでもない」と書きました。6章で実測したら引き分けが多すぎて、「あとに置いた方が取る」へ直しています(6-6でやります)。最初から完璧なルールは要りません。書いてあるルールは、直すのも1行です。
やってみる
docs/plan.mdにルールを書き足す前の術で作った
docs/plan.mdの続きに、先ほどの5つの順番で並べます。文章にせず、1行1ルールを守ってください。## 遊びのルール - 札は1から5の数字。1人1組ずつ持つ - お互いに、自分の山から3枚配られる。残り2枚は使わない - 場に的(まと)を3つ置く - 毎回、手札から1枚えらび、置く的を決めて、同時に出す - 出した札は、その的の前に置いたままにする - 手札が無くなったら、的ごとに合計をくらべ、大きい方がその的を取る - 的を多く取った方が勝ち声に出して読んでみる
黙読だと目が滑るので、実際に口に出して読みます。引っかかったところが穴です。「同時に出すって、1台のパソコンでどうやる?」のように、読むと出てきます。
いま気づけば、直すのはタダです。
AIにも穴を探させる
自分の目だけだと、思い込んでいる部分の穴は残ります。
下のルールで、決まっていないことを質問の形で全部挙げてください。 同点、引き分け、終わり方、同時に出す方法は特に念入りに。 まだ答えは提案しないでください。 (ここへルールを貼る)「答えは提案しないで」が要点です。 決めるのは自分です。ここでAIに埋めさせると、冒頭に書いた「勝手に決められる」がもう起きています。
保存して送り返す
cd my-first-game git add . git commit -m "遊びのルールを書いた" git push並んだことを確認する
この箇条書きが、あとでそのままAIへの指示になります。 3章でこれを渡して作らせます。
つまずきどころ
ルールが多すぎる
10行を超えたら、それは最初の1本には大きすぎます。削ってください。 前の術で決めた「面白さの1行」に効かないルールから消します。
細かいところが決まらない
「カードは何枚あるのか」「同じ数字を2枚持てるのか」のような細部です。とりあえず決めて書いてください。 遊んでみて違ったら直せます。決めないまま進むのが一番遅いです。
書いてみたら面白くなさそうに見えた
いい兆候です。紙の上で気づけたということです。 コードを書いてから気づくより百倍安く済みました。ルールを1つ変えて、また読み返してください。
Windows の場合
編集と git だけなので、macOS と同じです。
次の一歩
書いたルールで、紙とペンで1回遊んでみてください。 的の代わりにコースターを3枚置き、数字を書いた紙を3枚ずつ持って、置き合うだけです。
これが最速のテストです。5分でやってみると、次に直すところが自分で分かります!

