Unity ML-Agents 実践ゲームプログラミング v2.2 対応版
ユニティエムエルエージェントジッセンゲームプログラミングバージョンニテンニタイオウバン
- 著者:
- 布留川 英一(フルカワヒデカズ)
- 出版社:
- ボーンデジタル
- 出版日:
- 2022年12月20日
- ISBN:
- 9784862465443
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技術革新に乗り遅れるな! AI 活用でナンバーワン・ゲームを目指そう
本書は、2020 年 8 月に刊行した「v1.1 対応版」を最新版へのアップデートを行った改訂版です。
「Unity ML-Agents」 (Unity Machine Learning Agents) は、Unity で「機械学習」の環境を構築するためのフレームワークです。ゲームに登場するキャラクターを「強化学習」で鍛えることで、人間の代わりになる対戦相手としたり、ゲームバランスの評価に活用したりなど、ゲーム AI はさまざまなゲーム制作の場面で活用することができます。
本書では、はじめて「機械学習」にチャレンジする方から学んでいただけるように、機械学習の仕組みや学習方法の基礎から、サンプルプログラムを使った実践まで、ていねいに解説しました。また、AI を組み込んで活用する応用事例も多数掲載しており、ゲーム開発の現場ですぐに役立てることができます。
第 1 章 機械学習と Unity ML-Agents の概要
1-1 人工知能と機械学習
1-2 教師あり学習と教師なし学習と強化学習
1-3 強化学習
1-4 Unity ML-Agents の概要
第 2 章 はじめての学習環境の作成
2-1 開発環境の準備
2-2 プロジェクトの準備
2-3 はじめての学習環境の作成
2-4 学習と推論
2-5 学習の高速化
第 3 章 Unity ML-Agents の基礎
3-1 状態と観察
3-2 行動
3-3 報酬とエピソード完了
3-4 決定
3-5 学習設定ファイル
3-6 mlagents-learn
3-7 TensorBoard
第 4 章 さまざまな学習方法
4-1 SAC
4-2 Discrete
4-3 Visual Observation
4-4 Raycast Observation
4-5 セルフプレイ
4-6 Curiosity
4-7 模倣学習
4-8 LSTM (Long Short-Term Memory)
4-9 カリキュラム学習
4-10 環境パラメータのランダム化
第 5 章 サンプルの学習環境
5-1 サンプル学習環境の準備
5-2 3DBall
5-3 GridWorld
5-4 PushBlock
5-5 Pyramids
5-6 WallJump
5-7 Hallway
5-8 Worm
5-9 Crawler
5-10 Walker
5-11 FoodCollector
5-12 Basic
5-13 Match3
5-14 Sorter
5-15 Soccer
5-16 CooperativePushBlock
5-17 DungeonEscape
第 6 章 ゲーム開発における強化学習の活用
6-1 ゲーム開発での強化学習エージェントの活用
6-2 ジャンプゲーム - テストの自動化
6-3 障害物避けゲーム - コンテンツのバランス調整のサポート
6-4 Puppo, The Corgi - より自然な振る舞いを行う NPC
6-5 ドッジボール - 人間の代わりとなる対戦相手
6-6 AI ロボットサッカー - ロボットの強化学習
第 7 章 Python API を使った学習環境の構築
7-1 Python API を使った学習
7-2 Gym ラッパー
7-3 Python Low Level API
7-4 サイドチャネル
7-5 カスタムサイドチャネル
技書の森解説
ゲームのキャラクターを人の手でルールを書き込むのではなく、試行錯誤から動き方を学ばせたい開発者向けの入門書です。『Unity ML-Agents 実践ゲームプログラミング v2.2 対応版』 (布留川 英一 著、ボーンデジタル、2022 年 12 月刊) は、Unity で機械学習の環境を構築するためのフレームワーク Unity ML-Agents を使い、強化学習 でキャラクターを鍛える方法を、仕組みの基礎からサンプルプログラムを使った実践まで解説しています。副題は「Unity ではじめる機械学習・強化学習」です。版元の紹介によると、2020 年 8 月に刊行した「v1.1 対応版」を改訂した版で、はじめて機械学習に取り組む読者から学べるように書かれています。判型は B5 変形のオールカラーです。
全 7 章の構成、ML-Agents の基礎から Python API まで
第 1 章「機械学習と Unity ML-Agents の概要」で、人工知能と機械学習、教師あり学習と教師なし学習と強化学習の違いを整理し、第 2 章「はじめての学習環境の作成」で開発環境とプロジェクトを準備して、学習と推論、学習の高速化までを一度通します。第 3 章「Unity ML-Agents の基礎」は、状態と観察、行動、報酬とエピソード完了、決定、学習設定ファイル、mlagents-learn、TensorBoard という並びで、エージェントを組み立てる部品を 1 つずつ確認する章です。第 4 章「さまざまな学習方法」では SAC、Discrete、Visual Observation、Raycast Observation、セルフプレイ、Curiosity、模倣学習、LSTM、カリキュラム学習、環境パラメーターのランダム化を扱います。第 5 章は 3DBall や GridWorld、Soccer、DungeonEscape などのサンプル学習環境を順に取り上げ、第 6 章「ゲーム開発における強化学習の活用」と第 7 章「Python API を使った学習環境の構築」へ進みます。
観察、報酬、学習方法の選び方が要点になる理由
強化学習のエージェントは、環境から受け取る観察をもとに行動を選び、その結果として得る報酬の合計が大きくなるように方策を更新していきます。ゲームに当てはめると、何を観察させるか (座標の数値か、カメラ画像か、周囲へ飛ばしたレイの当たり方か) と、どの行動にどれだけの報酬を与えるかの設計が、学習の成否をほぼ決めます。第 3 章が観察、行動、報酬を別々の節に分け、第 4 章で Visual Observation と Raycast Observation を並べているのは、この設計の選択肢を比べられるようにするためと読めます。また、報酬がめったに得られない課題では探索そのものに動機を与える Curiosity が、人の操作を手本にできる場合は模倣学習が、易しい課題から段階的に難しくする場合はカリキュラム学習が、それぞれ有効な手段になります。環境パラメーターのランダム化は、学習環境の条件を揺らして特定の状況だけに適応した方策になることを防ぐ考え方で、作ったエージェントを実際のゲームへ持ち込む前に知っておきたい技法です。
テストの自動化や対戦相手づくりへの応用例
第 6 章は、学習したエージェントをゲーム制作の現場でどう使うかを題材ごとに示します。ジャンプゲームでのテストの自動化、障害物避けゲームでのコンテンツのバランス調整のサポート、Puppo, The Corgi でのより自然な振る舞いを行う NPC、ドッジボールでの人間の代わりとなる対戦相手、AI ロボットサッカーでのロボットの強化学習という 5 つの事例です。強いキャラクターを作ることだけが目的ではなく、遊べるかどうかの検証やバランスの評価に学習エージェントを使うという視点は、ゲーム開発 の工程に機械学習を組み込みたい人にとって具体的な手がかりになります。第 7 章は Gym ラッパー、Python Low Level API、サイドチャネル、カスタムサイドチャネルを扱い、Unity の外にある Python 側から学習環境を制御する方法へ話を広げます。
v2.2 対応という前提と、向いている読者
本書の手順は ML-Agents の v2.2 に対応した内容です。ML-Agents のように開発の続くフレームワークでは、版が変わると設定ファイルの書き方や API が変わることがあるため、本書と異なる版を使う場合は手順の読み替えが必要になる点を前提にしておくと安心です。強化学習のアルゴリズムを数式から導出して理解したい人には、理論を主題にした専門書のほうが目的に合います。機械学習の本全体の中で次に何を読むかを考える際は、機械学習とディープラーニングの本の選び方 も参考になります。
Unity でゲームを作っていて、テストの自動化、バランス調整、対戦相手の用意に学習エージェントを使ってみたい人には、基礎の部品から第 5 章のサンプル環境、制作現場での応用例までを 1 冊で通せる本書は、最初の 1 冊として手堅い選択です。第 2 章で最初の学習を動かし、手応えを得てから第 4 章の学習方法へ進むと、全体像をつかみやすくなります。
言及した記事 (9 件)
[Unity vs Unreal Engine 5]ゲーム開発するならどっちのゲームエンジン?両方経験者が徹底比較していきます
♡ 252unity, unrealengine, ue5『Unity』おすすめアセットランキング(無料,有料別に紹介)
♡ 79unity, gamedevUnity開発にAI時代の新テキストエディタ「Cursor」を使う
♡ 68ai, unity, ide, cursor【2024年度版】Unityで初学者から中級者までを駆け抜けるためのおすすめ書籍
♡ 14Unity, ゲーム制作, プログラミング教育, ゲームデザインDatabricksに入社して5年目の振り返り
♡ 7ポエム, DatabricksDatabricksデータエンジニアリングエージェント入門 ─ プロンプト一つでメダリオンパイプラインを構築する
♡ 3Databricks, データエンジニアリング, Databricksアシスタント, AIエージェント【Unity2D】MLAgentsを使った最強のエアホッケーAIの実装
♡ 3C#, Unity, 強化学習, #ml-agentsDatabricksアシスタントのエージェントモードを体験!自律型AIが計画・実行・修正を自動でこなす
♡ 2Databricks, JEDAI, Databricksアシスタント, GenieCodeIntroduction to ML Agents
♡ 1Unity, 強化学習, ReinforcementLearning, ML-Agents
この本に興味がある方におすすめ
関連する本
布留川 英一 の他の書籍
関連記事
ChatGPT に聞けば済む時代に、あえて本を開く理由
生成 AI で何でも聞ける時代に、技術書を読む意味はあるのか。AI の回答と書籍の知識の決定的な違いを掘り下げ、両者の使い分けを提案します。
LLM / 生成 AI 本ガイド - 仕組み / 実装 / エージェント開発の 3 層で選ぶ (2026 年 8 月時点)
LLM (大規模言語モデル) / 生成 AI を学ぶ技術書の選び方を 3 層 (読み物で仕組みを掴む → 中身を実装で理解する → RAG / AI エージェント開発) で整理。2026 年 8 月時点の定番書と、変化の速い分野で本を選ぶときの注意点を解説します。
Python 本の選び方 - 独学の最初の 1 冊から実務品質まで
Python 本の選び方を「動機」から逆算して整理。プログラミング未経験の最初の 1 冊、業務自動化に直結する本、型ヒントとコード品質で実務水準へ進む本まで、2026 年 8 月時点の定番を独学ルートに沿って解説します。