Good online OpenGL tutorials are hard to find. They often only cover a small part of what’s necessary to develop a game, which means that the remaining knowledge must be acquired from a different source. This lack of cohesion makes it more difficult to learn. Furthermore, there is a lot of outdated OpenGL content out there. For these reasons, I will usually recommend books over online resources.
Basically, you’ll need to know two things: how to program in C++, and how to use the graphics library OpenGL.
Here’s a short reading list with a rundown of what each book offers. I’ve got a whole shelf full of game design and graphics books, but these are my favourites.
Game Design: Secrets of the Sages, 4th Edition
This is an older one, published in 2002, but it is the most recent edition available. Despite its age, it features a tremendously useful look at game design from the perspective of experts and professionals in the video game industry.
Level Up: The Guide to Great Video Game Design
Meant for the beginner, Level Up takes a friendly, practical look at video game design. Everything from music to level design, and planning documents to enemies that are fun to play against, this book is a must-have for the beginning game developer. If you only ever buy one level design book, buy this one.
Beginning OpenGL Game Programming, 2nd Edition
This book assumes some C++ knowledge, and is an excellent introduction to using (mostly) modern OpenGL in order to make a game. One or two of the techniques described in this book are slightly out of date, but it is by far the best OpenGL resource I’ve come across. The book also comes with a CD that contains all of the examples discussed in the book. If you only ever buy one OpenGL book, buy this one.
OpenGL Shading Language, 3rd Edition (“OpenGL Orange Book”)
Randi J. Rost, Bill Licea-Kane
Since the deprecation of OpenGL’s fixed functionality pipeline, the graphics programmer is now responsible for writing their own. This is covered a great deal in Beginning OpenGL Game Programming, but the need to write your own shaders necessitates a little more knowledge, all of which is covered in this helpful textbook.
Game Engine Architecture
This is a more advanced look at developing your own game engine. It might be overkill for the average hobbyist, but is certainly an insightful look into how engines are developed in the industry. Even if what’s in the book is too advanced for your own endeavours, the techniques described herein can be simplified and easily adapted to fit your own goals.
C++ for Dummies
Stephen Randy Davis
No, I’m not kidding. This is a great resource for the beginner, and includes a CD with plenty of examples.
C++ in Easy Steps
This book is in colour, and is a great introduction to C++ for the beginner. It’s also quite thin and therefore less intimidating. And you also don’t get called a dummy.