Quick question: I've been in the web-dev world for several years now, I've wrapped my head around Java, Python, PHP, C# and Ruby- and currently make my living as a C#.NET programmer and I want to learn game development for real, no "build your own 2d sprite game over 14 days"-bs, the real deal. Where do I start? learning C? learning C++? Assembler? I've tried searching the net but most things I find is just tutorials of the "build something quick but don't really learn anything"-type.
I am well aware that this is a huge endeavor, yes - but my current realm of problems (the web side of things) is not giving me anymore challenges, or at least challenges that can't be answered by five minutes of searching on google or a question on stack overflow. I need to teach myself something, anyway: My long term goal (several years) is to build a simple 3d engine and create a simple game within it.
So where do I start? I know basically nothing about gaming programing, I've done my fair share of threading and networking in both python and java, but I know nothing of graphics or sound programming, Direct X, OpenGL, etc. and I'm pretty lost on what platform (Windows/Linux) to start, which language to teach myself, etc.
I suppose a long term pipe dream would be to get employed as a network programmer or graphics programmer at a game development company, but I'm aware that is many, many, many years away.
Right now I'm looking for advice on this:
- What language should I learn? C or C++?
- Books I should read
- Subjects to focus on
And let me repeat, I'm aware of how huge this is - but I need to learn, or I get boored.