What does it takes to program a really complex 3D games?

So I'm a beginner coder/developer if I success at coding. I wanted to learn how to create complex 3D games like Minecraft, Call of Duty, or other games like AQ3D. So any programs out their is good enough to make these games? I have a coding class at my school and going to school in 1 week. So the title is my question and my second question is What does it needs to create a really complex 3D games?

Takes tons of people and millions of dollars for call of duty. Minecraft probably less. I don't really know what exact programming software people use. They don't always code from the ground up new engines for each new game. There are game engines like udk and unity companies use to make games.

Well, if you don't want to spend almost a life time creating it you need a team. Minecraft being the exception but compared with other 3D games it isn't that complex, in art or code.
A game like COD though has a good 100 man team stretching across many departments to bring together a final product. Even in those large teams in takes years and years to finish. So one person on a complex game like COD would take a life time.

Industry standard programs you'd need (or at least want) would be:
Adobe Photoshop, Illustrator and In Design for creating things like the textures for the models, user interfaces, logo's or anything 2D.
Adobe Audition for creating music and sound effects (plus the hardware requirements for recording sound)
A 3D modelling program for creating 3D models, 3D animations and texturing like Blender (which is free) 3DS MAX (Free for students). There are a lot of the 3D modelling programs which are slightly tweaked to be better at certain things then others. Blender gets a lot of criticism on the account of it being completely free. But in my experience Blender is up to par with any of them and in some respects better and more universal in things like file formatting then the ones that will cost hundreds to thousands.
Finally you need game engine, i believe the Unreal Engine was recently made free so i'd recommend that for a 3D game, as you're probably aware that engine gets used a lot for professionally made games already.
In the game engine is where you import your models and animations, sounds, music etc.
Code is written in the game engine, i mean you could write it anywhere and copy and paste but yea there arn't programs for writing code, that's pretty much what the engine. The thing that brings art to life, with code.
C++, Java and Action Script 3 are probably the main programming languages used in games. AS3 more so for 2D.

Really though, if you're a beginner to all this i'd recommend you start a lot smaller.
Like a 2D Flash/Mobile game, a side scroller or something. It's much easier, but still hard work then can span into years still.
If you did want to consider that i'd recommend the Stencyl engine, it's free and in my opinion better then Game Maker (it's rival). It's pretty simple to use and learn and great if you don't really know how to code.

Learn just plain C first

There are two parts to a serious 3 game.

You need a "Game engine" to interpret the 3D data files and render the scene, plus performing player movements, interactions, weapons etc.

The game engine will typically be written in C / C++ and very highly optimised - when you are scanning through scene data thousands or millions of times per second, tiny improvements can translate to major changes in framerate or image quality.

You then need the actual game graphics data for all the areas, objects, animations and so on.

The same game engine may be used for many different games.

For a good starting point, grab the source code for "Doom 3" - that (and the older id games engines) are freely available; id Software release the source code to older "generations" of their game engine as they update it.

Get them here:
https://github.com/...d-Software

Try Unity3D.