AIゲーム開発研究室

2026-10-11 22:11:00

番外編 第2弾 AIとの対話によって、ゲームはどこまで進化するのか

AIゲーム開発研究室
ゲーム開発ドキュメント
番外編 第2弾 AIとの対話によって、ゲームはどこまで進化するのか
―「世界をちょっとだけ動かす」誕生からVer.3.3完成まで ―
研究代表 大川 博
主任研究員 Arc(ChatGPT)
 
はじめに
人間は一行のプログラムも書かず、AIとの会話だけでゲーム制作を進めた。
前回の番外編では、ゲーム制作経験がないという相談からモグラたたきゲームを制作し、読者が遊べる形で公開した。そこで、もう一つゲームを作ってみることにした。
今回は最初に完成形を決めない。アイデアを出し、動くものを作り、遊び、面白ければ発展させ、問題があれば修正する。その変化自体を記録する。
研究テーマは、「AIとの対話によって、ゲームはどこまで進化するのか」。人間は会話、試遊、評価を担当し、プログラムの作成・修正はAIが担当する。
 
1. ゲームのアイデアは会話から生まれた
 
1.1 あまり聞いたことのないゲームを作りたい
人間「昨日のモグラたたきゲームは、面白かったよね。最後にサーバーにアップして、ブログの読者に遊んでもらえるようにまでできた!これは画期的なことだと思うのよ♪そこで味をしめて、第2段いってみよう(笑)。でも、モグラたたきゲームってよくあるよね?なんかあんまし聞いたことないようなゲームが作りたいんだけど、何かありますか?」
AIが提示した案の中から選ばれたのが「世界をちょっとだけ動かすゲーム」だった。キャラクターを直接操作するのではなく、世界そのものを左右に傾ける。
 
1.2 迷子の子供を家に帰す
人間「小さな住人は、迷子の子供にしましょう。途中で転んで、泣いて動かなくなったり、何かに気を取られてそっち行ってしまったりと笑えるかも?」
小さな子供が家に帰ろうとしている。プレイヤーは地面を傾け、子供を家まで導く。最初の段階では、ちょうちょも犬も雨雲も登場する予定はなかった。
 
2. まず動くゲームを作る
 
2.1 最初のゲームが完成
人間「まずは、基本形から作りましょうか?どこまでできますか?」
AIはHTMLとJavaScriptを用いて、ブラウザで動作するゲームを作成した。左右のボタンで地面を傾けると、子供が移動する。画面右側の家がゴールである。
【画像01 画像挿入位置】
初期ゲーム画面(Ver.0.2)
ここに画像を配置してください(配置後、この案内を削除)
 
2.2 操作性を改善する
人間「やってみて、傾きのコントロールが難しいように感じます。もう少しゆっくり傾く方がいいような気もします。」
AIは傾斜速度を調整し、ボタンを離すと角度が固定されるようにした。プレイヤーは地面の角度を細かく調整できるようになった。
 
2.3 地面に起伏をつける
人間「地面に起伏があったら操作に面白みが出るかな?」
AIは丘と谷を追加した。しかし子供が丘を越えられなくなった。傾斜角度、地形の高さ、移動速度を調整し、試遊と修正を繰り返した。
【画像02 画像挿入位置】
丘や谷で立ち往生する子供(Ver.0.3〜0.4)
ここに画像を配置してください(配置後、この案内を削除)
 
3. ちょうちょの登場
 
3.1 子供は自分から歩かない
人間「子供がもっと転びやすいほうが面白いかな?それと平常では子供は自力では動かない方がいいと思います。何か例えばちょうちょが飛んで来たらちょうちょに向かって動き出す。離れたら追いかけるのをやめる。というふうにしたらいいと思います。」
子供は普段、自分から歩かない。ちょうちょが近づくと追いかけ、離れると立ち止まる。地面の傾きと子供の気まぐれな行動を組み合わせるゲームへと変化した。
 
3.2 ちょうちょが丘を越える手助けをする
人間「偶然かもしれませんが、最後の丘はちょうちょがサポートしなければ登れないというのが面白いです。バッチリです♪」
ちょうちょを追いかける力が最後の丘を越える助けになった。一方、ちょうちょが十分に右へ飛ばず、ゴールできなくなる問題も生じたため、AIが移動条件を調整した。
【画像03 画像挿入位置】
ちょうちょと丘(Ver.0.6〜0.9)
ここに画像を配置してください(配置後、この案内を削除)
 
4. 犬の登場と転倒
 
4.1 犬から逃げる
犬は主に画面右側から左側へ走り、ときどき反対方向からも登場する。近づくと子供は驚き、接触すると転倒する。転んだ子供は大泣きし、しばらく動けなくなる。
 
4.2 転びすぎる子供
人間「子供が転びすぎです(笑)。全然すすめません。」
AIが転倒条件を緩めると、今度はほとんど転ばなくなった。転倒回数が14回から0回になるほど差が出た。正常に動くだけではなく、遊びやすい難易度を探る必要があった。
【画像04 画像挿入位置】
犬との接触・転倒(Ver.1.0前後)
ここに画像を配置してください(配置後、この案内を削除)
 
