It seems everyone these days is using Unreal, Unity, Godot, or other game engines. These are fantastic tools, and there is no shortage of tutorials and guides available online or elsewhere.
Myself, however…I prefer to build my games and game engines from scratch using C++ and OpenGL/GLSL. You can find a useful list below of some of my favourite game development resources. These resources include those on game design (and thus are engine/language/framework-agnostic) as well as more technical resources if you’re interested in learning game development using C++ and OpenGL/GLSL.
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.