• Advertisement
Sign in to follow this  

Stage 2, learning game programming C++.

This topic is 749 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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)

Edited by Josheir

Share this post


Link to post
Share on other sites
Advertisement

Being a programmer is all about knowing what tools to use for the job, especially in today's time moving forward where there is so much noise in technology, this discipline of knowing the roots of things is more important than ever.  My recommendation, is to learn something by doing something with it, this will uncover more questions to root cause concerns that you will then explore, and what you discover there will be far more valuable than the breadth first search being asked by you.

 

I recently shipped FC Primal, and I didn't know C++ until I had to work on the Dunia engine, from there I've worked with GP teams, designers, AI, UI, and I can definitely say that knowing the roots of C++ is what made me stand out when working with others.  Gaming companies that I've worked with rarely use boost, they rarely use STL also from what I've experienced, however these things are so crucial and you should know them, master them, and promote them as much as possible.

 

Also, ask yourself what part of the game development life-cycle you are interested in, being a GP programmer is a different mindset from engine, or graphics.  

 

P.S:  To add to this, the approach you're taking is more the 'student' approach to things.  It is good to read a book, because there is information in books, whether they be useful information for your needs is something your 'experiment' will prove.  When you boil everything down to the core, you're simply following the Scientific Method, where in your case your're trying to prove your knowledge of game development to yourself.

Edited by d4n1

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement