I hope this i'snt a stupid question but, the question has been bugging me. As I've learned more about programming I've kind of got a better idea. The whole reason I started programming was to make games sometime once I get better at it.But theres still some things I want to know. Like how do you take the 3d models that you made into the game(do they get loaded when you start the game?)how does all the pieces come together to make a game. I know you use a scripting langauge like lua in it but I dont know exactly why they use it. Hopefully someone that has made a real game or been part of a development team can shed some light on this issue...
You can use almost any 3D design program to create your models, such as Blender 3D.
The difficulty comes in how complex you are willing to work with importing the models. If you use a simple Wavefront .OBJ file format, then you can get along pretty nicely to begin with.
It takes some effort to do 3D programming. You might want to peruse (and do the example programs) over at Nehe productions. Get familiar with OpenGL (or DirectX, if that is your direction).
Ok I think I'll Jump into Direct x. It might be a stupid thing to try and learn it but I'm up for the challenge and I don't care how long it takes me to learn it. I am awful at art so maybe I'll find one of my friends to use blender.
Uh... Most implementations of OpenGL are proprietary. AFAIK the only one that isn't is Mesa 3D.
I think the only way you could say OpenGL is more open than DirectX is that its specification is controlled by a consortium, while DX's is controlled by Microsoft.
I currently use both in my projects (different projects) and I don't think one is superior to the other. The big difference I see is DirectX is a bit convaluted compared to OpenGL but they both really accomplish the same thing. I tend to lean toward Direct X because I simply don't care about Mac users :P.
And GNU/Linux users. And Solaris users. And FreeBSD users. And more GNU/Linux users.
If DirectX is more convoluted, and neither is superior in other aspects, then why not give support to those other platforms, whose users would love you because they get to run a 3D GAME without WINE?
@Albatross
The question was: "why not ..."
The answer was: "because it is in the project requirements"
If your requirements specify Windows/Direct3D-specific technologies, then you need to use Direct3D.
Every project has a "requirements" sheet, specifying exactly what is to be accomplished. You'd know that if you had studied software development.