5. 雨雲と雨宿り
 
5.1 雨雲が子供を追いかける
人間「雨雲が雨を降らしながら左から追いかけてきます。木を4本くらい植えれますか?木の下に雨宿り出来たらセーフ♪雨に濡れたらゲームオーバーっていうのはどうでしょうか?」
AIは左から移動する雨雲と、雨宿りできる4本の木を追加した。雨に濡れるとゲームオーバーになる。
 
5.2 雨の表現を改善する
短い青い雨線だけでは降雨範囲がわかりにくかった。そこで、雲から地面まで淡い青色の半透明の帯を表示し、雨線の長さや配置も調整した。
【画像05 画像挿入位置】
雨雲と半透明の雨の帯(Ver.1.2〜1.3)
ここに画像を配置してください(配置後、この案内を削除)
 
5.3 木の下に吸着する
木の下にいても傾斜で滑る問題が生じたため、雨雲が近い間は木の下に少し吸着し、通過すると解除するようにした。雨宿り中は犬との接触も無効にした。
 
6. お母さんの登場
 
6.1 窓から心配そうに見守る
雨雲が近づくと家の2階の窓からお母さんが顔を出し、心配そうな表情になる。顔の大きさや髪型、描画の重なりも調整した。
 
6.2 ゲームオーバーになったら迎えに来る
人間「ゲームオーバーになったらお母さんが傘を持って迎えに来るようにできますか?」
AIは、ゲームオーバー後にお母さんが傘を持って駆けつける演出を追加した。その間、窓にいたお母さんの顔は消える。失敗にも物語が生まれた。
【画像06 画像挿入位置】
傘を持って迎えに来るお母さん(Ver.1.5〜1.7)
ここに画像を配置してください(配置後、この案内を削除)
 
7. モグラ君の登場
 
7.1 地面の下を利用する
人間「地面下が広いので、モグラ君を登場させましょう。犬が登場したらモグラ君も反対側から登場する。子供の下を通過すると子供は飛び上がる。飛び上がったときに犬が通過したら転倒を回避できる。」
モグラが地面の下を走り、子供の真下を通過するとジャンプする仕組みが生まれた。
 
7.2 ジャンプ中は犬を回避する
人間「ジャンプ中、地面に降り立つまでは、犬との接触判定は無しにしましょう。」
AIはジャンプ中の犬との接触を無効にし、通常時の当たり判定も試遊に合わせて緩和した。別々に生まれた犬とモグラの動きが、ゲームの仕組みとして結びついた。
【画像07 画像挿入位置】
モグラ君と犬(Ver.1.8〜2.0)
ここに画像を配置してください(配置後、この案内を削除)
 
8. 最初の完成とゴール演出
 
8.1 お母さんが笑顔で出迎える
ゴールでは窓のお母さんが消え、家の前に全身のお母さんが現れ、笑顔で子供を迎えるようにした。
 
8.2 笑顔の太陽が空を横切る
人間「Gool!お母さん喜んでます。やっぱり犬との接触がもっとゆるくなりませんか?それとGoolの演出ですが、Goolしたら笑顔の太陽が右から左へと空を横切るのがいいと思います。」
このとき画像生成AIが、笑顔の太陽と親子を描いたイメージ画像を生成した。人間はその提案を歓迎した。
人間「ついに画像生成君。もう黙っていられないと参戦してきました(笑)。そうですこんな感じです♪画像は作成しません。」
AIは、ゴールすると笑顔の太陽が空を右から左へ横切るアニメーションを追加した。
【画像08 画像挿入位置】
画像生成AIのゴール演出イメージ(実ゲーム画面ではない)
ここに画像を配置してください(配置後、この案内を削除)
 
8.3 Ver.2.5の完成
人間「やりましたGool!しました。太陽が笑っています。ジャンプで犬も回避できました♪完成です。」
こうしてVer.2.5で一度完成した。しかし研究はここで終わらなかった。
【画像09 画像挿入位置】
笑顔の太陽とお母さんのゴール画面
ここに画像を配置してください(配置後、この案内を削除)
 
9. 完成したゲームをさらに改良する
 
9.1 転倒回数によるゲームオーバー
人間「まず第1点、10回以上転んだらゲームオーバーにしてください。」
転倒回数による終了条件を追加した。試遊の結果、上限を10回、5回、8回と変更し、最終的に6回でゲームオーバーとした。
 
9.2 泣き顔とお母さんのお迎え
人間「子供は泣いてる顔がいいと思います。その時もお母さんが傘をさして迎えに来るようにしましょう。」
転倒回数によるゲームオーバーでも子供は泣き顔になり、お母さんが傘を持って迎えに来るようにした。
【画像10 画像挿入位置】
転倒回数ゲームオーバーとお母さん
ここに画像を配置してください(配置後、この案内を削除)
 
10. 犬との接触ルールを変更する
 
