開発
【Unity】LLMを内蔵した小規模アクションゲームを作りませんか?
## 自己紹介
趣味でゲーム制作をしている者です。
普段は2Dゲーム制作をしていますが、今回は3Dゲーム制作に挑戦したいと思いメンバーを募集しています。
私の主な可動時間は以下です。
平日 19:30~23:00
土日祝 9:00~21:00
ゲーム制作くらいしか趣味がないので長めになっています。
しかしチームメンバーの方は同じ時間帯に動く必要はありません。
カジュアル参加大歓迎です!
## 募集概要
私自身エンジニアですが、募集しているのもエンジニアです。
理由は楽しくチーム開発をしてみたいからです。
Unity経験がある方を募集しています。
元々一人で作るつもりだったので、途中離脱は自由です。
## プロジェクト概要
タイトル: 未定(Mirror Protocol とかになるかも…)
ジャンル: 3Dアクションゲーム(ForHonerライク)
プラットフォーム: PC(Windowsのみ)
開発期間(最長): 2025年9月〜2026年4月
進捗:5%ほど
## 目的・目標
目標はとにかく完成させることです。
完成させて何らかの形で公開します。
配分考えるのが面倒なので無料がいいなと思っていますが、もし売るなら値段は100円程度にする予定です。
また、技術的にこだわってモノ作りができればいいなと思っています。
## ゲーム内容
CPUと1vs1で戦う3Dアクションがゲームの軸になります。
ForHonerがイメージに近いです。
ノベルパートやミニゲーム部分も一応ある予定です。
ノベル部分については、簡単にですがシナリオも作っています。
目玉要素はLLMを内蔵することで動的に戦略を変えるゲームAIです。
ゲームデザインはエンジニアのみで、短期間で作れるというコンセプトで設計しています。
シナリオやシステムの仕様書は以下リンクの資料をご確認ください。
Git
https://github.com/cushionA/LearningAIGame/tree/main/%E4%BB%95%E6%A7%98%E6%9B%B8
追記:
コーディング規約、Git運用マニュアル、editorConfigも用意しました。
## 担当いただきたい作業
・Unityエンジンでのコーディング
・ローカルLLMのファインチューニング(プロンプトエンジニアリングで済むなら不要かも)
モデルやテクスチャ、サウンドは自分でアセットから用意します。(ひとまずは仮素材ですが)
しかし希望があれば他作業もお任せします。
自動テストの仕組みを作ろうとか、GitActionsのフローを組んでみようとか、楽しい技術の提案も大歓迎です。
一緒に楽しく素敵なプログラムを作りましょう。
## コミュニケーション方法
Discord予定ですが、他に希望があれば対応します。
ただ通話は苦手なので基本テキストベースだといいです。
ゲームのチーム開発経験がないので、色々教えていただけると助かります。
## 開発ロードマップ
現在の開発のロードマップとしては、以下のような流れを考えています。
1.コーディング規則、Git運用等のルール決定
↓
2.バトルシステムの詳細設計を共有し、戦闘部分を作る
↓
3.ScriptableObjectのパラメーターに従って動く戦闘AIの作成
↓
4.ローカルLLMを組み込み、戦闘データからパラメーター調整を行う機能を作る
↓
5.戦闘画面のUI(試作)を作り、戦闘デモとして出せる状態にする
↓
6.ストーリー部分を作る(現在メンバーは私だけのため、最小規模になる予定)
↓
7.見た目の部分を本番用のアセットやモーションに差し替えていく
↓
8.デバッグ後リリース!
## 追記:LLM活用について
【使用するLLMについて】
3~4B程度の軽量ローカルLLMを使用予定です。
Phi-4-miniなどのモデルが使用候補に入っています。
【LLMを活用した部分の実装詳細】
UnityのInterfaceEngineを活用して実装予定です。
(あくまで暫定であり、他のAPIも検討予定)
https://docs.unity3d.com/Packages/com.unity.ai.inference@2.3/manual/index.html
実装内容としては、AIが以下のような手順で戦闘に最適化していく流れを想定しています。
①まず行動パラメーターの設定に従って動くAIがある(攻撃された際の回避率・ブロッキング率などのパラメータで行動が変わる)
②戦闘の結果や各種データを読み込んで、行動パラメーターを振り直してプレイヤーの行動に最適化する。(フェイントが多めのプレイヤーには回避しなくなる、など)
この②の部分にLLMを使用したいと思っています。
プレイヤーの行動データを与えることで、自分の被ダメージ要因などを分析し、行動パラメータを自律的に修正するイメージです。
この修正は基本的にラウンド間や試合終了後にLLMを動かし、パラメータにフィードバックされるようなイメージをしています。
【実際の作業内容】
LLM関連の作業は以下になる見込みです。
・行動ログの中から被弾を減点、攻撃ヒットや防御成功を加点要素として、適切なパラメータ補正を行えるようにLLMをチューニングする。
・もしくは、チューニングと同等の効果を得られるプロンプトエンジニアリングを行う
・LLMに与える行動ログの記録形式を考察し、より賢いAIを設計する
・InterfaceEngineによるUnityプロジェクト内でのLLM運用
また、もしかすると会話イベントにもLLMを活用して、フリートーク可能なパートを作ったりするかもしれません。