
PINBALL
At the start of my final year my fellow students and I were tasked to do a physics simulation done in C++. I always was wary of doing things in C++ since I know more in C# than I do the other.
For the this task, I did a pinball game. A rather incomplete one at that, since it does not include a scoring system whenever the ball hits the bumpers. You don't even get to have lives for the game and the ball does not get destroyed when it gets past the paddles.
In order to mitigate this problem, I had the player press 'R' to restart the game. I only wanted to show off the physics that I implemented in the game of course. So in the end, it's more about showing off physics that was implemented in the code and translated visually rather than it being an actual game.
Here is a quick video demonstrating how the pinball 'game' works:

Pinball Sim
With the help of AIE bootstrap, I was able to draw the images onto the screen. This helped immensely in developing the project as it added a visual aspect to the pinball game.
The next leap was trying to figure out how the springs worked, as you could see in the video they're the lines that hold specific objects in place. The objects in the game such as the round and rectangle bumpers are all kinematic, therefore they're fixed in place. But the paddles and the spring aren't since they're needed to keep the ball moving.
Showing how the spring code works and how it was implemented:

Spring Code
I tweaked and tinkered around with the springs so much that I managed to get the springboard for the ball at the start work similarly to that of an actual pinball machine, that one I'm really happy about. The paddles, I can't do anything else but have two springs supporting them to make them work closely like paddles.
In the end, I did like the end result of the project. It's close to a pinball game than what I thought I could do. It's really nice going back into physics and doing it more properly and applying them to tasks such as this. One of the challenging parts of this was making the rigid bodies for the objects as well, because unlike Unity where it's already made here we had to code it manually.
Although I wish I added in the more proper elements to make it look and feel more like a pinball game.