Start off by making lots of little programs. Trust me, when being guided by book, everything feels easy, but when you have to make a program by yourself, that is what challenges you. Making something like a Roulette where you can place bets and a random number generator determines if the ball rolled into your place. Or maybe a mini dictionary where you can place entries and descriptions for words, export them to a file, load the file, and the read the entry -- that would give you a good grasp with arrays/vectors, data types, file i/o, classes, etc.
When you know you have a good grasp on the basic concepts, THEN move on to either text based gaming or 2d stuff. Pick OpenGL or SDL, it doesn't matter, both have lots of support, but SDL is a bit easier. From there it is all up to you.
What sets a basic programmer from an expert programmer is how well they understand and implement the basics. You already know the layout of C++, now you have to explore the nooks and crannies in the floorboard. good luck