Show support:
Star 🌟 the Project:
Follow 🤝 on GitHub:
Made by maxrohowsky
This is the Chrome Dinosaur Game using NEAT and Pygame written in Python. NEAT stands for neuro evolution of augmenting topologies and is a genetic algorithm that creates artificial neural networks.
In this project, NEAT is used to train an AI to play the Chrome Dinosaur Game. The Chrome Dinosaur Game is a simple infinite runner where the player has to jump over cacti and avoid birds. The game gets progressively harder as the player's score increases. See how far your AI can run!
- Python A.I. Tutorial (with NEAT) - Part 1 - Setup & Display Dinosaur
- Python A.I. Tutorial (with NEAT) - Part 2 - Finishing the Game
- Python A.I. Tutorial (with NEAT) - Part 3 - Adding the A.I.
- Python A.I. Tutorial (with NEAT) - Part 4 - Final Touches
Requirements: You must have Python installed and preferably a code editor like PyCharm.
- Clone the repository
- In the terminal, navigate to the directory where the repository was cloned, e.g.,
C:\Users\Max\PycharmProjects\neat-chrome-dinosaur
- Create a virtual environment, activate it, and install pygame by running the following commands in the terminal:
python -m venv venv #This creates a virtual environment venv\Scripts\activate #This activates the virtual environment pip install -r requirements.txt #This installs the required libraries
- Run the game by running the following command in the terminal:
python main.py
Note on PyCharm: Often PyCharm detects the requirements and asks you to install them and create a virtual env.
- You don't need to control the dinosaur. The AI will do that for you :)
- pygame: Pygame is a cross-platform set of Python modules designed for writing video games.
- NEAT: NEAT is a method developed by Kenneth O. Stanley for evolving arbitrary neural networks.
- How to Open GitHub Projects in PyCharm? Explained Here
- How to use Virtual Environments? Explained Here
- How to install PyCharm and Python? Explained Here
- How to set PyCharm Config. and Interpreter? Explained Here
Feel free to reach out to me on Twitter if you have any questions or feedback! Hope you find this useful!