The Very Best Game Development Books in 2024 (Beginner to Advanced)
It’s easy to get started with game development, thanks to a variety of pre-made game engines that help you create basic games quickly. But to make anything substantial – not to mention anything unique or ground-breaking – you’ll need to invest time and effort into your programming skills.
For learning a deep topic like game programming, nothing beats a book. You can throw it in your bag and read it anywhere – on the bus, at school, on your lunch break, on the toil… well, you get the idea.
The game programming books listed below are some of the best available, and they come highly recommended by professional game programmers like Brandon Fogerty, David Galloway, Dan Posluns, Brian Gish, and Yours Truly – me. Start at the top, and build your coding chops as you work through the list.
Note: For younger children, see the list of coding books for kids.
- Books for Beginning Game Developers
- Books for Intermediate Game Developers
- Books for Advanced Game Developers
- Books for Graphics Programmers
- Books for Learning Game Engines
Books for Beginning Game Developers
Beginning C++ Through Game Programming
by Michael Dawson
To program games, you must start by learning a programming language. C++ is the most popular language for games, and this book teaches you C++ and game programming at the same time.
Recommended by Jason W. Bay
3D Math Primer for Graphics and Game Development
by Fletcher Dunn
This engaging book presents the essential mathematics needed to describe, simulate, and render a 3D world.
Recommended by Brandon Fogerty
Game Programming Patterns
Patterns are like “recipes” for coding the most common (and complicated) things in game development. Don’t reinvent the wheel – learn these patterns and use them to make your games faster and better.
Recommended by Jason W. Bay
Books for Intermediate Game Developers
Game Engine Architecture
by Jason Gregory
Hailed as a “must-have textbook,” this book provides readers with a complete guide to the theory and practice of game engine software development.
Recommended by David Galloway
Programming Game AI By Example
by Mat Buckland
This covers everything you need to know to implement artificial intelligence (AI) agents for video games. It’s chock full of clever and useful AI patterns.
Recommended by Jason W. Bay
Data Structures & Algorithm Analysis in C++
by Mark A. Weiss
“This book was like the bible to me. Almost everything I’ve learned from that book has come up in an interview at some point in time or another.”
Recommended by Brian Gish
Practical Linear Algebra: A Geometry Toolbox
by Farin, Hansford
Teach yourself linear algebra, which is essential for game programming. This book teaches many examples and real-world applications.
Recommended by David Galloway
Books for Advanced Game Developers
Real-Time Collision Detection
by Christer Ericson
“A great systems book! Has perhaps the best chapter on optimization in any book related to game production.”
Recommended by David Galloway
Getting Started in 3D with Maya: Create a Project from Start to Finish – Model, Texture, Rig, Animate, and Render in Maya
by Adam Watkins
Deliver professional-level 3D content in no time with this comprehensive guide to 3D animation with Maya.
Recommended by Brandon Fogerty
Books for Graphics Programmers
Ray Tracing from the Ground Up
by Kevin Suffern
This book takes readers through the whole process of building a modern ray tracer from scratch in C++.
Recommended by Brandon Fogerty
Unity Shaders and Effects Cookbook
by Kenny Lammers
Shaders promote gaming realism but are not always easy to implement. This book seeks to change that with a cookbook approach to teaching you how to create stunning Shaders using your knowledge of Unity3D.
Recommended by Brandon Fogerty
Shaders for Game Programmers and Artists
by Sebastien St-Laurent
This is the first book approaching the topic of shaders in an accessible manner. It takes a simple, easy-to-follow approach to the high-level language of the topic.
Recommended by Brandon Fogerty
Books for Learning Game Engines
Unity from Zero to Proficiency
by Patrick Felicia
This book is the first in an excellent series that takes you from knowing nothing, to making professional-quality games using the Unity 3D game engine. After reading this one, be sure to check out the rest in the series.
Recommended by Jason W. Bay
Unity in Action: Multiplatform game development in C#
by Joe Hocking
This hands-on beginners guide gets you building games fast with the Unity engine. You’re expected to already have some coding skills, which you’ll use to create 2D, 3D, and AR/VR games that run on multiple platforms.
Do you have a favorite programming book that’s not on the list? Let us know in the comments below!
Read my new book!
Making games for a living is an incredibly rewarding career, but it’s hard to break in unless you have insider knowledge. This book levels the playing field.
Thank you for sharing your opinions on game programming books. I totally agree that they are really useful and enjoyable for reading.
Please tell me some books to learn ue4 and cryengine 5…
Hi there, I’d actually recommend that you learn Unreal and Cryengine from tutorial videos instead of books, because books on specific game engines get out of date quickly. If you go to YouTube.com and search for “learn unreal” you’ll find dozens of high-quality training videos to learn quickly. Have fun!
Hello Jason,
Thanks for the awesome list !!!
Is there any comparable book for Blender similar to Getting Started in 3D with Maya: Create a Project from Start to Finish – Model, Texture, Rig, Animate, and Render in Maya.
Hi Jasmeet, it looks like there are several Blender books on Amazon, but I haven’t checked any of them out. If you find one that works for you, please come back and let us know which one!
Hi,
I really appreciate this post, lucky me!
But I want an advice, I’m actually a C# programmer because of Unity engine, but I really want to move into C++ because is the foundation of every engine in the game industry. So, what is the best way to get into C++? besides I discovered on me a huge passion for AI systems, but I’m a bit confused, it’s a big topic and everything I found in internet looks different, and have differents approachs, not games. so here’s my second question, what’s the AI I need to learn to make video games AI systems, likes behaviour trees, and navemesh (A*), and so on?
Hi Lobsang, if you already know C# then I think you’ll learn C++ easily. One way to start would be to download a C++ game engine such as Amazon Lumberyard, and start experimenting in the codebase. There are many great books on game programming and AI, I’d recommend starting with “Programming Game AI By Example” shown in the above article.
Hello Jason,
Thanks for this list!
Will I be able to make any game? Even the super complex ones like GOW, FIFA, DMC, etc. once I go through all these books and practice programming?
Hi Priyansh, you won’t be able to make a super complex game on your own of course — but with what you’ll learn in these books, and plenty of practice, you’ll be able to join a team and work together to make just about anything!
hey i am trying to learn game engine development.
what books should i learn. i have an engineering background.
and i know c++ (intermediate).
currently i am learning “maths for 3d game programming”. some books use opengl and some directx which one should i learn ? as i want to make some projects to apply for jobs.
what kind of projects should one make to get a junior game engine programmer positions?
It doesn’t matter too much whether you learn DirectX or OpenGL, because either one will teach you the basics of computer graphics and rendering. There’s a lot of debate on which one is “better.” My feeling right now is that OpenGL is a good place to start, because it’s supported on many platforms. But don’t let a decision like this stop you from moving forward — just pick one and start learning!
Hi Jason,
Many thanks for your recommendations. Did find myself a friend in “Beginning C++ Through Game Programming”. I do have a few questions though:
(i) What would be an ideal path for an aspiring (self learning) game developer (like me) to follow to muster some know how to get a seat at the table? I mean frameworks, game engines etc.
(ii) Is a formal CS Uni degree a must?
(iii) One other question, would learning Godot help?
Thanks a ton for sharing your valuable experience and for your response.
Hi Som, glad you’re enjoying the book, it’s a good one. Most game programming jobs ask for a “bachelor’s degree or equivalent experience”, which means they prefer you have a degree but they don’t require it if you can show your skills/experience, for example in a strong programming portfolio. While you build your portfolio, I’d recommend sticking to the most popular game engines, either Unity or Unreal, since those are the engines most used by professional game developers. A couple of articles that might also be helpful, How to break into the game industry, and, Ideas for a game programming portfolio.
make a blog on how to learn unity?
Hi Aryal, there are many great resources for learning Unity, and they’re free! Unity themselves provide a good one here: https://unity.com/learn
Hey Sir,
I started learning unity but after some time i found out that i also need to learn graphics and game engine programming to become good game programmer and for better understanding the game engines like unity and unreal.
I am intermediate in c++ and my math skills is good. I want to ask from where should i start learn graphics and engine programming assuming that i am complete beginner in that.
Hi Jay, graphics and engine programming are both “big” areas to learn, so I’d recommend starting with one of the books listed in this article. They will teach you the basics, and give you some exercises to grow your skill set. Your C++ and math background will give you a strong start for graphics programming!
hi there…I was wondering about the game which Elon Musk invited in the beginning of his career….did he invited it alon ??
I haven’t heard about Elon Musk releasing his own game, but I have seen interviews where he said video games are what inspired him to learn programming.
It looks like this article was posted a couple years ago. Would you say this list is still relevant and are there any substitutions you’d make?
Hi Tucker, I keep the articles relatively up to date. These books are the ones you’ll see on most every game programmer’s bookshelf, because they’re great for learning but also for reference during the daily job.
Hi Jason!
I think this list has some of the best game programming books and I’ve actually bought some of them myself. But one topic that I didn’t really find in this list (maybe there is) was about game design in a more programmable point of view. To be more specific I mean like how games (not game engines) are are built from scratch using code (any programming language) and the elements of a game (which is more about design) for example what are the main building blocks of a game? I think this list could use a book more about game DESIGN/architecture because I find that really useful for game PROGRAMMERS to UNDERSTAND even if it’s more about game design rather than game programming. Could you recommend any books about game design? Thank you for reading this, I hope you get what I mean.
(The uppercase words are just used for highlighting)
😀
Hi Oskar, I think I understand what you mean – I think you’re talking about gameplay system design. You’re right that there aren’t any books like that on the list – I’ll do some research and see if I can find a good one to add. Thanks!
did you ever follow this up?
I think you should add “Unity in action, second edition” to the learning game engines list. I think it’s one of the best book for learning unity.
Hi Oskar, thank you for the recommendation – I’ll check it out!
Hi I’m the beginner programmer but not totally beginner I mean that I just finish my lesson in cpp and I do more practice but I never make any games. All I know is do math algorithms
So what is your advice more to start ?
Hi Sam, if you already know some coding, then the next step is to learn how to work inside a game engine like Game Maker, or Unity 3D. Here’s some more info on free game dev tools.
It’s a little disingenuous to change the title of an article published in 2017 to say it is from 2022. While some of the materials listed here are pretty timeless, some definitely are not. For example, the book of Unity is for Unity 5 – there have been 6 major Unity versions released since then, with a seventh on the horizon, and there have been some very foundational shifts since then.
Hi Ronan – there are hundreds of articles here, looks like I missed some updates on this one. It’s fixed now – thanks for holding me to high standards!