AIでPyxelプログラミング
一年程前にPyxelでプログラム作ってと言っても古いバージョンのPyxelで作成してくるのでその修正に追われて「AIでプログラミング」といってもめんどくさいイメージしかありませんでした。
Pyxelも日々更新されているゲームエンジンなので最近のAIは使えないかなと思ってました。
AIは最近流行ってきた?
うちの地域でもAI活用セミナーとか開催されていてそこまでする?みたいに思ってました。
ふと、とあるゲームを作ろうかなと思って試しにAIに作成依頼してみました。ゲームはXboxのGeometry wars、8方向から迫る敵を攻撃するド派手なシューティングゲーム。数値演算しまくりなイメージです。
いつの間にかGoogle Chromeの右上に追加されてるGeminiにお願いしてみました。
題材「Geometry warsのようなゲームをPyxelで作成してください。」

それっぽい!
しかも一発でエラー無しで動作するコードを展開してくれました。
次提案「ショットを撃った時にグリッドの線がゆがむ等の表現をさせてください」
AI「そのような表現をPyxelで実装することは不可能ではありませんが、難易度は高いです。UnityやGodotといったシェーダーを扱いやすいゲームエンジンの使用を検討するのも一つの手です。」
と言われてしまいましたが、今回はPyxelで作成したいので
次提案「グリッドを線ではなく点で描画すればできそうな気がしますがどうでしょう?」

それっぽい仕上がりになりました。
点描画グリッドの歪みも表現されています。
下記リンク先で遊べます。
パッドのアナログスティックで操作可能
左スティックで移動、右スティックでショット
キーボードのWASDで移動、マウス左クリックでショット
提案の仕方で回答してくれるのでこれはこれでいいのかもしれません。
他のAIはどうかなと思って以前登録したchatGPT無料版にも依頼しました。
題材「Geometry warsのようなゲームをPyxelで作成してください。」
AI「私なら以下の構成で作ります<途中省略>最終的には約3000〜4000行規模の、完成度の高いGeometry Wars風ゲームをPyxelで作成できます。」
と言われましたが、無料版のせいかファイルのダウンロード機能は使えず、また長いプログラムの提供はできないらしいのでファイル分割して提供してもらうことになりました。
ファイル分割で提供される途中でも、
「ファイル間にいくつか整合性の不足があります。」
と言って差分修正があったり、時には
「途中で設計を改善したいので最初からやり直しを提案します」
とか言ってくるのでなかなか最終形に到達できません。
AIをなだめながら(汗)ひとまずの完成形を作らせてみました。

総step数が大きいですが拡張性を考慮したものというイメージです。
キャラクタもグラフィカルになりました。
さらなる拡張提案もされてますが継続するかどうかは未定です。
有料版だともっとできる可能性は大きくなると思いますが、そこまでは求めていないので無料版で十分。
基本部分だけAIに作ってもらうのはアリかなと思います。
提案を細かく設定することでプログラミングできなくても完成形に持っていけるかもしれません。最近では題材をどこから参照したかがわかるようになってきたので商用として利用できるかどうかの判定も以前よりはできるようになってきたのかもしれません。個人で楽しむ分には気にしてませんが。
さてと、ここまできたら他のAIでも試してみたいところではありますが、AIによっては登録が必要だとかめんどくさいことこの上ないので気が向いたらやってみるのもいいかもしれません。
追記:AIに同じ題材を与えても毎回異なるプログラムを作成するので必ずしも上記と同じ結果になるとは限りません。
