2週間のソロゲームデモ制作スプリント:AIツールとUnreal Engineが全パイプラインをどう処理するか

はじめに

AIはインディーゲーム開発を劇的に加速させました。この2週間で、Unreal Engine 5と複数のAIツールを組み合わせて、プレイ可能なオンレール・ライトガン・プロトタイプをソロで制作しました。ブレインストーミングやコンセプトアートから、コード、SFX、音楽に至るまで、AIが重い作業を処理してくれたおかげで、雑務に追われることなく、集中してアイデアを出し続けることができました。

制作プロセスの早送り動画は以下にあります。詳細なウォークスルーは記事の最後に掲載されています。



AIツールキット

  1. 企画: ChatGPT + Geminiでアイデア出しと初期デザインドキュメント作成
  2. アート: DeepSeek + Midjourneyでコンセプトとスタイルガイド作成
  3. プログラミング: ChatGPTをBlueprintのライブコーチとして活用
  4. オーディオ: 生成型音楽 + 効果音モデル
  5. ボイスオーバー: TTSでランタイムダイアログ生成
  6. AI 3Dモデリング: Tripo

結論として、AIはあらゆる段階に触れ、通常は複数人で行うプロジェクトを一人でのスプリントに変えました。

プロジェクト設定

なぜこのゲームなのか?

まず、基本的な問いから始めました。コアループは何か?何が新しいのか?どこでリリースするのか?
インスピレーションは、奇妙な「DOOM x あつまれ どうぶつの森」マッシュアップ動画や、Fall Guys / DOOMクロスオーバー、そしてアーケードの悪魔城ドラキュラレールシューターから得ました。これらのマッシュアップから、オンレールシューティングと近接戦闘を組み合わせるというアイデアが生まれました。プレイヤーは決められたパスを進み、遠くの敵をライトガンで撃ち、近づいてきた敵にはレーザーソードを振り回したり、パリィしたりします。これはクラシックなレールシューターではあまり見られない組み合わせであり、2週間のスコープに最適でした。

時間配分

コンセプトが決まった後、概要をGeminiに投入し、日ごとのスケジュールを生成させました。完璧だったか?いいえ。しかし、それは確かな基準となり、カレンダー調整の時間を何時間も節約してくれました。私はTencent DocsでToDoリストを常に更新し、毎晩調整していました。
最初の目標:1週目で、銃とセイバーのループを実証する小さなMVPレベルを立ち上げる

デザインドキュメントのハイライト

コアループ

  • かわいいサイバーパンクの世界
  • プレイヤーはレール上を滑るように移動
  • 遠くのターゲットを撃ち、近くの脅威を斬るまたはパリィ
  • コンボを稼ぎ、ボスまで生き残る

システムの内訳

  • レールとカメラ: Sequencerが移動とカットを「ジェットコースター」のように制御
  • 入力/戦闘: クリックで射撃、クリック&ドラッグでセイバーを振る
  • 武器: モジュール式の銃とセイバー。それぞれ独自のクールダウンとヒットロジックを持つ
  • : 拡張可能なタイプ(近接、飛行、弾幕、エリート、ボス)をSequencerイベントに連動

Geminiの最初のパスは、数日でなく数時間で完成し、取り組むべき明確なチェックリストを提供してくれました。

コアゲームプレイフロー

  1. プレイヤーは固定されたレール上を移動します。
  2. 敵はスクリプトに従ってトラック沿いに出現します。
  3. ライトガンを使って遠距離の敵や空中の脅威を排除します。
  4. 敵が接近したり、パリィ可能な投射物を発射したりしたら、レーザーソードに切り替えて斬るか、ショットを完璧にパリィして跳ね返します。
  5. 状況を読み、射撃と斬撃を素早く切り替えて、混在する敵グループに対処します。
  6. ステージが終了するかボスが出現するまでアクションを続け、スコアとコンボ倍率を稼ぎます。

各レベルはこの流れに従います:軽い小競り合いから始まり、難易度が上がり、ボス戦でクライマックスを迎え、引き締まった、高エネルギーの結末を迎えます。

MVP実現可能性チェックとスコープ管理

コードを一行も書く前に、ChatGPTにコ​​ア機能リストを投入し、実現可能性をチェックしました。AIはMVP計画を提案し、レールシューティングと近接戦闘の組み合わせが実際に楽しいことを証明するのに十分な、短いレベル一つにすべてを凝縮しました。
これは「迅速に反復する」という考え方と一致しています。まず最小限の要素を完成させ、そこから拡張します。私はざっくりとしたルールを使っています。「1日でメカニズムをプロトタイプできるなら、その周りのフルゲームは約1年かかる。2日でプロトタイプするなら、制作は2年近くかかる」といった具合です。つまり、テストビルドは数日で完成できるほど小さく保ち、デモ全体が2週間で完成するようにします。
結論として、1週目のミッションは、コアとなる「撃つ・斬る」ループを確立する簡素化されたレベルでした。