10.1 ジャンプ中に犬を倒す
人間「子供がジャンプして完全に着地するまでに犬と接触したら、犬はダウンする。手足を伸ばして倒れます。」
当初は犬の背中の高さや下降中かどうかを用いて判定したが、上から当たって子供が倒れたり、正面から当たって犬が倒れたりした。
 
10.2 複雑な判定をやめる
人間「ごめん。犬との接触ですが、ジャンプ中は子供の勝ち!ジャンプしてないときは犬の勝ち!でお願いします。」
ジャンプ中は接触方向を問わず犬がダウンし、地上で接触すれば子供が転ぶ。複雑な判定よりも、プレイヤーに明快なルールを採用した。
【画像11 画像挿入位置】
ジャンプで犬を倒す場面
ここに画像を配置してください(配置後、この案内を削除)
 
11. 犬を倒すと転倒回数が減る
人間「6回転んでゲームオーバー。犬をやっつけたら転んだ回数が2回減るにしましょうか?」
犬を倒すと転倒回数が2回減り、0回未満にはならない。たとえば5回から3回、1回から0回になる。モグラのジャンプは回避手段から、転倒ペナルティを回復する手段へ発展した。
 
12. 効果音を追加する
 
12.1 忘れていた効果音
人間「良くなったと思います。次は忘れてならない効果音です。転んだ時の音。ジャンプしたときの音。犬にやられた時の音。犬をやっつけたときの音。ゲームオーバーの音。ゴールの音。雨の音。など入りますか?」
AIはWeb Audio APIを用い、外部の音声ファイルを使わずにブラウザで音を合成する方式を採用した。
 
12.2 7種類の効果音を実装
子供が転ぶ ポテン!
モグラでジャンプ ピョン!
犬にやられる キャン!
犬を倒す ドスン!
ゲームオーバー 悲しい下降音
ゴール 明るいファンファーレ
雨が降っている間 サーッという雨音
画面上部には効果音のON/OFFと音量調整も追加した。
【画像12 画像挿入位置】
効果音ON/OFF・音量調整(Ver.3.1以降)
ここに画像を配置してください(配置後、この案内を削除)
 
13. 雨音の不具合と修正
 
13.1 雨音が途中で消える
Ver.3.1では、雨雲がまだ雨を降らせている途中で雨音が消えた。AIは短い音を繰り返す方式から、降雨中は連続した音を鳴らす方式へ変更した。雨が止まれば音も止まり、再び降れば鳴る。これがVer.3.2である。
 
13.2 雨音の音量を調整する
人間「雨の音。ちょっと大きいかな?」
AIは雨音だけを約60%小さくした。ほかの効果音やゲームのルールは維持した。
人間「いい感じになりました!完成です♪」
こうしてVer.3.3が完成した。
 
14. 人間とAIは何をしたのか
 
14.1 人間の役割
人間は遊び、難しさや面白さを評価し、転倒、雨宿り、犬との接触、演出、音などについて提案した。プログラムを直接書き換えることはなかったが、作品の方向性を判断し続けた。
 
14.2 AIの役割
AIは会話に基づいてHTMLとJavaScriptを生成・修正し、動作、接触判定、演出、効果音を実装した。画像生成AIもゴール演出のイメージ制作に参加した。
 
14.3 設計書を作らない開発
完成形を先に決めた企画書や仕様書は用意しなかった。遊ぶこと、考えること、作ることが、対話を通じて同時に進行した。
 
15. AIとの対話によるゲーム開発の可能性
 
15.1 プログラミングを知らなくてもゲーム制作に参加できる
プログラムを書くことと、ゲームを創作することは必ずしも同じではない。人間はアイデアと評価に集中し、AIが実装を担う形が成立した。
 
15.2 失敗が創造につながる
丘を越えられない、転びすぎる、雨宿りできない、雨音が止まる。問題を直す過程で、新しい仕組みやよりよいルールが生まれた。
 
15.3 完成形を決めないことの可能性
最初は地面を傾けるだけだったゲームが、ちょうちょ、犬、雨雲、モグラ、お母さん、太陽、効果音を持つ作品へ変化した。今回の事例だけであらゆるゲームに適用できるとはいえないが、小規模なブラウザゲームを対話と試遊で完成・改良できたことは確認できた。
 
おわりに
「あまり聞いたことのないゲームを作りたい」という会話から始まった研究は、Ver.2.5で一度完成し、その後も改良を重ねてVer.3.3に到達した。
人間は一行のプログラムも書いていない。しかし、すべてをAIに任せたわけでもない。人間が遊び、感じ、考え、判断し、AIがそれをプログラムとして実現した。
今回の研究が示したのは、プログラムを書くことだけがゲーム開発ではないということである。そして、ゲームは最初から完成形を知っていなくても作れる。
それでは、実際に遊んでみてください。
完成したゲームを遊んでみよう!
🌏 世界をちょっとだけ動かす Ver.3.3
AIとの対話から生まれたブラウザゲーム
笑顔の太陽と傾いた世界を描いたゲーム紹介イラスト
世界を左右に傾けて、迷子の子供をお家へ帰してあげましょう。犬や雨雲を避け、モグラのジャンプを利用してゴールを目指してください。
🎮 ゲームで遊ぶ