[アカデミック]
2026年02月02日
生成AIプログラミング〜GUIゲーム編〜
前回の復習です。
昨今生成AIを利用して、多くのコンテンツが日々生成されています。
今回も、汎用型生成AIである、ChatGPT、Google Gemini、MS Copilotを試してみました。
世の中には、コード生成AIのDifyやClaude Codeなどもありますが、手軽に使用できる前者を選びました。
今回各AIに作成を指示したのは、GUI(グラフィック形式)のゲームをC++&DirectXで作ってもらいました。
ゲーム内容は、簡単にするために、じゃんけんゲームを題材としました。
コマンドプロンプトには
「C++とDirectXでじゃんけんゲームを作ってください。」
を入力。
はたして、各生成AIは、どの様なソースコードを作り上げるのでしょうか?
次のステップを提示してくれるのでしょうか?
ChatGPT:完成版(約175行4,500文字)
Gemini:データ構造と描画以外のフレーム(約50行1,500文字)
Copilot:DirectX9版完成版(約250行6,500文字)
が作られました。
まずは、ライブラリ選定についてです。
DirectXは、Windowsの特にゲームを制作する上での下層に位置するライブラリ群となります。
現在は12が最新ですが、私なりに一応の完成系とみている9が現状多いように思えます。
ChatGPT、GeminiはDirectX11にて作成されていました。
一方のCopilotでは9を利用して作られました。
ChatGPTやGeminiは最新技術(正確には最新ではありませんが)、Copilotでは初心者に優しいレガシーなバージョンが選ばれたのでしょう。
ここが、ユーザの導入の分かれ目でしょうか。
いずれも、DirectX9,11を指定すれば、作成してくれました。
またGeminiにも「全コードがみたい」と命令すれば、完成版を示してくれました。
次に、それぞれのコードを、各AIに検証してもらいました(セルフチェックも含む)。
結論から申し上げますと、いずれも文字コードに対する危険性が指摘されました。
日本語を使用する場合、SJIS(Shift-JIS)かUnicodeを選択するのが一般的です。
各AIが共通して指摘したものは、文字コード処理に関してでした。
その他にも、C++言語/DirectXの仕様的セーフティーの弱いところを指摘された点が数点。
検証結果に気が付かされることもありました。
(自分でビルドアップしていないので、流し見しかしていないのもありますが)
次の課題としては、グラフィックスの表示や、ライブラリの紹介などがありました。
結論として、簡単なソースコードに限定すれば、
・生成AIでも高精度なソースコードを生成できる
・生成されたソースコードにもバグや危険性が潜んでいる
・セルフチェックをかければ、対応は可能。
という結論にいたりました。
いずれは、本格的なプログラミングや多言語でも検証してみたいと思います。
今回は生成AIを利用した、DirectXを用いたゲームの作成を記事にしました。
ハードウェアの教科書は、ソフトウェアに比べると圧倒的に不足しています。
当社では大学等の実験テキスト、新人教育向けのテキストなどの相談も承っております。
お困りの際は、お気軽にご相談ください。



