Made 3D games, but not 2D!? Hah! Indeed, that is something to laugh about. However, you're forcing me to assume that you used a 3D game building package which entailed very little "real" programming (and I'm not talking about a pre-packaged library, but an actual game building toolset). If that's the case, then you shouldn't say that you've made some 3D games - you only used some tools to create the resources (pictures, sons, scripts, etc.) that are used by the game engine. Anyway, explaining how to build a game engine isn't trivial - people have written entire books (most are around 1200 pages, yet some are 2500 pages plus). I recommend you buy a book which teaches you how to use the C++ programming language. Then, once you've completed that book, buy a book on game programming for C++. Good luck.
- Jesse Towner