In my first year at University, we needed to create a 2D game for the first semester. Most students developed on top of a pre-made Pac-Man framework, but I instead opted to create my own game.
This was the first real game that I had created in C++ from the ground up (Although it did use the S2D library provided by the University). It taught me a lot of valuable skills such as:
• User Input
• 2D Collision Detection
• 2D Sprite Animation
• Integrating Sound Assets on Events
• Interaction with the Player and Game Objects
• Basic Pixel Art Techniques