Stage 2, learning game programming C++.

Started by
5 comments, last by Josheir 8 years ago

Hello,

I posted a message on June 2015 about what books to read for c++. Frob assisted me with a list of seven or so books. I read this series of books and will reread them again.

I was trying to learn c++ at an intermediate level for game programming.

I now understand smart pointers, lambdas, memory management, templates, exceptions, inheritence, and have read two books on the standard libraries.

Now the next step (I think) is the consideration of : BOOST, DIRECTX, DIRECTX TOOLKIT, SFML, etc.

What is recommended as the best next steps to investing time into my ambition. Are there suggested books to read on these topics and should I use the internet?

Is the smartest next step these considerations or are there different suggestions?

I am looking to prepare myself for working as a game programmer.

Thank you, Frob.

Maybe you'll see this and help me again!

And everyone else thank you too,

Josheir

These are the books I read that were recommended by Frob:

# "Effective C++" Scott Meyers (Lots of things many programmers probably didn't know)
# "More Effective C++" Scott Meyers (More things you probably didn't know)
# "Effective STL" Scott Meyers (Things you probably didn't know about the standard library)
# "Exceptional C++" Herb Sutter (Many fun and exciting edge cases of the language)
# "More Exceptional C++" Herb Sutter (More edge cases)

# "The C++ Standard Library" Nicolai Josuttis (very deep, very technical, very enlightening)

Advertisement

I would install SFML and go through the tutorials in the official website. Then it's time to make some games. You have probably read enough books and need to get some practice.

I agree that working on some (small-ish) projects is the way to go. Study is super important, but it must be paired with actual experience as well.

Also, make sure you don't fall into the trap of trying to memorize API after API - learning to use a library isn't the same as learning to program, and learning 20 different APIs doesn't automatically make you a better programmer. Being a good programmer isn't about what libraries you know how to use, but rather, programming is about learning how to build (and maintain and expand) great programs, regardless of what APIs are in front of you.

APIs and basic language features (like templates, inheritance, etc...) are all "surface level" knowledge. Programming is about building and comprehending complex projects which requires that surface-level knowledge, but is much more than that. You're doing good, but you need to go deeper - and 'deeper' that doesn't mean more of the same.

I would start with SFML, make yourself a simple 2D game, and work from there. I remember when I first started learning to make games, I decided I would be working with DirectX and the Win32 API directly, and wound up wasting a lot of time just getting things to render properly; it deferred my learning of basic game development techniques considerably. SFML will save you a lot of time, you can learn that other stuff later when you already know how to make a game.

Frob assisted me with a list of seven or so books. I read this series of books and will reread them again.

I was trying to learn c++ at an intermediate level for game programming.

I now understand smart pointers, lambdas, memory management, templates, exceptions, inheritence, and have read two books on the standard libraries.
I think you have read enough. Without usage experience though, I doubt your "I understand". Reading about inheritance is very different from deciding in a new class whether you should inherit from some other class or to add that as data member. You need to make coding hours now, imho.

Now the next step (I think) is the consideration of : BOOST, DIRECTX, DIRECTX TOOLKIT, SFML, etc.
Any of those will do. I'd suggest to read http://www.gamedev.net/page/resources/_/technical/game-programming/your-first-step-to-game-development-starts-here-r2976 for some pointers how to proceed.

and should I use the internet?
Sure, it has answers to many questions. Besides, we wouldn't want to deprive you from visiting gamedev :p

However, keep in mind your goal is to learn programming. Copy/pasting code without understanding what it does gives a lot of code really quickly, but at the end of the day, your knowledge level with respect to programming has not risen much. It's much better to invent the code yourself.

Great, thank you all for the advice!

Josheir

This topic is closed to new replies.

Advertisement