For all intensive purposes here I am going to say I am new to the Programming/Game development scene.
First I will comment on C++. The over all impression I get is that C++ i used widely as a language that you can program games with. I have learned a lot of C++, I''d say enough to program an awesome MUD. I have a book, and now that I am close to finishing, it seems that C++ is pretty damn small! This probably isnt the case, my book probably just sucks. So what I need first is... A) A good book on C++, preferebly a book that encompases ALL of C++.
Second is my progression. Every says, "start small and work up!" This is fine with me, so as a starting game I choose the suggested game, Tetris. As I reflect on the idea in my head and start mentally pseudo coding, I encounter a problem... GRAPHICS!!! I havent the faintest idea where to start with graphics!!! And im not talking vectors and real time 3D, I just want to move a colored box accross my screen!!! From what I understand a good place to start is DirectX. I bought Game Programming with DirectX 8.0, but the supplement CD does not work, and everything is on the supplement CD. So what I need next is... B) Direction on where to turn to start my study of graphics in programming and... C) A good book on DirectX (because I know I will need it.
Over the last week, these three items have eluded me, so I am turning to the wonderful people on this board (who have been more help than the internet, my college professors, and every book store in Maryland combined) Any information at all is apprreciated, and thanks in advance. Im sure ill be up until 6AM tomorrow morning fiddling with my new random number generator so I will get anything you post tonight.
I don''t know if I can help you much. What I did when I had your problem was starting with general windows programming. I had a good book and the Authors version of Microsoft Visual C++. After I learned how to setup an ordinary Windows App, I read through the DirectX SDK manual. That was enough to start making more complex 2D games.
As for moving a colored box about your screen, in DX8 for 2D that boils down to the Draw function.
Thats it. After you setup a Win App and DX you just use the above function to draw your sprites. It only takes your loaded graphic file and the position where you want to draw it. Of course you can do more but thats the basic.
I hope I could help you a bit. It''s 3am here and I''m too tired to think straight. Oh, well. Good luck & good nite. If you need help contact me via ICQ: # 16576480
Humanity''s first sin was faith; the first virtue was doubt
*whew* That''s the first time I''ve heard somebody call C++ small!
Seriously, though. I''ve been doing C++ for only about 6-8 months now and I had a lot of luck with Bruce Eckels'' book "Thinking in C++", vol. 1 & 2. Volume one is free on the web (just do a search for it) so you don''t even have to buy it unless you want to. The other book I''ve used is the Waite Group''s "C++ Primer Plus" published by Sams, I think. That one is good, but it has some buggy source code printed in it, so watch out.
As for the rest, I''ve just started getting into game programming and learned a lot from Teej''s forum here on GameDev.net. His lessons will walk you through the basics and let you grow from there.
Well, I''ll assume that you either now know, or have gotten enough from everbody else to know what books to read, and now know enough to program in c/c++.
I recommend making the following projects, is an order similar to this. I think just about everybody makes clones of most of these games at some point.
1. Pong. The first video game, and probably the first game made by most programmers.
4. Asteroids (the game where you are a ship and fly around shooting rocks)
At this point you''d probably know where you are going, or atleast have an idea of where to go from there. A lot of people tend to them make some sort of tiled rpg, some move on to 2d fighting games, others to other things.
2d is usually easier than 3d (atleast to start with) so I recommend making a couple 2d games after those above, then move on to 3d if you so desire.
I know it sounds like a long time to get to where you want to go, but you will be learning, and it''s not as long as you think. If each of these game takes you two months, then it was two months well spent, as you then learn what you need to do to move on.
Once you are capable of creating high level 3d engines, you will look back on these five games, and be able to write a clone in a couple days, or even a few hours. (I wrote a pong game for a TI-92 on demand for someone in less than one class period (uh.. about 45 min))
Like MightyM said, you will have a lot of luck with Bruce Eckels'' book "Thinking in C++", vol. 1 & 2. I need to make a correction, however. BOTH volumes can be downloaded from the net. You can also download Bruce''s book, "Thinking in Java", if you decide to get into Java as well. These are all available from his site, http://www.bruceeckel.com. Just click on books at the bottom, then worm your way through his site until you find them. As far as the graphics are concerned, I''m in the same boat as you.