• Advertisement
Sign in to follow this  

Books and resources to learn from ground up

This topic is 1255 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've been interested in game development since being a kid. Back then I played around with game maker, construct, rpg maker hence even tried to learn UDK when it was new. I've also spent some time trying to learn programming, C, Python, Scheme and probably more.


Now a few years later without touching the realm of game development I've gotten interested again. I have played around with pygame, libgdx and godot. Though I don't have any game in mind, I am more interested how games themselves work, how programmers optimize their code and apply high level abstractions. So what I wanna learn is C++ and OpenGL. Not just the surface, but learning C++ completely (well, I've heard that is impossible but enough so I dare put it on my resume in the future), OOP design and practices, the math required for game programming and of course how to use OpenGL.


So what I am asking is essentially, any recommended books and resources for learning this? What order should I learn the different topics required? Which other topics are essential to learn?


Even if I have used OOP langauges and frameworks, I have to say that I know no OOP at all. I've also never ever done any manual memory management. To make you understand my current programming knowledge I can say that the only programs I've finished is a Lisp interpreter and a Pong game (where I used a high-level 2D api) so I am very much a beginner, but a book for complete beginners might be a bit too slow for me.

Share this post

Link to post
Share on other sites

First, you should learn the language first (C++ in this case).

You can, and should, take a peek or two at some coding styles, good practices, etc, while you're learning, but i'd say try not to overwhelm yourself with too many information at once.

If you follow some of the tutorials i will list below, you should be fine.

Then, when you have a solid understanding of C++, you can start learning OpenGL. One thing i'd advise, is that you don't learn old, fixed function OpenGL, because it is not relevant today. If you don't know what 'fixed function' means yet, don't worry as you'll know when you follow any OpenGL tutorial.

About math, you do need some, but in the OpenGL books/resources that i will list, there is normally a chapter or two about the math required to, al least, get you up and running.


For learning C++, you can check C++ Primer.

You can also check Effective C++ and More Effective C++. These present many tips and guidance on proper use of the C++ language.

Last, but not least, you should check Design Patterns: Elements Of Reusable Object-Oriented Software, which is probably the most extensive guide on design patterns, what they are, when you should use them and when you should not.


For OpenGL, OpenGL SuperBible 5th Edition, which besides being a reference guide on the API, provides a step-by-step guide on how to use modern OpenGL. (meaning shaders, vertex buffers, etc). It also contains bits of information about the math required to work with OpenGL.

If you're also interested in GLSL, you could read OpenGL 4.0 Shading Language Cookbook, which contains a lot of shader code to provide most, if not all, of the visual effects you see in modern games, for GLSL.


Other books that i would highly recommend are Game Engine Architecture and Game Coding Complete 4th Edition.

They both provide an in-depth view on how a game engine works, the components it consists of, a healthy amount of code, etc.

I must mention though, that the second book does not discuss OpenGL, but Direct3D instead, although if you pick these books, it should be for the overview of a game engine, and not a particular graphics API.


On a last note, the GPU Gems book is freely available here. While this doesn't quite fit you're request, you could try to give it a read, if you're interested (it's free anyway).


Here's some links for online resources:















Really the last thing.

Not very related, but if you required 3D models while you dabble with OpenGL, you can find many here (for free, of course).


Hope it helps.

Edited by __SKYe

Share this post

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

  • Advertisement