There are really involved game making libraries for C++ that can do damn near anything. (One in particular I'm thinking of, but can't remember what it's called.) It could save and load data from special archives, it had it's own rendering systems that are higher level than DirectX (Because DirectX is not exactly the most fun thing to program with) along with a veritable fuckload of other capabilities. It blew my mind. You basically had to figure out what sort of game you were making, design the graphics, and write the back end (mechanics, character movement, all that) and the rest of the game basically wrote itself.