INASOFT 管理人のひとこと


フリーソフトダウンロードサイト「INASOFT」の管理人 矢吹拓也 が日々の「ひとこと」を語るページです。
2021年1月1日より、旧ブログ(blog.inasoft.org)からお引越ししました。
・INASOFT Webサイト: https://www.inasoft.org/
・管理人のふたこと(長文記事/寄稿文): https://www.inasoft.org/talk/
2022年7月下旬より再び本業多忙化してきているため、更新頻度は落ちます。 [2022/7/24 19:32]

目次 | ←前へ / 2025-12-10 00:00

■タコノスケ社長ついに宇宙へ!?AIにスマホで遊べるブラウザゲームを作らせてみる企画第2段!

2025年12月10日(水) 0:00:00



RSSRSS配信中
https://www.inasoft.org/



昨日は、AIにブラウザゲームを作らせてみる企画をやってみて、なんとなく感触がつかめてきました。おそらく、具体的な指示にすればするほど、ちゃんとしたものを作ってくれるっぽい。

今回は、タコノスケ社長を宇宙に飛び出させまして、エイリアンを撃退するシューティングゲームを作らせてみたらどうなるかな?というのを考えてみることにしました。

考えてみたら、15年前はシューティングゲームを作ってコミケに頒布しに行っていたわけですから、僕自身、縦/横スクロール型シューティングゲームを作る方がやりやすいんじゃなかろうか、と。

前回の反省を踏まえ、プロンプト(指示)の作成に当たっては、次のようなことを考慮するようにします。

  • プロンプト文章の作成にあたっては、極めて具体的な指示とするよう心掛ける。とはいえ、ラクをしたいことが第一目的なので、AIに行間を読ませることもある程度必要。
  • iOS 26のSafariでは、画面下部にブラウザコントロールが空中表示されてしまう。この位置を避けるようにキャラクターやボタンを配置する。
  • エフェクト/アニメーションについてもある程度具体的な指示を与える。(が、まぁ、そこそこ空気読んでもらえるっしょ)
  • 具体的なゲームオーバー条件、具体的なゲームクリア条件を与える。ループ条件(ゲームオーバー後、クリア後の挙動が最初に戻るよう)の指示を与える。

プロンプトは以下の通りとします:

スマートフォンのブラウザで遊べるゲームをHTMLとJavaScriptで作ってください。ゲーム内容は次のとおりです。
ゲーム画面は、ブラウザ表示領域中央の正方形の領域とする。
舞台は宇宙空間であり、ゲーム画面の背景に多くの星が上から下に流れる。
主人公はタコのキャラクター。
タコのキャラクターを画面上に配置された左右ボタン("◀"と"▶"の形をしたアイコンで表される)で操作し、左右移動できる。
画面上部より複数のエイリアンが登場し、タコのキャラクターをミサイルで攻撃する。エイリアンの発射したミサイルがタコのキャラクターに当たると、タコのキャラクターは爆発アニメーションし、ゲームオーバー。ゲームオーバー後は、OKボタンを押したら、htmlファイルをリロードする。
画面上に表示された「発射」ボタンを押すと、タコのキャラクターから上方に向けてミサイルが発射され、タコの発射したミサイルがエイリアンにぶつかるとエイリアンのキャラクターは爆発アニメーションし、破壊できる。
エイリアンを10体破壊したら、ゲームクリア。ゲームクリア後は、OKボタンを押したら、htmlファイルをリロードする。

昔、「日本語プログラミング言語」というものがありましたが、あれはノイマン型なプログラムロジックを日本語で記述するというだけのものでした。今やっているやり方は、ディレクターがプログラマーに指示を出すやり方に近く、非ノイマン型の新しい形態と捉えられるかもしれません。(結果、生成されるJavaScriptはノイマン型そのものですが)

さて、どうなるかな。


■ChatGPTの場合:

出力されたゲーム:octopus_space_shooting_game.html


タコノスケ社長というよりは、どことなくタコピーみがありますけど…。まぁ、細かいところはいいや。



