Like Megatron said, start small. There is no better way to get yourself discouraged than to try to write Quake without learning the basics first. C++ is the language of choice, and MSVC++ is the compiler of choice (at the moment). For 3D graphics, DirectX or OpenGL are the current standards. I would stick to one or the other. Most tutorials out there right now deal with OpenGL, but fortunatly, the D3D8 terminology is so similar to OpenGL, that there is no problem converting.

As for C++ taking a few years to learn, i wouldnt say that, unless you are doing it as a side hobby. If you really want to learn it, and work at it at least a few hours a week, it shouldnt take very long, once youve got the basics down. The C++ forum here is a good place to start. For 3d Modelling, I personally use Milkshape 3d, which is a wonderful little piece of software. It has the needed functionality for modelling, without a whole lot of "extras".

To close, id just tell you to start small, and learn as you go along. once you think you know enough about whatever language you are going to use, take a look at DirectX or OpenGL, take some tutorials, learn the basics for those, and then just keep building up and up.

Z.