アートとオーディオ

ゲームの音楽的雰囲気を素早く決定するため、私は通常の順序を逆転させ、まず音楽、次にビジュアルという流れで作業しました。Suno AIという強力な生成型音楽ツールを利用しました。このツールは、任意の歌詞とスタイルプロンプトから完全な楽曲を書き、歌わせることができます。

一つの便利なテクニックとして、Suno AIでは歌詞の中に角括弧で囲んだ「メタタグ」を挿入できます。例えば、[Intro]、[Male Voice]、[Interlude]、[Female Voice]、[Guitar Solo]といったタグです。これらのタグは、楽曲の構成、ボーカル、楽器編成、ジャンル(ポップ、エレクトロニックなど)を指示し、瞬時に微調整が可能です。タグの全カタログはSuno AIのウェブサイトにあります。
私がどのように使用したかをご紹介します。

  • DeepSeekに短い歌詞を生成させました。
  • プロンプトでスタイルを「Electronic」と「Solo vocal」に指定しました。
  • Suno AIは、異なる雰囲気のフルバース/コーラス構成の複数のハミングのラフカットを返してきました。


プロンプト: あなたはソングライターだと想像してください。Kendrick Lamarの「Not Like Us」のスタイルで、「Cute Bomber」というタイトルの曲を書いてください。以下を提供してください:

  1. 完全な歌詞。
  2. Suno AIのキーワード(ジャンル、ムード、楽器、メタタグなど)で表現されたバッキングトラックの詳細。

素早いA/Bテストの後、最もパンチのあるエレクトロニックな部分を仮のテーマとして採用しました。このトラックはまだミキシングと仕上げの人間による手直しが必要ですが、Suno AIのおかげで、記録的な速さで音楽の方向性を確立できました。

世界観とビジュアルスタイル

私はサイバーパンクのきらめきと、土曜朝のアニメのようなかわいらしさを融合させようとしています。ネオンきらめくサイバーシティで、ちびキャラサイズの未来兵士たちが地獄の侵略軍と戦う姿を想像してください。表面的には愛らしいですが、ハイオクタンなエッジも満載です。
スタイルの参考にしたのは、Fall Guysのふっくらとした動物の形と明るい色使いに、サイバーパンクのきつい光を放つ看板や回路を融合させたものです。これらの要素を混ぜ合わせることで、魅力的で電撃的なキャンディカラーの戦場が生まれます。

コンセプトアート

コンセプトアートには、DeepSeekMidjourneyを活用しました。

  1. DeepSeekプロンプト: 私のビジョン(「Fall Guysの丸みとサイバーメカのディテールを組み合わせたもの」)を入力すると、Midjourney用の詳細なプロンプトが生成されました。
  2. Midjourney出力: そのプロンプトをMidjourneyに入力すると、的確なキャラクターシートが返ってきました。「three views, front, side, back」を各プロンプトに追加することで、Midjourneyは一度に完全なターンアラウンドを提供してくれました。これは3Dモデリングに移行する際にデザインの詳細の一貫性を保つ上で完璧でした。

ティザーシネマティック

静止画のコンセプトアートは始まりに過ぎず、私はコンセプトを実証するオープニングシネマティックも制作しました。全体はAIツールのリレーで完成しました。

  1. スクリプトと絵コンテ
  • DeepSeekがシーンのスクリプトを起草し、設定、主要な動き、重要なショットを配置しました。
  • そのテキストをMidjourneyに渡し、絵コンテパネルとしても機能する一連のイラストが生成されました。
  1. 動画生成
  • それらのフレームを、画像から動画、テキストから動画の両方を処理する中国のAI動画ツールであるKlingにフレームごとに投入しました。
  • カメラの動きやトランジションのプロンプトキューを使用し、Klingは静止画を滑らかにつながったアニメーションクリップに変換しました。(当時、OpenAI Soraのような他の選択肢よりも私のニーズには合っていました。)
  1. サウンドデザイン
  • サイレントクリップを手に、MMAudioモデルを実行するローカルのComfyUIワークフローを起動しました。
  • 映像と「futuristic city street under attack」のようなプロンプトを入力すると、サイレン、メカのハミング、エネルギー兵器のチャージアップなどのレイヤー化されたアンビエンスが生成されます。(ヒント:約10秒のチャンクで生成すると良いでしょう。MMAudioは16GB以上のVRAMを持つGPUを好みます。)
  1. 最終ミックス
  • Suno AIのドラフトテーマ、Klingのビデオ、MMAudioのSFXをエディタにドロップし、すべてを同期させて素早くミックスしました。

