3-d game programming
language-agnostic
Solution
I don't want to be discouraging, but I don't want to lie either. Creating even the simplest 2D game is a major feat. Here are some things you'll probably have to learn, if you're going to code a game on your own :
- General concepts and techniques used in computer graphics.
- Network programming (if applicable)
- Audio programming and Digital Signal Processing theory.
- Linear algebra, trigonometry and geometry branches in mathematics
- AI concepts like fuzzy logic, finite state machines or neural networks.
Not to mention you need a solid background in programming. Most of the bigger game developers use C++, which is a decent choice when performance is of the essence. But one size doesn't fit all. I recommend you look at C++, Python and Java and figure out which one you like to use.
Now, this might come as a disappointment, but it needs to be said. If you're just starting out with programming, you're not going to make a 3D game for a long time. I learned C++ back in 2002 and I still learn new ways to use the programming language. There's a lot of books named Teach yourself programming language X in Y weeks. Don't believe the lie. There is no way one can learn anything that complex within that timespan. What I'm trying to say is, don't be in a hurry! Patience is everything, and there is no such thing as a free lunch.
And when you finally have the knowledge to make a game, start simple. Even coding a Nethack clone which uses ascii art graphics gives you new experience you can extend on. And your first games should be 2D. Working in two dimensions is much simpler, and a lot of the math involved extends nicely to three dimensions when you are ready to advance further.
Problem
what programming language/languages do they use to produce games lik Bioware's Dragon Age Origins and some other 3-d games like Call of Duty? If I would like to do 3d-game programming, where do I start? Are there even simple tutorials for this? I would like to do 3-d game programming for PC games:)