This was my first Python project that I made. I learned the basics beforehand following py4e. The main project code is inside of PyPongALPHA.py. I also wrapped this project in a Nix flake for future reproduceability, though suprsingly, the latest versions of python and pygame still work for this project, even years after the project's creation.
PyPong has scoring, assets, easter eggs, UI, a settings menu, and a configurable physics system.
The game includes audio, music, sound effects, animations, and 2D assets. Most of the 2D assets were made by me using GIMP. The button animation was made frame-by-frame by me in GIMP. The music, sounds, font, and background were free assets I found online.
Pong Animation
Hover over the "Classic 2P" button in the gamemode selection screen for a few seconds to get a cool animation.Exit Message
Look in stdout after quiting the game. Most of the tme you will get a nice exit message, but there is a small chance you will get a unique and funny exit message instead. There are a small handful of possible messages, if you get lucky. If you want to view all of them, it might be faster to look for the strings inside of the source code instead of launching and quiting the game a bunch.git clone https://github.com/Shringe/PyPong.git
cd PyPongMake sure to be in the CWD while running the program so that it can find necessary assets.
Using the Nix package manager is the recommended method, since it is fully reproduceable.
nix runMake sure to install python3 beforehand.
python3 -m venv venv
source ./venv/bin/activate
pip install pygame
python3 "PyPongALPHA.py"


