I have a couple of questions for you:
Have you ever programmed anything before? And if you have, what language are you familiar with? (VB, C, C++, C#)
While this is a touchy subject, I can still garantee you that the best language I know of right now to program 3D games in is C/C++. C# us MS's way of merging the .NET framework into C++ so you might as well not even bother with it unless your doing extensive work with internet programs and VB is just too slow and bulky to properly run 3D games.
If you've never touched C/C++ in your life... well, your best bet is to go out there and get a book on C++. You can't really dabble too much into 3D programming without at least knowing the more advanced points in C++.
Additionally, 3D programming is yet ANOTHER huge subject after learning the language. If you want to create a 3D game from scratch, expect to be spending a few years learning how to work with 3D API's (e.g., OpenGL and/or DirectX), decide which one is better for you and go in that direction.
After that, you'll probably be spending another couple of years creating your game engine. It's not easy... especially with the 3D rendering and scene management.
A better approach (and the one I suggested to my room mate) is to find a decent game engine and use that to create your game. The Torque engine seems to be decent enough (he ran out and got a book based on that engine and it suprised me) and you might be able to do some good work with it.
Or, if you'd like to take the path I did with OP3, download the Ogre3D source code use that for your video systems and then build your game engine around that. (it's a little more involved than what I just stated but it's garanteed to take at least 2 years off your development time).
I guess the short version is this: While programming games can be rewarding in its own right, expect to be spending a good bit of time learning how to work with things. It tough but it's not impossible either.