Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/estevesx10/pong-game
Pong Game with AI
https://github.com/estevesx10/pong-game
genetic-algorithm neat-algorithm pong-game
Last synced: 29 days ago
JSON representation
Pong Game with AI
- Host: GitHub
- URL: https://github.com/estevesx10/pong-game
- Owner: EstevesX10
- License: mit
- Created: 2024-07-03T21:00:53.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2024-07-10T17:45:53.000Z (5 months ago)
- Last Synced: 2024-07-10T22:36:40.755Z (5 months ago)
- Topics: genetic-algorithm, neat-algorithm, pong-game
- Language: Python
- Homepage:
- Size: 1.85 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Pong Game
## Project Overview
Pong is a **table tennis-themed arcade sports video game**, featuring simple two-dimensional graphics, originally developed by `Atari`. It was one of the earliest and most **iconic arcade video games**, laying the foundation for the gaming industry.
### Objective
This project aims to faithfully **replicate** the classic Pong game, allowing users to enjoy the nostalgic experience of playing against `another player` or a `trained AI opponent`. The goal is to capture the simplicity and excitement of the **original game** while incorporating modern coding practices and enhancements.
### Game Modes
- **Two-Player Mode:** Challenge a **friend on the same device**, each controlling a paddle on opposite sides of the screen.
- **Single-Player Mode:** Test your skills against a **computer-controlled opponent** [`NEAT Algorithm`].### Development Goals
- **Learning and Applying Pygame:** This project serves as a practical exercise in using the Pygame library to create a functional game.
- **Implementing Core Game Mechanics:** Focus on developing and fine-tuning the physics and controls to ensure an enjoyable gameplay experience.
- **Creating a Nostalgic Experience:** Recreate the charm of the original Pong Game gameplay.## Project Execution
This Project is mainly divided into **2 seperate parts**:
1. Trainning of the **NEAT Algorithm** [Genetic Algorithm]
2. **Main Application** which allows the User to adventure himself inside this Arcade Game### Train AI
In order to properly `train the NEAT Algorithm`, please run the following command on your terminal :
python Train_AI.py
> Keep in mind that it is possible to **modify the configuration file** in order to change the way the Algorithm trains and ultimately performs against other agents / players.
### Run the Application
Finally, to `run the main application` make sure to be inside the correct directory and therefore execute the following command:
python Pong_Game.py
Ultimately here's a `short video` on how the **Application** works and what you might find inside it:
`README.md by Gonçalo Esteves`