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.
- 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