One of the best way to learn something is to start using it. Here is the list of some “do it your self” project that are built using C++ , you can use it as a source of reference:
Build your own 3D Renderer
- C++: Introduction to Ray Tracing: a Simple Method for Creating 3D Images
- C++: How OpenGL works: software rendering in 500 lines of code
- C++: Raycasting engine of Wolfenstein 3D
- C++: Physically Based Rendering:From Theory To Implementation
- C++: Rasterization: a Practical Implementation
Build your own Database
Build your own Emulator / Virtual Machine
- C++: How to write an emulator (CHIP-8 interpreter)
- C++: Emulation tutorial (CHIP-8 interpreter)
- C++: Emulation tutorial (GameBoy emulator)
- C++: Emulation tutorial (Master System emulator)
Build your own Game
- C++: Breakout
- C++: Beginning Game Programming v2.0
- C++: Tetris tutorial in C++ platform independent focused in game logic for beginners
- C++: Remaking Cavestory in C++
- C++: Reconstructing Cave Story
- C++: Space Invaders from Scratch
Build your own Operating System
Build your own Physics Engine
- C++: Game physics series by Allen Chou
- C++: How to Create a Custom Physics Engine
- C++: 3D Physics Engine Tutorial
- C++: Let’s Make a Voxel Engine