Reinforcement Learning: AI Flight with Unity ML-Agents
What you'll 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
- Intermediate programming skills (Unity uses C#)
- A computer that can run Unity 2019.2 or above
- Basic Unity skills (how to navigate and use the interface)
- Optional: Basic Blender skills (how to navigate and use the interface)
- Optional: Prior Machine Learning experience - It will help with understanding, but isn't necessary
Interested in the intersection of video games and artificial intelligence? If so, you will love Unity ML-Agents.
Reinforcement Learning with ML-Agents is naturally more intuitive than other machine learning approaches because you can watch your neural network learn in a real-time 3d environment based on rewards for good behavior. It's more fun because you can easily apply it to your own video game ideas rather than working with simplified example problems in a library like OpenAI Gym.
In this course, we will create a complete game with incredibly challenging AI opponents.
We'll start with an introduction to ML-Agents, including how to use and train the example content.
Then, we'll use Blender to make custom assets for our game (you can skip that part if you just want to code).
Next, we'll create a full environment for the airplane agents and train them to fly through checkpoints without crashing into obstacles.
Finally, we'll take our trained agents and build a full game around them that you can play, including menus for level and difficulty selection.
Important note 1: We DO NOT cover the foundations of deep learning or reinforcement learning in this course. We will focus on how to use ML-Agents, which abstracts the hard stuff and allows us to focus on building our training environment and crafting rewards.
Important note 2: While the course was originally recorded with ML-Agents version 0.11, we have updated it for version 1.0.
As you work through the course, you'll have plenty of opportunities to customize it and make it your own. At the end, you'll have a complete game that you can share with friends, add to your portfolio, or sell on a game marketplace.
Who this course is for:
- Intermediate software developers with an interest in AI in the Unity3d Game Engine
- Developers that want to use Reinforcement Learning, but don't need to know the low level details
- Game developers interested in adding neural network AI to their games
Hey! I’m Adam Kelly. As I see it, artificial intelligence, 3d simulations, virtual reality, and augmented reality are going to change the world in ways we can only imagine. I’m committed to learning all about them by doing practical projects that solve real world problems and sharing what I learn along the way. I have a degree in Computer Science from the University of Michigan and almost a decade of professional development experience, including as a Software Engineer at Microsoft and General Motors. Let's learn together! :)