見出し画像

【ML-Agentsノーコードトレーナー(第四弾)】2Dシューティングゲームのサンプルシーンを追加しました。

作業内容

ML-Agentsをノーコードで学習できるアセット「ML-Agentsノーコードトレーナー」の進捗報告です。

サンプルシーン「ShooterScene」を追加しました。
動画のような2Dシューティングゲームにおけるボスの撃破やハイスコアの獲得を学習するシーンです。
また、本シーンで181万ステップの学習を行い、学習済みモデルに推論させました。

学習結果

ボスまでたどり着けましたが、残念ながら一度も撃破できませんでした。
今後、報酬(ボスへのダメージボーナスなど)などを変更して、再度学習させます。

本アセットについて

UnityのML-Agentsをノーコードで体験できるチュートリアル用のアセットです。
UnityのML-Agents関連パッケージのインストールと、`uv`または`venv`を使用したPython仮想環境(PyTorch、mlagentsなど)の構築をワンクリックで行えます。
学習用サンプルシーン「SeekerScene」「JumperScene」「CrowdExitScene」「ShooterScene」もワンクリックで作成できます。

SeekerSceneは、Seekerがランダムに生成されるTargetに接触することを学習するシーンです。
JumperSceneは、Jumperが障害物をジャンプで乗り越え、Targetに接触することを学習するシーンです。
CrowdExitSceneは、複数のPersonが出口前に柱のある部屋から最短で出口へ向かう行動を学習するシーンです。
ShooterSceneは、Shooterがハイスコア獲得やボス撃破を学習する、シンプルな2Dシューティングゲームのシーンです。

報酬(スコア加点ボーナス、ボスへのダメージボーナス、クリアボーナス、被弾ペナルティなど)や、その他の各種パラメータ(プレイヤーの移動速度、弾の発射頻度、ボスのHP、敵の出現頻度など)は、スライダーで簡単に調整できます。
「学習開始」ボタンを押すだけで学習が始まり、ステップごとの平均報酬を示すリアルタイムグラフを専用ウィンドウで確認できます。
学習済みモデルをワンクリックで複数の対象エージェントに一括適用し、推論させることが可能です。

今後の展望

1. ボスの撃破

ShooterSceneのボスへのダメージボーナスやクリアボーナスを大きく増加させて再度学習し、ボスの撃破を目指します。

2. サンプルシーンの拡充

さまざまなシチュエーションのサンプルシーンを追加していきます。

3. 個別報酬の可視化

既存の合計報酬のリアルタイムグラフに加えて、個別の報酬(出口通過ボーナス、時間経過ペナルティなど)を表示するリアルタイムグラフも実装します。

4. 並列学習環境の構築

複数の並列学習が可能な学習環境を構築し、効率よく学習できるようにする機能を実装します。

5. ツールの公開

UnityアセットストアやGitHubに公開します。

開発ツール

  • Claude Code(Claude Fable 5、Claude Opus 4.8)

  • Codex(GPT-5.5)

実行環境

  • Unity 6000.3.10f1

  • com.unity.ml-agents(4.0.2)

  • com.unity.ai.inference(2.5.0)

  • mlagents 1.1.0

  • mlagents-envs 1.1.0

  • Python 3.10.15

  • PyTorch 2.8

動画タイムライン

  • 0:00 ShooterSceneで181万ステップまで強化学習させる様子

  • 0:22 学習済みモデル(181万ステップ)に推論させる様子

  • 0:33 ボスに敗北する様子

関連URL

タグ

#ML -Agentsノーコードトレーナー
#Unity
#強化学習
#GameDev
#ShootingGame

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