Makers onsite final project
Cohort: January 2020
Start: 30/03/2020
End: 09/04/2020
As a team of 4 we designed and built a simple, single player pong game. The game utilises hand tracking, achieved through computer vision, as the primary means of user input. The project was initially completed in 11 days and no member of the team had previous experience with the primary technologies involved.
Build a program that is to be able to recognise
a body part and utilise it as a user input for a game
- clone or fork this repo
- ensure you have both Python and Conda installed and are running the correct version indicated in the Technologies section
- navigate to the root directory of the repo, PongNotPong
- run:
conda env create -f environment.yml
conda activate PongNotPong - to launch the game run
python app.py
Python 3.7.7 Conda 4.8.3 OpenCV
+-- pong_game
| +-- window.py
| +-- paddle.py
| +-- projectile.py
| +-- player.py
| +-- user_in.py
| +-- menu.py
+-- _tracking
| +-- objectTracker.py
| +-- centroidTracker.py
+-- _detection
| +-- model
| +-- deploy.prototxt
+-- _README.md
+-- _environment.yml
If the game was to be developed further the following might be a good place to start:
- Prevent modification of aspect ration while scaling gameplay window
- Prevent projectile projectile entering scoring area when extreme rescaling
- Improve cpu
- Create two player local and or online multiplayer
- Write tests, especially important if the project was to be progressed any significant amount further
- Reintegrate menu functionality. Some unused menu code is in this branch though the code used for a wider range of menu choices is not present in this branch. This should be preferably implemented within main game loop.
