I started this C++ project in my CAE Software Development class. It simulates and renders the motion and collisions of the balls within the simulation. In real time, users can add or delete balls, change their physical properties, impart velocity by clicking and dragging, and also chain-link them together.
While working on this project, I was able to grasp that no matter how complicated a project is, it can be broken down into increasingly more granular components until you get to a level that you can manage. Then you just build that one component, combine it with another, and soon enough you have the full project complete. I also learned how valuable automated unit testing is, and how it can be used to drive a project forward rather than to slow it down.
The source code is available on my GitHub: github.com/Lukrative525/BounceÂ