これ、なかなかすごくない!?!? 爆発のエフェクトとか、思った以上にうまくいきました。iOS 26のSafariでも、ちゃんと表示できるし。

指示しなかったけど、パソコンのブラウザで開けば、キーボードの左右キー/Spaceキーにも対応しているみたいだし。
また、こちらからは「タコ」「エイリアン」「ミサイル」という、コンピューターにとっては曖昧な表現を使って指示しているにも関わらず、タコらしいもの、エイリアンらしいもの、ミサイルらしいものがCSS/HTML/JavaScriptの力だけを使って表現されているところが素晴らしい。なんでそんなことできるんだ!? 文字列生成AIって、そんなことまでやってくれちゃうものなんか!?

さらなる大作が作れそうな気がしてきた。


■Gemini(思考モード)の場合:

出力されたゲーム:space_octopus.html


エイリアンが、あのエイリアンの形をしていらっしゃる!!!



パソコンのブラウザで開いたときのキーボード対応はできていないようですが(もちろん、具体的に指示すればやってもらえるんだろうけど)、要件は満たしています。

iOS 26のSafari上では、ギリギリ、ブラウザのコントロールと操作ボタンが被っていましたが、とりあえず操作できるレベル。今から追加指示するなら、左右ボタンは画面左に寄せ、発射ボタンを右側に寄せて、ファミコンのコントローラと同じ配置にしたいかなぁ。でもまぁ、要件はそこそこ満たしているからいいかな。(自キャラの爆発アニメーションがない点が要件満たさず。赤くて丸い、爆発の種のようなものは生成されているが、爆散するところまで表現できていない)


■Copilotの場合(早期回答を求めない):

出力されたゲーム:octopus_space_shooter.html


エイリアンをUFO(UAP)と読み替えてもらった様子。こういう空気の読み方もするのか・・・。
ボタンとタコの表示位置が被っているのが微妙ですが、これは適切なプロンプトを与えれば回避できるでしょう。



パソコンのブラウザで開いたときのキーボード対応はできているようです(左右キーで移動、Space/Enterキーで発射)。

ただ、少なくとも手元の環境では、画面上の「発射」ボタンが反応してなさそう。これだと、スマホのブラウザでは、Bluetoothでキーボードを付けたときくらいしか遊べません。残念ながら、要件を満たさず。
ただ、爆発のエフェクトは一番きれいです。
htmlファイルしか生成しておらず、画像ファイルを使いもせず、どうやって表現しているんだろう? それも、ソースコードを見ればわかりますね。

どれもみんな、よくできてるなぁ。

ただ、指示した要件を満たしていないパターンもあるようであることもわかりました。とはいえ、部分的に修正させたり、プロンプトを修正してリトライしたりすることはたやすいです。人間のプログラマーならば発狂するところを、生成AIならば、米国の原子炉のパワーと米国人の電気代、それから、地球温暖化とメモリ・HDD・SSD価格高騰とを引き換えに何度でもプログラミングしなおしてくれるんですから。

(人間のプログラマーが修正する場合、その間にPCはつけっぱなしになるので、それにより消費される電力消費量と温度上昇を考えたら、どっちがましなんだろう?)



目次 | ←前へ / 2025-12-10 00:00


目次の表示:


ブログではないので、コメント機能とトラックバック機能は提供していません。ご質問・ご意見等はメールフィードバックまたはTwitter等からお願いします。いただいたご質問・ご意見などは、この「管理人のひとこと」の記事に追加、あるいは新規の記事にする形で一部または全文をそのまま、あるいは加工させていただいた上で、ご紹介させていただく場合があります。
当サイトでは掲載内容による不具合等に関する責任を持ちません。また、内容の正確性についての保証もありませんので、情報をご利用の際は、利用者の自己責任で確認をお願いします。本ページは公開から1年半後の任意のタイミングで削除される予定です。


- 最近の更新 -



3403412 (+0372)[+0614]

Copyright© 2010-2025 INASOFT