Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

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`