いくつかのAIによる連携作業の後、コンセプトトレーラーは完成し、通常の労力のごく一部でゲームのオーディオビジュアルの雰囲気を確立できました。

技術準備

バージョン管理

ソロ開発者として、私は自宅のNASにSVNリポジトリを立ち上げました。Dockerコンテナ一つで完了です。Unreal EngineはSVNと相性が良く、セットアップは簡単で、ゲームプロジェクトに伴う大きなバイナリファイルをうまく扱えます。
適切なバージョン管理を導入することで、自由にブランチを作成し、チェックポイントを設け、恐れることなく実験できます。ロールバックや差分は即座に行え、UE5のエディタには差分サポートが組み込まれているBlueprintで作業している場合は特に重要です。堅牢なソース管理は、迅速なイテレーションを可能にするセーフティネットです。

Sequencerをゲームプレイの基盤として活用

このゲームはレールシューターなので、UE5のSequencerがすべての中心です。そのイベントトリガーシステムを掘り下げた結果、カットシーンだけでなく、リズム重視のシューターに必要なフレーム単位の完璧なタイミングで、瞬間的なゲームプレイを実行できることを確認しました。
タイムラインはプレイヤーのレールパスとすべてのカメラカットを管理します。Level Sequenceアセット内のキーフレームが位置と回転を固定するため、ビューはプリセットされた経路に沿って滑らかに動き、角度間でクリーンに遷移します。追加のコードは必要ありません。
また、Sequencerを使ってゲームプレイのタイミング(敵のスポーン、アニメーションの開始など)をトリガーする必要がありました。解決策はカスタムイベントトラックです。「EnemySpawn」や「MonsterAttack」マーカーをタイムラインに配置し、レベルBlueprintのカスタムイベントにバインドすると、再生がそのフレームに達したときにゲームロジックが自動的に発火します。これにより、レベルスクリプティングが視覚的で、簡単に調整可能なフローチャートになります。

MVPチェック

私は自分の経験とChatGPTのアドバイスを組み合わせてもう一度実現可能性チェックを行い、技術的なアプローチを確定しました。ChatGPTの一番のヒントは、「射撃と斬撃のコンボを証明するために、可能な限り最小限のループを最初に構築すること」でした。私たちのMVPは、レール移動、数体の敵、そしてボス戦を含む短いレベル1つです。
UE5では、そのプロトタイプを素早く作成しました。Sequencerが一人称視点のレール移動を制御し、タイムラインイベントが突進してくる敵をスポーンさせ、プレイヤーはそれらを撃ち落としました。ループがスムーズに再生された後、私はペース、難易度、楽しさに関する実際のデータを得ることができ、自信を持って本格的な開発に取り組むことができました。



Blueprintでのコーディング

レールコントローラー

プレイヤーコントローラーとレール移動
プレイヤーは自由に移動するのではなく、あらかじめ設定されたレールに「固定」されています。私はCharacterのサブクラスを作成しましたが、すべての移動はSequencerに任せました。Level Sequenceアセットでは、キーフレームがPawnのLocationとRotationを時間とともに制御します。そのSequenceをプレイヤーにバインドすることで、パスに沿って自動的に移動および回転します。また、複数のカメラを同じタイムラインに接続し、追加のコードなしでビューがスムーズに切り替わるようにしました。
戦闘システム
入力はシンプルで、左クリックで射撃、ホールド&ドラッグでレーザーソードを振ります。

  • 射撃は、カメラの中心からクロスヘアに向かってラインをトレースし、ヒットすると敵のダメージロジックを呼び出します。
  • 近接攻撃はドラッグモーションを監視し、それをスクリーン空間のスラッシュアークに変換し、そのアーク内の敵をチェックしてヒットまたはパリィをトリガーします。

武器は2つのBlueprintコンポーネントにあります。1つは銃用(トレース、VFX、ダメージ)、もう1つは剣用(アーク検出、スラッシュVFX、ブロック/パリィ)です。
敵とレベルロジック

