見出し画像

Unity+ClaudeのAIアシストでゲーム作る!制作中ゲームでの使い方紹介


個人ゲームクリエイターのギガビットです。


現在、自身13本目のスマホゲーム、1人用人狼ゲームをUnityで開発中です。


UnityはAIエージェントとの相性がとても良いゲームエンジンで、今作では自分が不得意なプログラミング実装部分はClaude Codeにアシストしてもらって開発をしています。本記事では今作で行ってるAIアシスト開発の実例を紹介します。

以前はCursorやAntigravityというAIエージェント開発のためのIDEを使っていましたが今回は性能面からClaude Codeを採用しています。AIツールは使うのがものすごく容易で使い方がわからなければAI本人に聞けばいいのでツールに固執せずその時その時で良さそうなツールを乗り換えコストほぼ無く使えるのが良いところですね。


UnityがなぜAIエージェントのアシストと相性が良いかというと、

・ネット上でのUnity知見量が他ゲームエンジンと比べて圧倒的でAIがUnityに詳しい

・プロジェクトが1つのフォルダにまとまってるからAIが触りやすい

が大きな2点でしょうか。

基本は
「Unityのプロジェクトフォルダ」と「作りたいゲームの資料集フォルダ」
の2つのフォルダをClaude Codeに読み込ませてそのフォルダで作業をしてもらうという形です。



AIアシスト開発のイメージ

AIアシスト開発のイメージは僕は下記のように
現実的に人間の開発チームで行うイメージをして環境設定をしています。

・自分はプロデューサー兼ディレクター
・Claude君という超シゴデキなスーパーエンジニアを雇用した
・彼の作業部屋を準備する
・作業部屋に作りたいゲームの資料を持ち込んで理解してもらう
・開発の進め方を相談してまずプロジェクトの進め方、手順書、決まりごとを書面に書き出して合意する
・彼の作業を僕でもいつでもパッと見て把握できる文書が大事
・彼の作業をいつでも他の人に引き継げる引き継ぎ文書が大事。同じ文書を別の従業員のCodex(ChatGPT)君が見ることもある



上記イメージを実現するための具体的なまず設定の仕方。


まずUnityとClaude Codeはインストールされている前提とします。
Claudeのデスクトップアプリのインストールがまだの方はClaudeのサイトからダウンロードしてください。




Claude Codeの「作業部屋」を準備する

まずClaude君に作業部屋、作業するフォルダを準備します。パソコンのあちこち触られると困るのでこのフォルダ内だけで作業していいよという指定をします。

僕はデスクトップに適当に新規フォルダ作ってしまっています。
フォルダを作り、Claude Codeにセットします。

僕の場合は「人狼ゲーム」というフォルダを作って、画面下のほうにチャット入力欄の上にあるとこでフォルダを指定してセット。




作業部屋にゲームの資料を置く

次に作業部屋に作りたいゲームの資料を持ち込みます。ここはプロデューサー/ディレクターである自分の大事な役割。さすがに何もないところからAIでゲームは生まれないのでゲームの企画やコンセプトなどは提示してあげる必要があります。

作業部屋として作ったフォルダ内に、
・僕の資料置き場
・Claude君がこれから作る資料の置き場
・Unityプロジェクトの置き場
を作ります。Unityプロジェクトの置き場には僕の前作のゲームプロジェクトを参照用に置いています。

そして参照資料を置くフォルダに、今まで考えてきたゲームの企画や仕様、コンセプト、キャラクターの設定資料集などとにかく考えてきたすべてを置きます。



Unityプロジェクト作成

Unityで新規プロジェクトを先ほどのフォルダ内に起こします。

まったく余談ですが、今のUnity6.5、最初の起動画面で折り畳みスマホの画面がデフォルトでセットされてて新規開発者を挫折させる気まんまんですよね…。こんな画面対応のゲーム作れる気しない…

ここからのUnityプロジェクトへの作業はClaudeにやってもらうのでここまでできたらUnityはいったん閉じてOKです。




Claudeとの作業開始!

ここからClaude Code君との作業の始まりです。まずこの作業部屋内にある全資料を理解してもらい、これから行っていく作業のルールを決めて文書化してもらいます。今後Claude君はここで決めたルールに基づいて作業を行っていくことになります。

指示文はこんな感じ。もっと簡潔にやりたい要望だけ書いてもわかってくれると思いますが僕は心配性なのでできるだけちゃんと伝えようと文章長くなりがちですね。

このフォルダでUnityゲームを作っていきます

・まずフォルダ構成を把握してください

・"資料_参照"に過去これまで検討してきた資料があるのでここからこのゲ
ームの内容を把握してください

・"資料_完成"にこれからゲームを作る為の資料を保存していきます。"資料_完成"に置く資料は常に最新版に保つようにします。常に"資料_完成"にある資料が"資料_参照"に対して優先されます

・"Unity_pj"にUnityのプロジェクトファイルがあります。"cardmonsteratsume"は私の前作のゲーム「カードモンスターあつめ!」のプロジェクトファイルです。このゲーム構成は私が理解しやすいので基本構成などできるだけ流用して新Unityプロジェクトを作成してください

・作成していくUnityフォルダは"Unity_pj"内の"jinrogame"フォルダです。今はまだUnityから新規プロジェクトとして起こした状態です

・Unityプロジェクトファイルの"jinrogame"は今後更新するたびに、フォルダ内のデータの関係性がプログラミング初心者の私でもわかるようにデータマップを作成してください。また、このフォルダはgithubで管理します

