Nowadays, there are a lot of good online OpenGL tutorials out there, for a variety of skill levels. There are also some outdated tutorials, which should be avoided.
It’s never been easier to get into game dev. While game engines such as Unity or Unreal are immensely popular, some folks (myself included) like to get hands-on and dirty with the lower-level graphics, sound, and input APIs. Why? Because we can.
If you’re interested in learning how to make your own game engine, want to learn what’s going on underneath the hood of existing ones, or are just a bit curious about game design, this page is for you!
When trying to learn a complex topic from the ground up, I prefer books over online tutorials. 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 old one from 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. A second edition of this book is now available.
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.
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 engine design. Even if what’s in the book is too advanced for your own endeavours, the techniques described can be simplified and easily adapted to suit your needs.
C++ for Dummies
Stephen Randy Davis
This is a great resource for the beginner, and includes a CD with plenty of examples.
C++ in Easy Steps
Another great introduction to C++ for the beginner. It’s also quite thin and therefore less intimidating.