私は4種類の敵クラスを作成しました:近接の雑魚敵、飛行型、遠距離飛行型、そしてボスです。最初の3種類はBehavior Treesを持つAIController上で動作し、一度スポーンすると、ツリーが移動と攻撃の決定を処理します。ボスのフェーズと特殊攻撃は、厳密なタイミングのためにSequencerイベントによって直接制御されます。
レベル全体をシーケンスするために、LevelPointアクター(LevelSequenceActorのサブクラス)を作成しました。複数のLevelPointをレールに沿って配置し、それぞれが独自のSequenceアセットを持ち、敵のスポーン、セリフ再生、カメラシェイクなどを振り付けます。LevelPointは次のノードを定義するか、(条件に基づいて)分岐します。プレイヤーがLevelPointに到達すると、そのSequenceが再生され、勝利条件が満たされると(すべての敵が倒されるか、時間が経過すると)、システムは次のLevelPointのSequenceにジャンプします。Sequencerにカスタムトラックを追加することで、ゲームの状態をチェックし、いつ進行するかを決定できるようにしました。これにより、全体の流れがモジュール式の視覚的な「ノード+タイムライン」の絵コンテとなりました。

AIアシストによるBlueprintスクリプティング
Blueprintの質問(「Sequencerイベントから敵をスポーンさせるには?」「マウスのドラッグを近接ヒットに変換するには?」など)が浮かぶたびに、ChatGPTが頼りになりました。段階的な回答を提供し、ドキュメントやフォーラムの投稿を指し示し、Blueprintの疑似ノードのスケッチまでしてくれました。
例えば、実行時にマテリアルを調整する方法を尋ねたとき、ChatGPTは「Create Dynamic Material Instance」ノードを使用するように指示し、参照を保存することを思い出させてくれました。数クリック後、私のレーザーソードの振りは計画通りに敵を照らしました。
AIの「技術コンサルタント」が常駐していることで、障害を乗り越え、スピードと自信の両方が向上しました。そのアドバイスには多少の調整が必要な場合もありましたが、全体としては無数の細かい作業を処理してくれたため、私は開発に集中し続けることができました。

アセット

UI

UIはゲームのかわいいサイバーパンクな見た目に合わせる必要がありました。GPT-4oを使って、「スプラトゥーン」風のフラットなゲーム内アートアセットを生成しました。明確なプロンプト(参照画像、色、レイアウトのメモ、テキスト説明)を与え、ネオン・グラフィティ調のUIパーツ(パイプライン式の体力/エネルギーバー、派手なスコアパネルなど)のセットができるまで反復しました。

GPT-4oの画像生成(2025年3月リリース)は強力でしたが、完璧ではありませんでした。

  • 良い点:学習曲線が低く、高速で柔軟。テキストから画像、画像から画像、複数画像の一貫性をサポート。アイコン、スタイル変換、プレゼンテーションアートに最適。
  • 悪い点:チャットの長さ制限によりコンテキストが途切れる可能性あり。細かいディテールがしばしばずれる(正確なモックアップには不向き)。解像度制限があるため、ターンアラウンドには手作業での結合が必要。プロンプトの複雑さにはまだエッジケースがある(参照画像は役立つが)。

全体として、GPT-4oはゲームチェンジャーです。アイデアが技術的なハードルを上回り、2D UIデザインのための新しいAI駆動型ワークフローが出現しています。

SFX

  • 効果音: Stable Audioの生成プラットフォームを使って、「機械仕掛けの巻き上げ音」や「レーザーソードが空気を切り裂く音」といったシンプルなプロンプトから、銃声、爆発音、モンスターの咆哮などを素早く作成しました。ローカルで実行することで、イテレーションが加速しました。
  • BGM: プロトタイプには、Suno AIで作成したエレクトロニックテーマを仮のBGMとして使用しました。

3Dモデル

  1. 生成: Midjourneyの三面図 ➜ Tripo 2.5で自動メッシュ化とリトポロジー
  • Midjourneyの三面図をTripo 2.5に入力すると、数分で2Dアートがテクスチャ付きの基本的な3Dメッシュに自動でリトポロジー変換されました。トポロジーはしっかりしており、シルエットはコンセプトと一致しています。自動リギングは完璧ではありませんが、ボーンのサイズや向きは調整が必要ですが、モデリングとUVの時間を大幅に短縮できました。
  1. リグ: Character CreatorのAccuRIGワンクリックボーン生成
  • 次に、メッシュをCharacter Creatorにインポートし、AccuRIGツールを実行して、スケルトンとスキンウェイトを瞬時に生成しました。
  1. アニメーション: iClone 8でモーションライブラリのリターゲット。AIポーズアシストが非常に有用
  • アニメーションにはiClone 8を使用しました。そのモーションライブラリ、モーションキャプチャのリターゲット、AIポーズアシストのおかげで、走る、撃つ、斬る、ヒット反応などのアニメーションを、手動でキーフレームを打つ代わりに数分で適用できました。クリップをFBXとしてエクスポートし、Unreal Engineにインポートしました。
  1. インポート: FBXをUE5に再インポート

