ChatGPT最新モデル「o1」にサクッとゲームを作ってもらった話
13日の朝、起きてみると、YouTube の動画一覧でOpneAIの発表した動画が複数上がっているのがわかりました。
どうやら最新モデルとして発表した「o1」を使ったデモンストレーションの数々のようです。
その中に「スネークゲーム」を作ってもらう、というのがありました。
動画を視聴した感想は、とりあえず「へー」というものでしたが、自分でも試してみました。
ブラウザのChatGPTを確認すると、これまでの「GPT-4o」以外に、「o1-preview 高度な推論を使用する」と「o1-mini 推論がスピードアップ」というモデルが追加されています。
以下は「o1-preview」を使用した実例になります。
ブロック崩しというテレビゲームを知ってる?
はい、ブロック崩しというテレビゲームを知っています。ブロック崩しは、プレイヤーがパドルを操作してボールを跳ね返し、画面上部のブロックを破壊していくゲームです。1976年にアタリが発売した「ブレイクアウト」がその代表的な作品で、その後も多くの派生やリメイク作品が登場しています。シンプルながらも中毒性のあるゲームプレイで、多くの人々に親しまれています。
HTML と JavaScriptを使って、ブラウザでプレイできるブロック崩しゲームを作成できる?
新しいモデルでは、プロンプトのところに「現在の進行タスク」が次々と表示されていきます。このアイデアは素晴らしいですね。回答までに30秒ほどかかりましたが、「待たされた感」はありませんでした。
HTML と JavaScript のコードが画面に表示されました。
そのコードを実行した結果がこちらです。
JavaScript の canvas を使った実装になっています。なかなかの出来ですね。私は完全にノーコードです。
1970年代に大流行したインベーダーゲームって知ってる?
はい、1970年代に大流行したインベーダーゲームを知っています。インベーダーゲームは、1978年に日本のタイトーが開発・発売したアーケードゲームです。プレイヤーは自機を左右に操作し、上から迫ってくるエイリアン(インベーダー)をビーム砲で撃ち落としていくシューティングゲームです。
このゲームは世界的な大ヒットとなり、ビデオゲーム業界の発展に大きく貢献しました。ゲームセンターの普及や、ゲーム産業の経済的成長にも大きな影響を与えました。また、インベーダーゲームの成功により、多くのゲーム開発者が新たなアイデアや技術を追求するようになり、現代のゲーム文化の基盤を築きました。
インベーダーゲームをHTML と JavaScript をつかって、ブラウザ上で遊べるプログラムを書ける?
そうお願いして、30秒あまりで回答されたプログラムを実行したのがこちらです。
なかなか微笑ましい出来です。
現在、インベーダーからの攻撃が実装されていないので、インベーダーからも弾を撃つようにしてください。弾がプレイヤーに当たるとゲームオーバーになります。
今度の回答は早かったですね。かかったのは7秒です。
ちょっと近づいてきましたね。
回答にはソースコード以外に、変更点の説明、操作方法、調整可能な設定、注意点、などの丁寧な詳細が付記されていて、素晴らしいです。
変更点の説明
- エイリアンの弾を管理する配列を追加
alienBullets
配列を追加し、エイリアンの弾の情報を管理します。- エイリアンの弾の設定を追加
- 弾のサイズ、速度、発射率などの設定を追加しました。
alienBulletWidth
,alienBulletHeight
,alienBulletSpeed
,alienFireRate
を定義。- エイリアンの弾の描画関数を追加
drawAlienBullets()
関数を作成し、エイリアンの弾を描画します。などなど
次は、インベーダーを前進させてください。どういう動きになるか、わかりますか?
ChatGPTの思考時間は31秒でした。
だいぶそれっぽくなってきました! 目を細めて遠くから眺めれば、これは誰がどう見ても、もうインベーダーゲームですね。
ちなみにこの一つ前の回答では、インベーダーがまったく表示されないという結果になりました。それをフィードバックして作成されたものです。バグの原因とその対策についても、しっかりと説明がありました😀
さあ、最後の一押しです。
絵文字で「エイリアン」を表現できるものあるかな?
はい、エイリアンを表現する絵文字があります。
👽:この絵文字はエイリアンの顔を表しています。
👾:この絵文字は「スペースインベーダー」のキャラクターのようなエイリアンモンスターを表しています。
これらの絵文字を使って、エイリアンを視覚的に表現することができます。ゲームの開発やチャットでのやり取りなどで活用してみてください。
👾でエイリアンを表示するようにプログラムを変更してみて
完全に無音ですが、脳内ではあの懐かしい電子的効果音がピュンピュン鳴り響きますね。
ここまでで私が手を加えたのは、「弾の発射比率」「エイリアンの大きさ」の定数3カ所だけです。このまま進めていけばUFOの出現などもノーコードで簡単に実装できるでしょう。
本格的なゲームを作るのなら、Unityを使えば物理エンジンのバリバリに効いたリッチなものをChatGPTが作ってくれるに違いありません。あちらのスクリプトはC#ですが。
最近は個人開発への情熱が再燃してきて、ChatGPT先生と一緒にIDEに向かう時間が長くなっています。ChatGPTなどの生成AIがソフトウエア開発にもたらした功績は誰の目にも明らかですが、私のような素人が趣味で嗜むプロラミングにおいては、10倍から20倍は効率が上がったといっても過言ではありません。
2年ほど個人開発から遠ざかっていた私が、また「Rails チュートリアル」からやり直さなくもコードが書けるのは、ChatGPT先生のおかげに違いありません😭
ディスカッション
コメント一覧
まだ、コメントがありません