My plan is to start from an really old game and build my way up to todays graphics and games. So for example start with Pong and then go to Space Invaders, then go to Zelda and Super Mario. But then I need to make the first 2D games change into 3D games. How do I do that?
That's easy. Just program your game with the z-axis aligned to to the camera forward direction. Set z=0. Everything appears flat, or 2D.
Skew the axis a bit to reveal the world is actually 3d
So in short, to make a 2D game appear 3D, it has to be 3D in the first place. You cleverly draw the 3D scene to make it appear 2D. Then later you can change the camera angles to show it is really 3D.
I have messed a bit with Unity and XNA both of which force you to develop in a 3D environment, even when making 2D games. In order to do this you need to ignore the 'Z' axis and just focus on 'X' and 'Y'. If you're looking on how to make a 2D game, there are several tutorials out there that aren't hard to find.
To transition from a 2D to a 3D game could mean several different things. You could go from traditional 2D side scroller (original mario) to 3D adventure (super mario 64) to 3D side scroller (splosion man) (its more like a 2D sidescroller with 3D textures) so you need to know what kind of 3D game you want to make.
If you want to make a 3D side scroller then just change objects from 2D objects to 3D and TADAA you're pretty much done. However, if you are wanting to go from 2D to 3D adventure, I would suggest the advice of @bobobobo (Master of Fist of the Nose Hair).
I would definitely learn how to make 2D and 3D games separately first THEN learn how to transition since you would know more about both.