3d game
I want to design a 3d game using either opengl or dx9 I have books on both api's. can I get some ideas on what type of 3d game to program.
Phil,
You've barely gotten an incomplete, buggy 2d version of Tetris using glut running, and now you want to make a 3d game? I'll be direct and tell you this is a horrible idea, and I'd again advise you to learn how to program a gameproperly and start with simple 2d games using a simple API (SFML or SDL).
But, I've told you that before and you didn't listen. So go ahead, make Doom 10, a First Person Shooter, with 100 weapons, 100 maps, and it'll be AWESOME!
Would this topic be more appropriate in Game Design?
One would think coming up with the ideas would be the easy part.
Keep in mind, owning a book and reading a book about 3D development...doesn't automatically give you the power of 3D development. You will find bugs that you have never had experience before, and most of your time with development will be fixing those bugs.
Before you make a full on 3D game, make a few practice programs, such as a rotating cube and camera panning demos etc.
Before you jump right into DirectX, try out processing first. The syntax is different but it should help you wrap your head around the concepts and mathematics behind 3D.
so if I should stick with 2d then what should I start with?
This article has a list of some good games to get started with: http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976. And some good advice along the way.
You should probably stick with 2d unless you feel you understand the math fully ( from other posts it seems like you don't ). If you do then you can step up to 3d, however expect that you won't make anything like a real "Game" for some time. You'll have to make small basic demo apps and a lot of them in order to learn certain things.
As far as the openGL/DirectX question. There is 1 major difference between them, openGL is cross platform, while directx is Microsoft platforms only. So if your not on windows you have to use openGL.
If you are working only on windows then you get to choose, I would still suggest openGL but it really doesn't make much difference on windows only programming since the API's have similar features and perform the same tasks.
So I suggest openGL because you will learn an api that you could run anywhere, and also Valve has said openGL runs considerably faster than DirectX, as they ported their Source engine to openGL and it runs better. Plus if microsoft goes belly up DirectX dies with it.