I am a self-taught high school programmer (have an internship at local university), and understand the fundamentals of C++ and other related languages. I am looking to expand into game development, and have found a good DirectX book from which I will study. However, what are some good resources (online tutorials/books/etc) for C++ game programming which are tailored towards someone who is already experienced with C++? Most of the resources I have found attempt to teach basic programming, then get into game development.
There is a clear distinction between design and development. A game designer may have no programming skills, even though it would definitely be helpful.
Concerning game development, which I presume you're interested in, unfortunately there is no silver bullet. It's an issue that has been bothering me for a lot of time. It definitely depends on what you need to do, what you like and how much time you're prepared to invest in gamedev.
What I know is that the best way to learn how to code games is to actually code! There are two wonderful ways to achieve this:
- Start small, and try to build even simple types of games. Brickout and Pacman may sound trivial but they are an awful lot of work!
- Participate in a Libre/FOSS game project. Start studying the code, use paper to write down the basic architecture, and then delve in whatever part interests you most!
In addition, try not to re-invent the wheel and use popular/easy tools and algorithms, don't build everything from scratch, don't over-engineer, don't focus on performance or optimal design.
I'm sure you can find a lot of useful books here in Gamedev.SE and you can easily find interesting resources online.
You must also decide if you want to start with 2D or 3D game development. Of course, you can focus on tools or other parts of the game so graphics won't be an issue.
If you want to try something practical really fast, take a peek here: http://www.lazyfoo.net/SDL_tutorials/
Why don't you check some projects here?
Fit in a big community in order to learn by studying and improving GOOD, WORKING CODE. Simply studying resources and algorithms won't get you too far, as you will soon lose interest.
I found Game Programming AI by Example to be a great reference for fundamental game development concepts. It covers game math, flocking, state machines, lua scripting, advanced data structures, and path finding.