Welcome to the Rust-Pong repository! This repository contains a small Pong clone implemented in Rust to demonstrate modular game structure, audio, and simple UI.
To get started with this project:
- Clone the repository:
git clone https://github.com/Vianpyro/Rust-Pong.git cd Rust-Pong - Install the Rust toolchain if you don't already have it: https://rustup.rs/
- Build the project:
cargo build
- Run the game:
cargo run --release
Note
- Sound effect files (sfx) are embedded in the binary, so you don't need to include them when distributing the executable.
- If you encounter platform-specific audio or windowing issues, ensure the required system libraries (for audio/display) are available for your OS.
The repository contains the following directories and files (high level):
assets/- Game assets (sounds, images, etc.)src/- Application source codeaudio/- Audio handlinggame/- Game objects and physics (ball, racket, score)player/- Player and controller codeui/- Menus, HUD, and screensmain.rs- Application entry pointmain_state.rs,debug.rs- Game state and debugging helpers
Cargo.toml- Rust package manifestLICENSE- Project license (see file for terms)
- Rust-based Pong clone demonstrating basic game loop, physics, and UI.
- Modular code organization (audio, game logic, players, UI).
- Lightweight and easy to extend for experimentation or learning.
The code is organized into clear modules under src/. For details, explore the following files and folders:
src/game/— core game logic and physicssrc/audio/— audio playback and resource handlingsrc/ui/— UI screens (menu, HUD, pause, game over)
Expand this readme as the project grows to include contribution guidelines, a development roadmap, and detailed architecture notes.
Contributions are welcome. Suggested workflow:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/your-feature - Make your changes and add tests where applicable.
- Open a pull request to the main repository.
When opening issues or PRs, provide reproduction steps and any relevant logs or OS details.
See the LICENSE file in this repository for license terms.
Happy coding! 🎉