(Udemy) Reinforcement Learning: AI Flight with Unity ML-Agents (Adam Kelly)
About Course
This free Reinforcement Learning course from Udemy teaches you how to use Unity ML-Agents to create AI-powered video games.
Learn how to train neural networks in a real-time 3D environment, using rewards for good behavior. You’ll build a complete game with challenging AI opponents, from creating custom assets to developing a full training environment.
The course covers:
- An introduction to ML-Agents
- Creating custom assets using Blender (optional)
- Building a training environment for airplane agents
- Training the agents to fly through checkpoints
- Creating a full game with menus for level and difficulty selection
This course is perfect for anyone interested in game development and AI. You will learn how to use ML-Agents to create your own unique and engaging games.
This course is completely free and comes from Udemy. Get access to this course and many more at Theetay.
What Will You Learn?
- Learn how to install, run, and train neural networks with Unity ML-Agents
- Train airplane agents to fly with Reinforcement Learning, specifically PPO
- Create a full, playable airplane racing game in Unity with incredibly challenging AI opponents
- Integrate trained neural networks in a game that can be built and deployed cross-platform
- Utilize Machine Learning at a high level (no need to write training algorithms)
- Lots of opportunities to customize the project and make it your own
Course Content
COURSE UPDATES
-
A Message from the Professor
-
COURSE UPDATE – Unity ML-Agents v1.0
02:24 -
Course Material Download Link
00:00
(v0.11) Unity ML-Agents – Introduction & Setup
-
Introduction
00:37 -
Install Unity and Anaconda
02:40 -
Download ML-Agents
02:23 -
ML-Agents Orientation
03:47 -
Creating an Example Project
01:49 -
The Basic ML-Agent Example
05:57 -
Setting Up an Anaconda Environment to Train
05:36 -
Training ML-Agents
05:05 -
Tensorboard and Inference
06:14 -
Section Wrap-up
00:46
(v1.0) Unity ML-Agents – Introduction & Setup
-
Unity Hub & Anaconda
03:10 -
New Project Install ML-Agents & Import Examples
07:53 -
3D Ball Example
06:00 -
Training 3D Ball Example
10:44
(v1.0 & v0.11) Asset Creation in Blender
-
Introduction
00:29 -
Low-Poly Terrain_ Setup
04:34 -
Low-Poly Terrain_ Subdivide Triangulate & Sculpt
04:09 -
Low-Poly Terrain_ Sculpt the Racetrack
05:18 -
Low-Poly Rocks_ Medium Rock
05:17 -
Low-Poly Rocks_ Tall & Flat Rocks
05:57 -
Low-Poly Rocks_ Colliders
04:27 -
Low-Poly Rocks_ Export
04:23 -
Checkpoint_ First Piece
04:49 -
Checkpoint_ More Pieces Collider & Export
05:34 -
Finish Line Checkpoint
06:30 -
Low-Poly Airplane_ Reference Images
04:29 -
Low-Poly Airplane_ Body (Part 1)
07:57 -
Low-Poly Airplane_ Body (Part 2)
05:09 -
Low-Poly Airplane_ Body (Part 3)
03:53 -
Low-Poly Airplane_ Wings
07:08 -
Low-Poly Airplane_ Horizontal Stabilizer
04:34 -
Low-Poly Airplane_ Landing Gear
05:57 -
Low-Poly Airplane_ Propeller
11:39 -
Low-Poly Airplane_ Export
00:53
(v0.11) Project Setup & ML-Agents Installation
-
Introduction
00:38 -
New Unity Project
01:39 -
Import ML-Agents
04:45
(v1.0) Project Setup & ML-Agents Installation
-
New Project
01:24 -
Project Clean-up & Install ML-Agents
03:47
(v1.0 & v0.11) Desert Race Path Creation
-
Import 3D Meshes
01:57 -
Desert Terrain & Rock Prefabs
08:15 -
(v0.11) Airplane Prefab
08:27 -
(v1.0) Airplane Prefab
11:59 -
Checkpoint Prefabs
05:12 -
Desert Area Prefab
00:53 -
Placing Rocks in the Desert Environment
07:55 -
Complete Rock Placement
01:44 -
Race Path
08:33 -
Complete Race Path
01:15 -
Boundaries
07:50
(v0.11) Aircraft Area
-
AircraftArea.cs_ Variables
05:31 -
AircraftArea.cs_ AircraftAgents & AircraftAcademy Lookup
04:42 -
AircraftArea.cs_ Instantiate Checkpoints
05:24 -
AircraftArea.cs_ Place Checkpoints Along Race Path
02:35 -
AircraftArea.cs_ Reset Agent Position Function
02:54 -
AircraftArea.cs_ Reset Agent Position Continued
05:01 -
Set Up Aircraft Area & Test Checkpoint Instantiation
03:02 -
Rotate.cs for Checkpoints & Propeller
06:56
(v1.0) Aircraft Area
-
Variables
05:30 -
Awake() & Start()
08:38 -
ResetAgentPosition()
10:13 -
Race Condition Fix
04:10 -
AircraftArea Prefab Setup
04:24 -
Rotate.cs
06:28
(v0.11) Aircraft Agent & Aircraft Player
-
AircraftAgent.cs_ Variables
06:54 -
AircraftAgent.cs_ Add Script Rigidbody TrailRenderer to Prefab
03:40 -
AircraftAgent.cs_ AgentAction()
05:23 -
AircraftAgent.cs_ AgentAction() + ProcessMovement()
07:25 -
AircraftAgent.cs_ ProcessMovement() Continued
06:38 -
AircraftAgent.cs_ ProcessMovement() Completed
01:46 -
AircraftPlayer.cs & Input System
03:27 -
AircraftPlayer.cs_ Variables
01:36 -
AircraftPlayer.cs_ Process Inputs
08:29 -
AirplanePlayer Prefab Input Bindings & Aircraft Academy
10:15 -
Behavior Parameters
04:07 -
Follow Camera & Playtesting
03:41 -
AircraftAgent.cs_ More Variables
03:00 -
AircraftAgent.cs_ Even More Variables
02:31 -
AircraftAgent.cs_ Explosions Ray Perception & Max Step
06:30 -
AircraftAgent.cs_ Training Logic in AgentAction()
07:22 -
AircraftAgent.cs_ VectorToNextCheckpoint() & GotCheckpoint()
04:20 -
AircraftAgent.cs_ AgentReset() FreezeAgent() & ThawAgent()
04:36 -
AircraftAgent.cs_ OnTriggerEnter() for Checkpoints
03:27 -
AircraftAgent.cs_ OnCollisionEnter() & ExplosionReset()
07:34 -
AircraftAgent.cs_ CollectObservations()
05:24 -
AircraftAgent.cs_ RayPerception Observations Visualization
01:47 -
AircraftAgent.cs_ RayPerception Observations Code
07:06
(v1.0) Aircraft Agent & Aircraft Player
-
AircraftAgent.cs_ Variables
06:42 -
AircraftAgent.cs_ Initialize()
04:47 -
AircraftAgent.cs_ OnActionReceived()
06:17 -
AircraftAgent.cs_ ProcessMovement()
11:16 -
AircraftPlayer.cs_ Input System & Variables
07:17 -
AircraftPlayer.cs_ Heuristic()
06:26 -
AircraftPlayer.cs_ Airplane Prefab Setup
06:41 -
AircraftPlayer_ Input Bindings
04:04 -
AircraftPlayer.cs_ Follow Camera DecisionRequester & Test Flight
09:26 -
AircraftAgent.cs_ More Variables
05:08 -
AircraftAgent.cs_ Training Logic in Initialize() & OnActionReceived()
07:01 -
AircraftAgent.cs_ VectorToNextCheckpoint()
03:17 -
AircraftAgent.cs_ GotCheckpoint()
02:05 -
AircraftAgent.cs_ OnEpisodeBegin()
04:32 -
AircraftAgent.cs_ Freeze() & Thaw()
02:31 -
AircraftAgent.cs_ OnTriggerEnter()
03:11 -
AircraftAgent.cs_ OnCollisionEnter & ExplosionReset()
06:05 -
AircraftAgent.cs_ CollectObservations() & Heuristic()
07:44 -
AircraftAgent_ RayPerceptionSensor3D & AircraftAgent Components
06:36 -
AircraftAgent_ Behavior Parameters AircraftAgent & Explosion
08:24
(v0.11) Training the Aircraft Agents
-
Introduction
00:46 -
New Training Scene
00:55 -
Create Learning Agents
08:52 -
Academy & Prepare Four Copies of Area
04:12 -
Turn On Training Mode
00:38 -
Error if Reset Parameters are Not Set
03:16 -
Training Config Files
05:47 -
Config_ trainer_config.yaml
04:35 -
Curriculum_ AircraftLearning.json
09:25 -
Start Training with Anaconda
05:59 -
More About Training
01:54 -
Tensorboard
06:13 -
Aircraft Inference with a .nn File
05:35 -
Resume Training
02:35 -
Resuming Training Restarts Curriculum & Hard Inference
04:12
(v1.0) Training the Aircraft Agents
-
New Training Scene
04:24 -
Config Files
08:36 -
Start Training
06:19 -
Tensorboard & Training Progress
03:50 -
Training Results
03:40 -
Introducing Randomness
04:42 -
Race Your ML-Agents
07:12
(v1.0 & v0.11) Game Logic & Menus
-
Introduction
00:48 -
GameManager.cs_ Enums & StateChangeHandler
02:49 -
GameManager.cs_ Accessors & Singleton Logic
05:32 -
GameManager.cs_ Level Loading Logic
04:01 -
Main Menu Scene + Layout
04:47 -
Main Menu Content
07:13 -
MainMenuController.cs_ Variables & Dropdown Lists
06:01 -
MainMenuController.cs_ Interaction Logic
03:11 -
MainMenuController.cs_ Hook Up UI Build Manager & Game Manager
05:20 -
Create RaceManager & Other UI Scripts
04:09 -
RaceManager.cs_ Variables & Hook Ups
04:22 -
RaceManager.cs_ More Variables & Accessors
09:29 -
RaceManager.cs_ Awake() & Start()
05:10 -
RaceManager.cs_ Start() Continued
04:25 -
RaceManager.cs_ OnStateChange()
04:37 -
RaceManager.cs_ StartRace()
04:28 -
RaceManager.cs_ PauseInputPerformed()
01:20 -
RaceManager.cs_ FixedUpdate()
09:18 -
RaceManager.cs_ PlaceComparer()
06:07 -
RaceManager.cs_ GetAgentCheckpoint()
01:13 -
RaceManager.cs_ OnDestroy() GetAgentLap() GetAgentPlace()
07:17 -
RaceManager.cs_ GetAgentTime()
00:54 -
Heads Up Display UI
05:16 -
HUD Checkpoint Indicator
02:43 -
HUDController.cs_ Variables
05:14 -
HUDController.cs_ UI Update Functions
10:33 -
HUDController.cs_ Hook Up to UI
01:20 -
Pause Menu
01:26 -
PauseMenuController.cs
04:06 -
Countdown UI & CountdownUIController.cs
04:39 -
Gameover Screen & GameoverUI.cs
05:52 -
Play Testing
05:12 -
Pause Button Bugfix
00:45 -
RaceManager Prefab
01:26 -
Adding Randomness
06:01 -
Post Processing
06:40 -
Making the Main Menu More Interesting
04:28 -
Creating a Snow Scene
04:00 -
Flying in Snow
03:46 -
Adding Water Rocks & Updating the Race Path
06:49 -
Complete Snow Level & Add Snow to Levels List
04:26 -
Fixing Snow Level Loading Bug
03:03 -
Build & Play Complete Game
04:22
Earn a certificate
Add this certificate to your resume to demonstrate your skills & increase your chances of getting noticed.
Student Ratings & Reviews
No Review Yet