Skip to content

Teach AI To Play Snake - Practical Reinforcement Learning With PyTorch And Pygame

In this Python Reinforcement Learning Tutorial series we teach an AI to play Snake! We build everything from scratch using Pygame and PyTorch.


In this Python Reinforcement Learning Tutorial series we teach an AI to play Snake! We build everything from scratch using Pygame and PyTorch. The tutorial consists of 4 parts:

  • Part 1: I'll show you the project and teach you some basics about Reinforcement Learning and Deep Q Learning. Video Link
  • Part 2: Learn how to setup the environment and implement the Snake game. Video Link
  • Part 3: Implement the agent that controls the game. Video Link
  • Part 4: Implement the neural network to predict the moves and train it. Video Link

The code is available on GitHub.

I hope you enjoy this tutorial!

What is Reinforcment Learning?

Reinforcement learning聽(RL) is an area of聽machine learning聽concerned with how聽software agents聽ought to take聽actions聽in an environment in order to maximize the notion of cumulative reward.

A simpler definition: RL is teaching a software agent how to behave in an environment by telling it how good it鈥檚 doing.

What is Deep Q Learning?

Deep Q Learning extends Reinforcement Learning by using a deep neural network to predict the actions.


FREE VS Code / PyCharm Extensions I Use

鉁 Write cleaner code with Sourcery, instant refactoring suggestions: Link*


PySaaS: The Pure Python SaaS Starter Kit

馃殌 Build a software business faster with pure Python: Link*

* These are affiliate link. By clicking on it you will not have any additional costs. Instead, you will support my project. Thank you! 馃檹