- 12.5 hours on-demand video
- 23 articles
- 44 downloadable resources
- Full lifetime access
- Access on mobile and TV
- Certificate of Completion
Get your team access to 4,000+ top Udemy courses anytime, anywhere.Try Udemy for Business
- Build a genetic algorithm from scratch in C#.
- Build a neural network from scratch in C#.
- Setup and explore the Unity ML-Agents plugin.
- Setup and use Tensorflow to train game characters.
- Apply newfound knowledge of machine learning to integrate contemporary research ideas in the field into their own projects.
- Distill the mathematics and statistic behind machine learning to working program code.
- Use a Proximal Policy Optimisation to train a neural network.
This lecture is a welcome to the course and introduction to the instructor and an overview of the course content.
Genetic Algorithms are one technique classified under the larger umbrella of evolutionary computing. In this domain researchers use biological systems as the basis for designing code. Genetic algorithms are simple in design but are capable of producing extraordinatry learned behaviours.
Modify the single gene example code in the previous lectures and instead of testing for fitness on how long each bot survives, test for distance travelled. The result should be a population that prefer to walk along the beam. They will want to get as far away from their starting position as possible without falling off.
A perceptron is the smallest functioning unit of a neural network. However, by itself it can still produce some stunning results. Development of this fundamental algorithm will introduce students to the nature of neural nets and how they function.
In the real world training a neural network with data gathered from the real world can introduce problems that don't show up in purely academic examples. In these next few videos we will create a simple racing scenario, gather data from the game player's racing and inject this data into a neural networked player to train them to drive the track.
We continue on from the previous lecture by finishing our capture of player data to use in a neural network training set. We will examine a way to normalise and compress the large amount of collected information into something more suitable for a neural network.
This lecture begins our integration of Q-Learning into the existing neural network code. We will examine Q-Learning in this context to train a platform to balance a ball.
- You should be familiar with the Unity Game Engine.
- You should have a working knowledge of C#.
- You should have a healthy appreciation for mathematics and statistics.
What if you could build a character that could learn while it played? Think about the types of gameplay you could develop where the enemies started to outsmart the player. This is what machine learning in games is all about. In this course, we will discover the fascinating world of artificial intelligence beyond the simple stuff and examine the increasingly popular domain of machines that learn to think for themselves.
In this course, Penny introduces the popular machine learning techniques of genetic algorithms and neural networks using her internationally acclaimed teaching style and knowledge from a Ph.D in game character AI and over 25 years experience working with games and computer graphics. In addition she's written two award winning books on games AI and two others best sellers on Unity game development. Throughout the course you will follow along with hands-on workshops designed to teach you about the fundamental machine learning techniques, distilling the mathematics in a way that the topic becomes accessible to the most noob of novices.
Learn how to program and work with:
human player captured training sets
Unity's ML-Agent plugin
Contents and Overview
The course starts with a thorough examination of genetic algorithms that will ease you into one of the simplest machine learning techniques that is capable of extraordinary learning. You'll develop an agent that learns to camouflage, a Flappy Bird inspired application in which the birds learn to make it through a maze and environment-sensing bots that learn to stay on a platform.
Following this, you'll dive right into creating your very own neural network in C# from scratch. With this basic neural network, you will find out how to train behaviour, capture and use human player data to train an agent and teach a bot to drive. In the same section you'll have the Q-learning algorithm explained, before integrating it into your own applications.
By this stage, you'll feel confident with the terminology and techniques used throughout the deep learning community and be ready to tackle Unity's experimental ML-Agents. Together with Tensorflow, you'll be throwing agents in the deep-end and reinforcing their knowledge to stay alive in a variety of game environment scenarios.
By the end of the course, you'll have a well-equipped toolset of basic and solid machine learning algorithms and applications, that will see you able to decipher the latest research publications and integrate the latest developments into your work, while keeping abreast of Unity's ML-Agents as they evolve from experimental to production release.
What students are saying about this course:
Absolutely the best beginner to Advanced course for Neural Networks/ Machine Learning if you are a game developer that uses C# and Unity. BAR NONE x Infinity.
A perfect course with great math examples and demonstration of the TensorFlow power inside Unity. After this course, you will get the strong basic background in the Machine Learning.
The instructor is very engaging and knowledgeable. I started learning from the first lesson and it never stopped. If you are interested in Machine Learning , take this course.
- Anyone wanting to learn about the potential of machine learning in games.
- Anyone wanting a deeper understanding of the algorithms and theories underlying Unity's ML-Agents.
- Anyone wanting to know how to setup and work with ML-Agents.