まず最初に:結論だけ知りたい人へ
このページを読んだあとに 作成ノートへ飛べるように、章末にリンクを用意しています。
目次
このページの狙い
このページでは、AIでのゲーム制作に興味がある人に向けて、 「言語ごとの相性」「作れるゲーム」「注意点」をまとめて1ページに集約しました。
現在は主に3つの言語について触れています。他にもC++を使用するUnreal Engine(高グラフィックの3DのPCゲーム向け)など僕の触れていないプログラミング言語も存在します。
しかし、AIを使用する前提でプログラムするのであれば、相性の良いこの中から選ぶことをお勧めします。
言語の選び方(初心者向け)
迷ったら、次の3つだけでOKです。
- 早く動くものを作って公開したい → JavaScript
- 3D/アクション/アニメをやりたい → Unity(C#)
- AI対戦・探索・統計を作りたい → Python
「AIと相性が良い」の意味
ここでいう相性は、AIの出力が当たりやすいとか修正が楽とか、そういう現実的な話です。 同じ「ゲーム制作」でも、Unityはエディタ設定が絡むので、AIのコードが正しくても導線がズレることが多いです。
JavaScript × AI(最短で公開したい人向け)
相性:★★★★★(とにかく速い/試行回数が増やせる)
作れるゲーム(例)
- パズル(クリック/ドラッグ)
- カードゲーム(デッキ/手札/効果)
- 陣取り・ボードゲーム(ターン制)
- 推理・文章ゲーム(UI設計が簡単)
- ミニオンライン(Socket.IO で部屋コード式)
強い理由
- ブラウザで即実行できる(修正 → 更新が早い)
- 1ファイルから始められる(初心者向け)
- AIがテンプレを出しやすい(HTML/CSS/JS)
注意点(ハマりどころ)
- コードが長くなると管理が雑になりやすい → ファイル分割・命名だけ意識
- スマホ操作(タップ/スワイプ)の設計が必要 → PCと両対応を最初から決める
- データ保存(ローカル/サーバー)で迷う → 最初は保存なしでOK
Unity(C#)× AI(3D/アクションやりたい人向け)
相性:★★★☆☆(できることは多いが、事故りやすい)
作れるゲーム(例)
- 3Dアクション(近接/遠距離/弾幕)
- アニメ・演出重視のゲーム
- キャラ操作+UI+エフェクト
強い理由
- 物理・アニメ・UI が揃っている
- 素材(VRoid/VRMなど)を載せやすい
- 「遊びの見た目」が一気に上がる
注意点(AIコピペ事故が起きる理由)
- Unityのバージョン差(Input System / URPなど)で動かない
- ヒエラルキー構成やアタッチ先がズレると破綻
- 「スクリプトは正しいが設定が違う」という問題が多い
対策(これだけでマシになる)
- 「どのGameObjectに何をアタッチ?」を必ずAIに書かせる
- スクリプトを細かく分ける(移動/攻撃/UI…)
- 1回で完成を狙わず、動く最小から組んでいく
Python × AI(思考・探索・検証を速く回したい人向け)
相性:★★★★☆(ロジックに強い/UIは弱い)
作れるゲーム(例)
- 将棋・オセロ・五目などのAI対戦
- 探索・最適化・シミュレーション
- 簡易2D(Pyxel / Pygame など)
強い理由
- AI・統計・データ処理がそのまま使える
- テストがしやすい(関数で検証できる)
注意点
- ブラウザ公開が少し面倒(デスクトップ寄りになりがち)
- UIや演出は別の仕組みが必要
AIに任せて良い/ダメな部分
任せて良い(当たりやすい)
- UIのテンプレ(HTML/CSS)
- 基本ルールの実装(スコア、ターン制など)
- 「最小構成のサンプル」生成
任せると失敗しやすい(人間が握る)
- ゲームの面白さ(駆け引き/難易度/テンポ)
- スマホ操作設計(スワイプ/誤タップ/レスポンシブ)
- Unityのアタッチ・ヒエラルキー設計
コピペ事故を減らす頼み方(テンプレ)
AIに頼むとき、これを入れるだけで失敗が減ります。
JavaScript(ブラウザゲーム)
HTML/CSS/JSで1ファイル構成。スマホ(縦)とPC対応。
コードは全文。機能は最小でOK。あとで画像差し替えできるように。
重要:操作方法とゲーム内容をコメントで説明して。
Unity(C#)
Unityで動くように、スクリプト全文+ヒエラルキー構成+アタッチ先を明記して。
必要なPrefab/コンポーネントも列挙して。
著作権・表現の注意点(安全に長期運用するために)
- 「作品名+再現」は避ける(例:◯◯完全再現)
- 「仕組み」「ジャンル」「UIの考え方」に寄せる
- 素材は自作 or ライセンス確認(画像/音/フォント)
- 固有のロゴ・キャラ・名称を使わない