"Universal Pong" is an ambitious personal project dedicated to recreating the timeless classic, Pong, across a multitude of programming languages. The primary goal is to explore the unique characteristics, libraries, and development paradigms of each language while building a functional and faithful rendition of the game. This repository serves as a central hub for all the different language implementations, showcasing the versatility and power of various programming ecosystems.
This project is currently under active development. As of now, implementations for Java, Python, and JavaScript are in progress or completed. More languages will be added as the project evolves.
This section outlines the specific technologies and libraries used for each language implementation.
Directory: Java/
Description: The Java version of Pong is built using LibGDX, a powerful and versatile cross-platform game development framework. This allows for a robust and performant game built to run on desktop platforms.
Key Technologies:
- Java Development Kit (JDK): Version 17+ recommended.
- LibGDX: A cross-platform game development framework providing functionalities for graphics, audio, input, and more.
- Gradle: For build automation and dependency management, which is the standard build tool for LibGDX projects.
Directory: Python/
Description: The Python implementation focuses on simplicity, utilizing the Pygame library. Pygame provides a comprehensive set of modules for handling graphics, sound, input, and other essential game development functionalities, making it ideal for creating 2D games like Pong.
Key Technologies:
- Python: Version 3.8+ recommended.
- Pygame: A set of Python modules designed for writing video games, providing robust functionalities for graphics, sound, and input handling.
Directory: JavaScript/
Description: The JavaScript implementation is syntactically/logically very similar to the java implementation, with the appropriate work-arounds to compensate for missing libraries and for HTML web page integration.
Key Technologies:
- HTML (Hyper-Text Markup Language) Frontend display.
- JavaScript: Backend script logic.
Instructions on how to set up and run each language's version of Pong are included in respective README.md files found in each implementation's folder.
Controls: Up Arrow Key -> player moves up; Down Arrow Key -> player moves down
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or inquiries, please open an issue in this repository or contact contact@cameronstorer.com.