This is the place to explore the design of the pong game
Decompose the functionality into modules.
This game is going to receive a lot of feature-requests. It must be possible for a team of three or more developers to work simultaneously on new features.
Avoid getting into situations where two developers need to change the same module - even though they are working on different features.
When a client asks for a new feature, we add a new module, without having to change existing modules.
Is your solution able to do that?
Think about the problem in stages. Each stage is in its individual folder.
Open each stage after finishing the earlier one. If you open all at once, you will spoil the suspense!
Stage 0: The Essentials
Stage 1: Add Feature
Stage 2: Expanding user-base
Stage 3: Another Feature