   Just wondering!
  Hello, everyone! I'm new here! I joined this site cause I was interested in making games! (aren't we all :P )...Now to my wondering (as the title suggests)..I have a somewhat good C++ knowledge. It's mainly in Console programs. I know almost about everything when it comes to console programs, like, classes, inheritance, overloading, pointers, lists, linked-lists, etc etc...But when it comes to WINAPI, I'm clueless! I just found a tutorial and learned how to show a window!Now, I'm interested in making 3D games, so I downloaded some books about the subject, those include, "Beginning 3D Game Programming By Tom Miller", "Introduction to 3D Game Programming with DirectX 9.0 By Frank D. Luna" and "Programming Role Playing Games With DirectX, Second Edition".....The first book I found to be very tiring! As I was following the tutorial, he instructed to add a constructor which he didn't make a class for! Just outta the blue, add a constructor! Where, when... I don't know :(So, bottom line is, how the hell can I truly begin learning to 3D game program when most books are either faulty-coded and/or outdated!!!!I really liked "Programming Role Playing Games With DirectX, Second Edition", but it was using DX9 2004 SDK ( judging by the book release date)... I'm using the november 2007 SDK! So, alot of code is outdated! I can't correct it cause I don't know the first thing about DX programming!!Thx for baring with my mumblings! :D   
  3D is a big step straight from console games. Get something done in 2D, or you'll miss a lot of important concepts that won't be explained in 3D books.Take it in small steps, tick them off a list:1) Once you get a DirectX window up and ready, see about loading and drawing a sprite2) Make the sprite move using DirectInput3) Adjust it to allow for transparency4) Add some text5) Add another sprite6) Do some basic box collision detectionPut all of the above together, and there's a whole slew of basic games you can move onto. Start with Pong, maybe look into game states to allow for a main menu, game state, high scores table and credits section. Move onto Breakout - it's the same principle as Pong, just a little more work.Make sure you FINISH each small game you start, however trivial it might seem to you. Polished games look good on a portfolio, and get you into the habit of finishing what you start. There's also tiny details that you'll get practice at, like loading and saving the high scores table to file, etc, and not to mention the extra bugs you'll discover the more you add the fine tuning to the game.Then, get a little more complicated - Tetris? Frozen Bubble? A simple dungeon RPG? Get creative, make lots of games, it's good practice.Now... about time for some 3D? You won't believe how easy some of the 3D basics will appear to be after achieving all the above.Good luck!;  Thx man! I'll try and do as you say! I sure didn't wish to go as slow as you're suggesting, but the way you put it makes it seems very important. If you got any resources about 2D or sprites, I'd appreciate it :D   