はじめに
生成AIを使ってゲーム開発をしていると、こんな使い方をしている人は多いのではないでしょうか。
「このゲームの要件定義書を作成してください。」
私も最初は同じでした。
現在、個人でスマホ向けゲームを開発しており、要件定義書の作成にも生成AIを活用しています。
しかし、AIが作成した要件定義書を読んで感じたことは、
「間違ってはいない。でも全然面白くなっていない。」
ということでした。
AIは、自分が考えたゲームを整理して文章にしてくれます。
でも、自分のアイデアをさらに面白くしてくれることはありませんでした。
そこで、AIへの依頼方法を大きく変えてみました。
すると、ゲームの要件そのものが大きく変わりました。
最初のプロンプト
最初は、ごく普通の依頼をしていました。
タイムアタック形式の寿司ゲームの要件定義書を作成してください。
するとAIは、
- システム概要
- 画面一覧
- 機能一覧
- スコア計算
- ランキング
など、要件定義としては十分な内容を返してくれます。
ですが、それは、
「現在のアイデアを整理しただけ」
でした。
ゲームとして新しい面白さは何も追加されません。
発想を変えてみた
ここで考えたのが、
「AIに要件定義を書かせる」のではなく、「ゲームデザイナーとして考えさせる」
という方法です。
要件定義を書かせるのではなく、
ゲームデザイナーならどう考えるか
を期待するようにしました。
例えば、次のようなプロンプトです。
あなたは世界的なゲームデザイナーです。
面白いゲームを数多く設計してきた経験があります。
以下のゲーム要件に不足している情報は、
一般的なゲームデザイン理論や成功しているゲームの知見を参考に、
合理的な仮説を立てて補完してください。
補完した内容は「仮定」と明記してください。
私に質問する必要はありません。
ゲームがもっと面白くなる改善案も提案してください。
ポイント
今回のポイントは、
「質問してください」ではなく、「自分で考えて提案してください」と依頼したこと
です。
実際にAIへ渡したゲーム要件
私が考えていたゲームは、スマートフォン向けの寿司提供タイムアタックゲームです。
AIへ渡した要件は、主に次のような内容でした。
ゲーム概要
- 客の注文を確認する
- シャリと寿司ネタを指で作業台へ移動する
- 完成した寿司を皿へ載せる
- 皿を客席の提供台へ運ぶ
- 制限時間内に正しい寿司をできるだけ多く提供する
基本ルール
- 1ゲームの制限時間は120秒
- 1ゲームの満点は100点
- 1貫あたり10点
- コンボボーナスはない
- 間違えても減点はない
- 客の待ち時間がなくなると退店する
- 提供できなかった注文には点数が入らない
操作方法
- ボタンではなく、素材や皿を指で移動する
- シャリを作業台へ移動する
- 寿司ネタを重ねて寿司を完成させる
- 完成した寿司を皿へ載せる
- 皿を客へ運んで提供する
この時点では、ゲームとして最低限遊べる要件は考えられていました。
しかし、内容を見直してみると、
- どの注文を優先するのか
- 何度も遊びたくなる理由はあるのか
- ミスをしない緊張感はあるのか
- プレイ中に盛り上がる瞬間はあるのか
といった、ゲームの面白さにつながる要素はほとんどありませんでした。
AIにゲームデザイナーとして考えさせた結果
先ほどのゲーム要件と一緒に、ゲームデザイナーとして考えるよう指示したところ、AIは不足している仕様を自ら仮定して補完し始めました。
単に文章を整理するのではなく、
「このゲームを遊びとして成立させるには、何が必要か」
という視点で提案してくれました。
例えば、AIが追加したのは次のような要件です。
寿司ごとの価格設定
もともとは、どの寿司を提供しても1貫10点という仕様でした。
AIは、寿司ネタごとに価格を変える案を提案しました。
| 寿司ネタ | 価格 |
|---|---|
| 卵 | 100円 |
| サーモン | 150円 |
| マグロ | 180円 |
| いくら | 220円 |
| ウニ | 300円 |
これにより、単に多く提供するだけではなく、
- 退店しそうな客を優先する
- 高額な寿司を注文している客を優先する
- 注文数が少ない客を先に終わらせる
といった判断が生まれます。
ゲーム進行による難易度変化
AIは、ゲームの後半になるほど客の待ち時間を短くし、同時に来店する客を増やす案も提案しました。
例えば、
- 序盤は客が少なく、待ち時間も長い
- 中盤から客が増える
- 終盤は最大人数の客が同時に注文する
という流れです。
これにより、最初は操作を覚えながら遊び、後半では忙しさと緊張感を楽しめるようになります。
注文生成の偏りを防ぐ仕組み
完全なランダムで注文を生成すると、同じ寿司ばかり出現したり、高額な寿司に偏ったりする可能性があります。
そこでAIは、
- 寿司ごとに出現確率を設定する
- 同じ寿司が何度も連続しないようにする
- 高価格の寿司は出現率を低くする
という重み付き抽選を提案しました。
単にランダムにするのではなく、ゲームとして遊びやすいランダム性に調整するという考え方です。
正解・不正解のフィードバック
元の要件では、正しい寿司を提供した場合に点数が増えるだけでした。
AIは、操作結果を瞬時に理解できるように、次のような演出を提案しました。
正解時:
- 客の上に「+180円」などの金額を表示する
- 客を笑顔にする
- 皿を客の前に積み上げる
- 軽い振動やアニメーションを表示する
不正解時:
- 「ちがうよ!」と表示する
- 客を不満そうな表情にする
- 売り上げを加算しない
数値だけでなく、操作に対する反応を見せることで、寿司を提供した気持ちよさが増します。
AIが提案した「ゲームを面白くする改善案」
不足している仕様の補完だけでなく、ゲームの面白さを増やす改善案も提案されました。
コンボシステム
正しい寿司を連続して提供すると、売り上げ倍率が上がる仕組みです。
3回連続成功:売り上げ1.2倍
5回連続成功:売り上げ1.5倍
10回連続成功:売り上げ2倍
誤提供や客の退店によってコンボが終了します。
元の要件ではミスをしても減点がなかったため、失敗に対する緊張感がほとんどありませんでした。
コンボを追加することで、直接減点しなくても、
「コンボを失いたくない」
という緊張感が生まれます。
ラスト10秒の演出
AIは、タイムアタックゲームでは終了直前の盛り上がりが重要だと考え、次のような演出を提案しました。
- タイマーを大きく表示する
- 画面の端を点滅させる
- 「ラストオーダー!」と表示する
- 残り3秒から画面中央に数字を表示する
元の要件では、残り時間が0秒になったらゲームが終了するだけでした。
しかし演出を追加することで、最後の数秒がゲーム中で最も盛り上がる時間になります。
フィーバータイム
正しい提供を続けるとゲージがたまり、一定時間だけ有利になる仕組みです。
AIからは、フィーバー中に次のような効果を付ける案が出ました。
- 売り上げが2倍になる
- 客の待ち時間が減らなくなる
- シャリが自動で配置される
- ネタを置くだけで寿司が完成する
普段の忙しい操作から、一時的に爽快な操作へ変化させることで、プレイ中にメリハリが生まれます。
客ごとの個性
元の要件では、すべての客が同じルールで行動します。
AIは、次のような特徴を持つ客を追加する案を提案しました。
| 客の種類 | 特徴 |
|---|---|
| せっかちな客 | 待ち時間が短く、注文数が少ない |
| 大食いの客 | 4〜5貫を注文し、待ち時間が長い |
| お金持ちの客 | 高額な寿司を注文しやすい |
| 子どもの客 | 卵やサーモンを注文しやすい |
客ごとに注文傾向や待ち時間が変わることで、
「どの客から対応するか」
という戦略が生まれます。
ゴールデン注文
一定確率で、通常より報酬が高い特別注文を出現させる案です。
- 金色の吹き出しで表示する
- 成功すると売り上げが3倍になる
- 注文数は1〜2貫
- 制限時間は通常より短い
通常の注文を続けるのか、特別注文を優先するのかという判断が生まれます。
結果画面の改善
元の要件では、結果画面に表示するのは最終スコアと提供数だけでした。
AIは、次のような補助情報も表示することを提案しました。
本日の売上
4,280円
提供成功:18貫
最大コンボ:9
ミス:2回
退店した客:1人
売り上げだけでなく、プレイ内容を振り返れるようにすることで、
- 次はミスを減らそう
- 次はコンボを伸ばそう
- 次は退店する客を減らそう
と、再挑戦する理由が生まれます。
Before/Afterで変わったこと
最初に自分で考えた要件は、
「寿司をどう作り、どう提供するか」
を中心にした内容でした。
一方、AIがゲームデザイナーとして追加した要件は、
「プレイヤーに何を判断させ、どこで緊張させ、どこで気持ちよくするか」
を中心にしていました。
Before
- 寿司を作る
- 注文どおりに提供する
- 正解すると10点加算される
- 時間切れになるまで繰り返す
After
- 客の待ち時間と注文金額を見て優先順位を決める
- コンボを維持するためにミスを避ける
- 高額注文やゴールデン注文を狙う
- フィーバータイムで爽快感を得る
- ラスト10秒の緊張感を楽しむ
- 結果を振り返り、もう一度挑戦する
基本的なゲームのアイデアは変わっていません。
しかし、AIが新しい要件を追加したことで、
単純な寿司作成ゲームから、短時間で複数の優先順位を判断するタイムアタックゲームへ変化しました。
なぜアウトプットが変わったのか
AIの性能が急に良くなったわけではありません。
変わったのは、
AIに与えた役割
です。
以前は、
要件定義を書く人
としてAIを使っていました。
今回は、
経験豊富なゲームデザイナー
という役割を与えました。
役割が変わることで、
AIが考える視点そのものが変わった
のです。
AIは「情報不足です」と言わなくなった
以前は、
「情報が不足しているため要件を作成できません。」
という回答になることもありました。
今回は、
「必要ならゲームデザイン理論を参考に仮説を立ててください。」
と伝えています。
するとAIは止まることなく、
「もし私がゲームデザイナーならこうする」
という改善案を提案してくれるようになりました。
もちろん、その提案をすべて採用するわけではありません。
AIが出した仮定には、自分の考えていた仕様と矛盾するものや、初期リリースには実装が重すぎるものもあります。
そのため、
- 採用する
- 一部だけ採用する
- 将来の追加要素にする
- 採用しない
という判断は人が行う必要があります。
それでも、
自分一人では思いつかなかったアイデア
が数多く出てくるようになりました。
AIは「文書作成ツール」ではなく「企画パートナー」
この経験から、AIとの付き合い方が変わりました。
以前は、
ゲームのアイデア
↓
AI
↓
要件定義書
という流れでした。
今は、
ゲームのアイデア
↓
ゲームデザイナーとしてAIが企画を改善
↓
面白くなったゲーム要件
↓
AIが要件定義書を作成
という流れにしています。
この順番に変えただけで、
要件定義書の内容だけでなく、
ゲームそのものの完成度も上がった
と感じています。
まとめ
生成AIは、言われたことを文章にするのは得意です。
しかし今回試してみて一番驚いたのは、
役割を変えるだけで、AIは「仕様を書くAI」から「ゲームを面白くするゲームデザイナー」へ変わったこと
でした。
自分で考えたゲームのアイデアがある場合、最初からAIにすべてを作らせる必要はありません。
まず自分のアイデアをAIへ渡し、
- ゲームデザイナーとして不足を補完させる
- 必要な前提は仮説として置かせる
- 面白くする改善案を提案させる
- AIによる仮定と確定要件を区別させる
という使い方をすることで、自分の企画をさらに発展させられます。
今では、いきなり要件定義書を書かせることはありません。
まずはゲームデザイナーとして企画を改善してもらい、その後に要件定義書を作成しています。
その方が、
「仕様をまとめた文書」ではなく、「ゲームの面白さまで反映された要件定義書」
になると感じています。
生成AIを使ってゲーム開発をしている方は、一度、
「要件を書いてください」
ではなく、
「ゲームデザイナーとして、このゲームをもっと面白くしてください」
という依頼を試してみてはいかがでしょうか。