This project is an implementation of the classic Snake game using Reinforcement Learning (RL) techniques. The game is played by a RL agent that learns to control the snake to maximize its score while avoiding collisions with walls and itself. PyTorch is used for RL training, and Pygame is employed for the graphical interface.
-
Reinforcement Learning Agent: The Snake game is played by an RL agent that learns and improves its strategy over time.
-
Game Environment: The game environment is implemented with a customizable game board size and various difficulty levels.
-
Scoring: The player (RL agent) earns points for each piece of food eaten. The objective is to achieve the highest score possible.
-
Game Over: The game ends when the snake collides with the wall or itself. The agent can play multiple episodes to improve its performance.
-
Training: The RL agent can be trained using various RL algorithms such as Q-learning, Deep Q-Networks (DQN), or other suitable techniques.
-
Customizable Settings: You can adjust game parameters like board size, speed, and the RL algorithm used for training.