: I am just starting out as a game programmer and I am taking AP comp sci at my high school, but now i am making a game and i dont know where to start. I know the basics of programming in c++ but i dont know what to do about graphics especially and also how to do a simple multiplayer game. I was hoping to make a bomberman clone...so any help will be greatly appreciated.
Well, the way I see it you've got to make a decision first, as far as graphics go. Do you want a game that looks standard and runs on almost any card, or do you want to make a game for gamers that looks TOTALLY awesome? This also includes the "how much headache and time can I spend on this project" question.
DirectX is great for insuring stability on a wide range of video cards, but doesn't run as fast as OpenGL/OpenAL, and it isn't quite as pretty. On top of this, it is a pain in the rump to learn.
Now, OpenGL is faster by far, and much easier to pick up (you could pick up on it and have a full rendered and dynamically lit world in about four to six hours). The only downside to GL is that it won't run on video cards that are not OpenGL-compliant. It will run on cards that are compliant, even if they're not 100% compliant, such as most ATI cards. Running GL on these cards may just cause a minor problem like the gamma not adjusting properly and making the game dark, or it could be as big as seeing through polygons (I knew somebody who bought an ATI to run Infiltration in GL mode so he could see through walls and get mass kills).
The choice is totally up to you. OpenGL can run on any OS out there (MacOS, Windows, Linux, Unix, etc) while DX is M$ only, which means Windoze. This means that if for some reason you wanted to pick up C++ in Linux/Unix as well (I code C/C++ on Win and Linux), you could port your game for Linux/X-Win users if you choose GL! As for my personal experience, I spent over a month playing with DX and stumbling horribly. It's backwards from Glide, GL, AL, and regular software in many aspects and it slowed my learning down. I then spent four or five hours reading up on GL and wound-up with a 3D engine that same day with textures and lighting. Now if only I could figure out collision-detection!
<=--This is where I learned
That's the only DX site I can think of, but I know there are others out there. I'm sure I'll get flamed once again for saying GL rocks and is easier to learn, because I have several regulars who are DX-fanatics (hi guys!), but it's my personal opinion, and my friends also had similar problems with DX and went to GL or Glide (don't do Glide, 3dfx is gone now). If you have any more questions or want some help or code examples should you choose the GL route, let me know.