Survive Line is a game powered by Pygame and Artificial Intelligence, designed as my BSc thesis project. In this game, a ball navigates between two waves where they have random amplitude and the speed between them decreases over time, powered by the latest in AI technology using the N.E.A.T algorithm.
- Dynamic Waves: Experience the changing waves as you play more.
- AI-Driven: The ball is controlled by an AI trained using the N.E.A.T algorithm. It managed to play continuously for 30 min
- High Performance: The game runs at a 120fps providing smooth gameplay.
The game features an AI that can autonomously navigate through the waves without any manual intervention. Below is a video showcasing the AI in action
AI.12.28.mp4
Here's a sneak peek of Survive Line in action:
normalFootage.mp4
- Use right and left arrows controls to navigate away from the waves.
v
Key to show vision lines for the NNb
key to show the ballRect (bonding box for the ball)p
key to show the particles
- Clone this repository:
git clone https://github.com/yourusername/Survive-Line.git
- Navigate to the project directory:
cd Survive-Line
- Install dependencies
pip install -r requirements.txt
- Run the game
python main.py
Contributions to the project are welcome! Please fork the repository and submit pull requests with your proposed changes.
For those interested in the detailed technical and scientific documentation, the thesis is available in LaTeX format.