このAIパイプライン(コンセプト → 3Dメッシュ → リグ → アニメーション)のおかげで、通常は数週間かかるプロセスが数日で完了しました。

レベルデザイン

AIアシスタント

Geminiにアーケード版悪魔城ドラキュラの流れを学習させ、ノードベースのレベルロードマップを生成させました。その分析は、イントロ→雑魚敵→中ボス→雑魚敵→最終ボスという流れを捉えており、各ステージでの敵の種類と数まで指定されていました。その後、そのスクリプトを自分のデザインに合わせて調整し、レベルプランを最終決定しました。

レベルデザインとLevelPointシステム

LevelPointシステムを使って、プレイヤーのレールに沿ってイベントノードを配置することでレベルを構築しました。各LevelPointはSequencer内の独自のLevel Sequenceにリンクされており、敵のスポーン、カメラシェイク、ダイアログなど、すべてを振り付けます。
例えば:

  • LevelPoint1では、そのSequenceがミニクライマックス(敵の波、カメラの揺れ、セリフ)を再生します。プレイヤーがそのポイントに到達すると、Sequenceが発火し、戦闘が始まります。
  • 敵を倒すと、レールはLevelPoint2に移動し、そのSequenceがカットシーンと小ボス戦を再生するかもしれません。
  • これが最終ボスとレベル終了まで繰り返されます。

「ノード+タイムライン」方式は、レベルデザインを視覚的な編集に変えます。ペースを調整したり、タイミングを追加したりするには、Sequencer内のイベントマーカーを挿入、削除、または調整するだけです。

ダイナミックダイアログ

固定されたVOスクリプトを使うのではなく、リアルタイムでダイアログを生成するシステムを構築しました。各ストーリーノードで、AIが新鮮なセリフを作成し、それをTTSで音声化します。



仕組みは以下の通りです。

  1. AIITKプラグインを統合
    • Unreal EngineのAIITK(AI Integration ToolKit)をインストールし、BlueprintでGPT呼び出しを公開しました。
  2. APIとプロンプトテンプレートを定義
    • OpenAI GPT-4エンドポイントを接続しました。
    • 異なるコンテキスト(通常戦闘、ボス戦など)用のプロンプトテンプレートを作成しました。
  3. 実行時にテキストを生成
    • プレイヤーがLevelPointに到達すると、Blueprintは適切なプロンプトでAIITKを呼び出します。
    • GPT-4は中国語の字幕と音声用の英語版を含むJSONを返します。
  4. 音声を合成
    • Blueprintは英語のセリフをOpenAIのTTS APIに送信し、WAVを受け取ります。
    • Blueprintは中国語の字幕を表示しながら音声を再生します。

ダイアログ生成フロー

  1. セリフ: 各LevelPointで、AIITKはプロンプトとコンテキストをGPTに渡し、中国語のダイアログと英語版をJSONで返します。
  2. 音声合成: JSONを解析し、英語のセリフを取得してTTS APIに送信し、WAVを受け取ります。
  3. 再生と表示: Unreal EngineのオーディオコンポーネントがWAVを再生し、UIが中国語の字幕を表示します。

これらすべてが数秒で実行されるため、手書きのスクリプトや録音されたボイスオーバーなしに、プレイするたびに新しいセリフを聞くことができます。
課題と調整

  • プロンプトが重要: 正確に、セリフは短く保ち、複数行のチャットは個別の呼び出しに分割します。
  • 一貫性を保つ: AIはモデルから逸脱することがあります。プロンプトで設定やキャラクターの詳細を強化します。
  • ゲームを停滞させない: AIの呼び出しはロード画面やカットシーン中に実行し、プレイヤーが待つことがないようにします。

まとめ

  • AIの利点: 14日間で、AIはアート、コード、オーディオなどを処理し、ゼロから動作するデモを制作することを可能にしました。これにより、私は雑務に追われることなく、クリエイティブなフローに集中できました。AIをディレクションすることが、新しい秘密兵器です。
  • AIの限界: AIには依然として人間の監視が必要です。ドキュメント、アート、コード、ダイアログのすべてにおいて調整が必要でした。適切なプロンプト作成が勝負の半分です。

完全なプロトタイプワークフロー



許可を得て翻訳・再公開。

Advancing 3D generation to new heights

moving at the speed of creativity, achieving the depths of imagination.