{"id":21525499,"url":"https://github.com/estevesx10/pong-game","last_synced_at":"2025-07-27T10:37:20.558Z","repository":{"id":247833615,"uuid":"823845960","full_name":"EstevesX10/Pong-Game","owner":"EstevesX10","description":"Pong Game using the NEAT Algorithm","archived":false,"fork":false,"pushed_at":"2024-07-10T17:45:53.000Z","size":1943,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T05:27:08.895Z","etag":null,"topics":["genetic-algorithm","neat-algorithm","pong-game"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/EstevesX10.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-07-03T21:00:53.000Z","updated_at":"2024-08-11T02:53:09.000Z","dependencies_parsed_at":"2024-07-10T22:36:42.480Z","dependency_job_id":"07029caa-5181-4cf3-9512-e4f6216b10cb","html_url":"https://github.com/EstevesX10/Pong-Game","commit_stats":null,"previous_names":["estevesx10/pong-game"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstevesX10%2FPong-Game","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstevesX10%2FPong-Game/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstevesX10%2FPong-Game/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/EstevesX10%2FPong-Game/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/EstevesX10","download_url":"https://codeload.github.com/EstevesX10/Pong-Game/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244085009,"owners_count":20395523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["genetic-algorithm","neat-algorithm","pong-game"],"created_at":"2024-11-24T01:36:11.945Z","updated_at":"2025-07-27T10:37:20.546Z","avatar_url":"https://github.com/EstevesX10.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp\u003e\n\u003cdiv align=\"center\"\u003e\n\n# Pong Game\n\u003c/div\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" width=\"100%\"\u003e\n    \u003cimg src=\"./Pong Game/Assets/Pong_Game.gif\" width=\"50%\" /\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Made%20with-Python-white?style=for-the-badge\u0026logo=Python\u0026logoColor=white\"\u003e\n    \u003c/a\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ca href=\"https://github.com/EstevesX10/Pong-Game/blob/main/LICENSE\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/license/EstevesX10/Pong-Game?style=flat\u0026logo=gitbook\u0026logoColor=white\u0026label=License\u0026color=white\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/repo-size/EstevesX10/Pong-Game?style=flat\u0026logo=googlecloudstorage\u0026logoColor=white\u0026logoSize=auto\u0026label=Repository%20Size\u0026color=white\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"\"\u003e\n        \u003cimg src=\"https://img.shields.io/github/stars/EstevesX10/Pong-Game?style=flat\u0026logo=adafruit\u0026logoColor=white\u0026logoSize=auto\u0026label=Stars\u0026color=white\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/EstevesX10/Pong-Game/blob/main/DEPENDENCIES.md\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/Dependencies-DEPENDENCIES.md-white?style=flat\u0026logo=anaconda\u0026logoColor=white\u0026logoSize=auto\u0026color=white\"\u003e \n    \u003c/a\u003e\n\u003c/div\u003e\n\n## Project Overview\n\nPong 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.\n\n### Objective\n\nThis 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.\n\n### Game Modes\n\n- **Two-Player Mode:** Challenge a **friend on the same device**, each controlling a paddle on opposite sides of the screen.\n- **Single-Player Mode:** Test your skills against a **computer-controlled opponent** [`NEAT Algorithm`].\n\n### Development Goals\n\n- **Learning and Applying Pygame:** This project serves as a practical exercise in using the Pygame library to create a functional game.\n- **Implementing Core Game Mechanics:** Focus on developing and fine-tuning the physics and controls to ensure an enjoyable gameplay experience.\n- **Creating a Nostalgic Experience:** Recreate the charm of the original Pong Game gameplay.\n\n## Project Execution\n\nThis Project is mainly divided into **2 seperate parts**:\n\n1. Trainning of the **NEAT Algorithm** [Genetic Algorithm]\n2. **Main Application** which allows the User to adventure himself inside this Arcade Game\n\n### Train AI\n\nIn order to properly `train the NEAT Algorithm`, please run the following command on your terminal :\n\n    python Train_AI.py\n\n\u003e 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.\n\n### Run the Application\n\nFinally, to `run the main application` make sure to be inside the correct directory and therefore execute the following command:\n\n    python Pong_Game.py\n\nUltimately here's a `short video` on how the **Application** works and what you might find inside it:\n\n\u003cdiv align = \"center\"\u003e\n \u003cvideo src= \"https://github.com/EstevesX10/Pong-Game/assets/103591462/baf9514b-24f0-450b-a09b-f2d33f9b533f\" /\u003e\n\u003c/div\u003e\n\n\u003cbr/\u003e\n\n\u003cdiv align=\"right\"\u003e\n\u003csub\u003e\n\u003c!-- \u003csup\u003e\u003c/sup\u003e --\u003e\n\n`README.md by Gonçalo Esteves`\n\u003c/sub\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Festevesx10%2Fpong-game","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Festevesx10%2Fpong-game","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Festevesx10%2Fpong-game/lists"}