The Very Best Game Development Books in 2023 (Beginner to Advanced)

With books, you're less likely to drop your phone in the toilet.
With books, you’re less likely to drop your phone in the toilet.
Image: Indi Samarajiva/Flickr

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

Beginning C++ Through Game Programming

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-book

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

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

Programming Game AI By Example

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++

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

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

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

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

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

Shaders for Game Programmers and Artists

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 P Patrick Felicia

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 from Zero to Proficiency, by P Patrick Felicia

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.

READ: Start Your Video Game Career

Tagged with: , , ,

30 Comments on “The Very Best Game Development Books in 2023 (Beginner to Advanced)

  1. Thank you for sharing your opinions on game programming books. I totally agree that they are really useful and enjoyable for reading.

    • 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!

  2. 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!

  3. 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.

  4. 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!

  5. 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!

  6. 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.

  7. 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!

  8. hi there…I was wondering about the game which Elon Musk invited in the beginning of his career….did he invited it alon ??

  9. 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.

  10. 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!

  11. 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.

  12. 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.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

This site uses Akismet to reduce spam. Learn how your comment data is processed.