Writing 3D games generally involves working with a 3D engine, such as JMonkeyEngine in Java or Ogre in C/C++. The engine provides the 3D rendering capability along with a whole lot of other complex algorithms, such as lighting, texturing, physics, 3D sounds, etc. Some engines provide more features than others. You'll have to consider them all and pick the one that feels the best for you.
However, that's not all you need. You'll also need a 3D modelling program for creating your 3D meshes, which get imported into your game and rendered by the engine. Blender is one example of a 3D modelling program.
Games typically aren't written by a single developer. You'll usually have a team consisting of programmers, 3D modelers and animators, graphic artists, sound design engineers, composers, and many more. I would recommend you begin by learning how to program with a 3D engine, and write a few sample programs, such as rendering a 3D cube, or basic walking around an empty room. As you get better, you'll be able to write more sophisticated programs and games. And keep your eyes peeled for other people with talents who can help you with your plan.
Absolutely spot on advice. It takes a symphony to create a game.