・この"人狼ゲーム"フォルダはCodex等他のAIツールでも参照しますので、常にこのフォルダの作業状態、進捗を引き継げるように毎回作業のたびに引き継ぎ資料をドキュメント化してください

・まず今回のフォルダ構成を把握し、上記指示を以降を保てるように今後の運用ルールをドキュメント化してください


この指示を出すとClaude Codeが作業を始め、何度か「PCに対してこの作業をしていいかどうか」と承認を求める確認が出てくるのでポチポチ承認して進めること数分。

文書を理解し、ルールの文書も作成、フォルダ内はこんな感じになったよと教えてくれます。


出力された文書、mdファイルにはこんな項目ごとに内容がきっちりまとめられていました。すごすぎる。「プロジェクト憲法」っていうネーミングかっこいいですよね。そんな指示してないのに。

運用ルール(プロジェクト憲法)
1.プロジェクト概要(30秒サマリ)
2.フォルダの役割と「正典」の優先順位(矛盾した時の判断基準)
3.ドキュメント運用ルール
 置き場所、ファイル命名ルール、文書に置くヘッダ、更新のしかた
4.Git/GitHub運用ルール
5.Unityプロジェクト運用ルール
6.データマップ運用ルール
7.引継ぎ運用ルール
8.AIツールへの禁止事項
9.用語ミニ辞典(初心者向け)
10.運用ルールの更新履歴


たとえば、7項目目の「引継ぎ運用ルール」でこれだけきっちり決まってる。すごすぎる。


僕の過去のUnityゲームプロジェクトを参照しているので、過去のゲームの作り方が悪いよ、というこんな指摘が文書の中に入っているのもご愛敬。プログラミングに関しては僕がAIに勝てるはずもありません。



また、次の作業候補はこうで、どれからやりますかと聞いてきてくれるのでどんどん進めていく状態になります。


Githubとの接続、作業を常にGithubにバックアップ取り続けるのもClaude Codeにおまかせ。


あと、Claude Codeが賢すぎて言葉が僕には難しいことが多々あるので、Codex(ChatGPT)にも同じフォルダをセットしていて、Claudeのアウトプットの解説などをCodexといつも会話をしています。図解もしてくれるし、ここら辺の非エンジニアにとってのわかりやすさはChatGPTが印象を持ってます。

Claude Codeに非エンジニアでもわかる言葉で話してという指示を入れてわかりやすくする手もありますが、実作業者であるClaudeの使用トークンはできるだけ節約したいので可能な限り守るべきルールを減らしてあげた方がClaude本来の力を発揮できると考えています。


以降のClaudeに指示して
・どんどん企画書や仕様書を詰めて資料作り
・資料に基づいてUnityに実装する仕様の立案
・Unityへの実実装
ここら辺はClaude Codeにかなりまかせられます。



今のClaude Codeのすごいところなんですが、以前は作業内容に迷ったときに「これでいいかはわからないけどたぶんこれだから実装してみた」と突き進む感じがあったのですが今は「想定はプランA、B、Cが考えられて、推奨はAです」と、どれで進めるかの選択肢を提示してくれるあたりがシゴデキ感満載。


Unityへの実装をお願いするとプロジェクトフォルダ内にどんどんスクリプトファイルもオブジェクト配置も行ってくれて、資料置き場に画像素材や楽曲素材を置いておくとどんどん実装してくれます。また、実際にエラーが出るかどうかまでの確認検証もほぼやってくれます。


ここら辺のUnityへの実実装の精度は今年春にClaude Fableが出るまではあまり良くなくて実装してもらってUnity開いて確認するとだいたいエラーやバグが出る状態だったのが、Fable以降はエラーに出会うことがものすごく少なくなりました。

最初にFableを使ってUnity実装して、テストプレイボタンを押すと「いきなり動く!」と感動したのを覚えています。Fableまでのモデルではまずエラー出て動かなかったですから。作業してるところを見るに、実装後に検証するという確認作業を行う仕事の仕方が格段にシゴデキAIになった感じです。

Favleは高価ですが、Fable登場以降のモデルではこのシゴデキな感じができてて、僕は今はOpus 5で作業してますがほぼ困ったことはないです。



おわりに

今年急激にAIチャットの時代からAIエージェントの時代へと世界線が切り替わり、アプリ開発界隈では完全AI開発とか、AI駆動開発などが盛んに言われていますが、僕はゲーム開発においては「AIアシスト開発」の認識が良いのではないかなと考えています。

作業部屋にゲームの資料を持ち込むところ。ここはプロデューサー・ディレクターである人間の自分が価値を持ち込まないと作業部屋からは何も生まれないのがゲーム、エンタメの現場。

AIの実装は相当なレベルになってて、これを使わないでゲーム業界で生き残りなさい、というのは正直もうあり得ない。

けれども、実装をAIにどれだけまかせてみたところで頭の中ではどうも「AI駆動」というほどゲーム開発の全工程の中でAIが価値を作ってくれている実感は得られていません。


手伝うところをしっかりAIに手伝ってもらって、自分はゲームの核を作りこんでいく。自分をゲームで表現する。そういったところに集中していくのがいいのではないかと考えています。

UnityはAIアシスト開発ととても相性が良くて便利だよ!という記事でした。


普段のゲーム開発はXを中心に発信してます。Xもぜひフォローお願いします!


いいなと思ったら応援しよう!