158
\$\begingroup\$

Let's make a list of the best books that every game developer should read.

Each answer should have a single book (by title and optionally author), a link to buy the book, and a short synopsis of what the book is about.

\$\endgroup\$
6
  • 2
    \$\begingroup\$ Fairly similar to gamedev.stackexchange.com/questions/497/good-game-design-books \$\endgroup\$
    – Cyclops
    Commented Jul 22, 2010 at 20:31
  • 10
    \$\begingroup\$ I disagree. Design and development are different topics, intertwined as they sometimes may be for indies. \$\endgroup\$
    – lti
    Commented Jul 22, 2010 at 20:44
  • 1
    \$\begingroup\$ Either way, I'm less concerned since he changed it to a wiki. :) \$\endgroup\$
    – Cyclops
    Commented Jul 22, 2010 at 22:18
  • 1
    \$\begingroup\$ Shouldn't we create a format for posting the books? One book with a linked title and a short description of why it's recommended and what it's about per answer? \$\endgroup\$
    – Zolomon
    Commented Nov 6, 2010 at 12:01
  • 2
    \$\begingroup\$ I think the answers should be game development specific and not "generally accepted best practices for every coder" type books, such as Code Complete and Clean Code. Yes, those are good books, but this list should be specific. \$\endgroup\$ Commented Nov 6, 2010 at 14:06

31 Answers 31

57
\$\begingroup\$

Game Programming Gems, all of them.
Internet Archive: Game Programming Gems

Even just reading them will give you a lot of ideas and insights in different approaches that will spark your thought processes and will give you a nice interdisciplinary toolbag. Also, lots of references to other interesting works.

\$\endgroup\$
9
  • 4
    \$\begingroup\$ I wish some of those were available online or a bit cheaper, because there's loads of them and they're about £30 each so buying them all would be really expensive! \$\endgroup\$
    – Iain
    Commented Jul 22, 2010 at 20:41
  • 1
    \$\begingroup\$ I agree, but used through Amazon they're okay. Could also check eBay? I do truly value my copies. Also, volume 8 is available online at my.safaribooksonline.com \$\endgroup\$
    – Kaj
    Commented Jul 22, 2010 at 21:22
  • \$\begingroup\$ Any especial place where to start with this huge collection or any random one is a good? \$\endgroup\$
    – DFectuoso
    Commented Jul 23, 2010 at 18:14
  • 1
    \$\begingroup\$ I honestly love em all. The earlier ones are a bit more low-level, but I do believe low-level knowledge is a valuable basis. \$\endgroup\$
    – Kaj
    Commented Jul 23, 2010 at 18:41
  • 3
    \$\begingroup\$ These book are excellent, talk about solving common problems in game design, however a disclaimer must be placed. These are NOT beginners books. Only when I nearly completed my BS in Computer Science did these book really shine for me. \$\endgroup\$
    – Nayrb
    Commented Nov 4, 2010 at 17:09
45
\$\begingroup\$

Game Engine Architecture by Jason Gregory

Touches on most areas involved in game development. Because of the number of subjects covered the book doesn't go into depth in any specific area but gives a broader view. I recommend anyone interested in game development read this book.

Real-time Rendering

If your interests lie in 3D rendering; this is the reference book to own. The book is theoretical and requires the reader have strong math skills.

Also if you're developing shaders (then you probably already know this but) the ShaderX series are a great read, and the series will continue under the name GPU Pro. (I have not read this one yet though)

Real-Time Collision Detection by Christer Ericson

Collision detection has always been an integral part of game development, and this is a great book on the subject covering a huge area.

\$\endgroup\$
1
  • \$\begingroup\$ I've read the first two books and couldn't agree more. I wish I'd read GEA before I started working in the games industry. :) \$\endgroup\$
    – Srekel
    Commented Jul 22, 2010 at 21:39
26
\$\begingroup\$

Mathematics and Physics for Programmers

I see no one talked about this one, wich I think is a must-must for any game programmers. A lot of good stuff about mathematics used in video games like trigonometry, vectors, ballistic and collisions and some more complex motion laws. It's a must have in your bookshelf !


And I almost forget... "Clean Code" and "The Pragmatic Programmer" are really nice books to read and keep not too far when working in a developer team. Teach you about how to make good programs that will save time and money to your team.

Don't have the Rep to post more than one hyperlink sorry...

\$\endgroup\$
2
  • \$\begingroup\$ Would you mind posting the Clean Code and The Pragmatic Programmer as two new ansers? \$\endgroup\$
    – Zolomon
    Commented Nov 6, 2010 at 12:05
  • \$\begingroup\$ it is done, with 2 other books added \$\endgroup\$ Commented Nov 11, 2010 at 16:42
24
\$\begingroup\$

Programming Game AI by Example, by Mat Buckland

\$\endgroup\$
2
  • 1
    \$\begingroup\$ I like this book as well. It's a book that's pleasant to read but doesn't lack depth. Covers a lot of interesting topics. Most of it is also available on Google-Books: books.google.com/… \$\endgroup\$
    – bummzack
    Commented Jul 22, 2010 at 21:43
  • 1
    \$\begingroup\$ This is a fantastic book... beware though, there's lots of 'behind the scenes' code that isn't mentioned, but required for all of the examples (and it becomes much more than a small task if you're porting to a different language). \$\endgroup\$ Commented Jul 22, 2010 at 22:44
19
\$\begingroup\$

The Pragmatic Programmer: From Journeyman to Master

I learn something every time I read this.

\$\endgroup\$
2
  • 1
    \$\begingroup\$ + 1, I would vote-up this one a hundred times if I could! \$\endgroup\$
    – Bjoern
    Commented Nov 12, 2010 at 13:08
  • \$\begingroup\$ This is a must read for anyone who wants to be a "programmer". Not sure it fits in directly to game dev but I love this book so much I just had to upvote it \$\endgroup\$ Commented Sep 22, 2014 at 20:23
16
\$\begingroup\$

For Programmers:

\$\endgroup\$
15
\$\begingroup\$

Real Time Cameras

I really liked this one. Its contents are pretty standard in terms of engine/rendering structure, but it also considers game narrative through cameras.

\$\endgroup\$
0
15
\$\begingroup\$

The Design of Everyday Things

Someone said it's a must read for all programmers and I completely agree with that.

\$\endgroup\$
13
\$\begingroup\$

Game Coding Complete 3rd, Ed.

This one is great for programming best practices and tips from the trenches. Tons of game programming books have you go down the same path with whatever scripting language or engine they are pimping. This book goes into WHY you should do things for game development. For example, the networking section talks about why you should do things for games that normally would never be done for non-game applications. Those nuggets of information, backed up by experience, are priceless.

For game design, the best book, hands down, is The Art of Game Design (linked in other answers)

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I'm about half-way through Game Coding Complete, and there are some suggestions Mike makes that are... questionable, at best. It's not something I'd recommend, particularly for someone who hasn't worked on a large C++ project before. \$\endgroup\$
    – greyfade
    Commented Jul 22, 2010 at 23:08
11
\$\begingroup\$

Game Engine Architecture

It gives an overview of a game engine.

\$\endgroup\$
1
  • \$\begingroup\$ +1 on this, the logic and better thinking over older approaches is awesome. It also covers the things that are often assumed as default knowledge. \$\endgroup\$ Commented Aug 18, 2010 at 6:55
10
\$\begingroup\$

Code Complete 2

Although it is a general programming book, you shouldn't miss it! It teaches you a lot of things every programmer should know.

\$\endgroup\$
10
\$\begingroup\$

The Pragmatic Programmer : Journeyman to Master

If I'm putting together a project, it's the authors of this book that I want. . . . And failing that I'd settle for people who've read their book." -- Ward Cunningham

A book that present tips on various topics. The book doesn't need to be red from the beginning to the end, just read about the tips you want ! Here are the topics covered :

  • Fight software rot;
  • Avoid the trap of duplicating knowledge;
  • Write flexible, dynamic, and adaptable code;
  • Avoid programming by coincidence;
  • Bullet-proof your code with contracts, assertions, and exceptions;
  • Capture real requirements;
  • Test ruthlessly and effectively;
  • Delight your users;
  • Build teams of pragmatic programmers;
  • Make your developments more precise with automation.
\$\endgroup\$
7
\$\begingroup\$

Game Development Essentials

I'm just starting them but the series looks promising.

\$\endgroup\$
7
\$\begingroup\$

Tricks of the 3D Game Programming Gurus

All Aspects of the 3D Pipeline and how to optimize and implement them in software most efficiently as possible. Has many techniques that transfer to hardware well too.

\$\endgroup\$
6
\$\begingroup\$

Introduction to 3D Game Programming with DirectX 9.0c: a Shader Approach

This was the best book I've ever found on teaching game/graphics development. It starts with an overview of the math involved and moves on to explaining DirectX. But the lessons can useful beyond DirectX: it explains, at a mathematical level, lighting and shadows and normals and many other things.

I recommend it for all the newbies like me

\$\endgroup\$
5
\$\begingroup\$

Rules of Play

Personally, I'm a huge fan of this one for game designers. It offers a lot of examples and exercises for people looking into game design as a career.

\$\endgroup\$
4
\$\begingroup\$

3D Game Engine Design and 3D Game Engine Architecture

both by David Eberly, are quite good, if a bit heavy on the math.


Game Engine Gems

just came out, and I've been enjoying its content so far. It's been a lot more helpful in some areas than the Game Programming Gems series (of which I've read up to Vol. 5).

\$\endgroup\$
3
\$\begingroup\$

Tricks of the Windows Game Programming Gurus (2nd Edition)

This book taught me a lot...

\$\endgroup\$
3
\$\begingroup\$

Design Patterns : Elements of Reusable Object-Oriented Software

A must have reference book written by the GOF who are highly know in the litterature of programming. Begins with a quik presentation of each patterns in the book and then explain them one by one with exemples, when to use, UML representation and more.

\$\endgroup\$
3
\$\begingroup\$

Programming A Multiplayer FPS in DirectX

Great book that covers making an FPS engine with DirectX with multiplayer and an engine that supports Octree and Occlusion Culling

\$\endgroup\$
3
\$\begingroup\$

Programming Role Playing Games With DirectX This is a great book that goes through everything about the basics of DirectX and Role playing games. It includes many examples that can be used for many different games. Some topics include:

  1. Particles
  2. Octree/Quadtree
  3. Netplay (Client/Server and P2P)
  4. Marketing your game
  5. 1st and 3rd Person Cameras
  6. FFVII Style Pre-rendered Background
  7. Parsing and Displaying .X Models
  8. Scripting
  9. And a lot more.
\$\endgroup\$
1
  • \$\begingroup\$ That sounds great! Thanks for sharing, I will be ordering this book later this week =P \$\endgroup\$
    – DFectuoso
    Commented Nov 22, 2010 at 22:45
2
\$\begingroup\$

OpenGL Red Book

This is a must have on your bookshelf as a developer.

\$\endgroup\$
2
\$\begingroup\$

Game Scripting Mastery

takes you up from the basics of scripting to assemblers, compilers and virtual machines. I love this book.

\$\endgroup\$
1
  • \$\begingroup\$ this book is fantastic! \$\endgroup\$
    – krolth
    Commented Mar 27, 2016 at 5:13
2
\$\begingroup\$

Refactoring : Improving the Design of Existing Code

I think this book is the logic one to read when you finish Clean Code (See other answer). It teach you how to deal with bad design of code and rework it into well-designed, robust code. The author present you how to deal with such code in a nice and easily-understandable way. A must have in your bookshelf !

\$\endgroup\$
2
\$\begingroup\$

David Perry On Game Design: A Brainstorming Toolbox by David Perry, Rusel Demaria


It's the biggest book on game design ever written, at over 1,000 pages long. It's designed to help students & designers come up with innovative new ideas, and also to expand current ideas.

\$\endgroup\$
2
  • \$\begingroup\$ Agreed. At first glance the book didn't impress me. A bunch of lists I could compile myself? But the power lies in the fact that they're all ready for you. I can have a germ of an idea, pop the book open to something barely relevant to it and brainstorm a bunch of variations and things without losing my creative flow by stopping to make a list. \$\endgroup\$ Commented Mar 13, 2011 at 6:26
  • \$\begingroup\$ yes! thats the beauty of this book. Plus it feeds you with more ideas, actually every possible idea that a game can have. A must in game developer's book shelf :) \$\endgroup\$
    – GamDroid
    Commented Mar 18, 2011 at 8:52
1
\$\begingroup\$

The Mastering Unreal Technology books are really good for learning how a great engine works. Learning how a great engine works doesn't necessary teach the nuts and bolts of how to create an engine. But, it will teach you the features of a great engine and how those features should work.

There are two versions of the books. An older book and a new set of three (1, 2, 3)

\$\endgroup\$
1
\$\begingroup\$

Rapid Development (Amazon.com)

Even though it's more about the development process than actual programming, I'd still recommend anyone involved in development to read Rapid Development (the "other" Steve McConnell book)

\$\endgroup\$
1
\$\begingroup\$

"For The Win"

This is a novel book but seems like a perfect book for Gamedev according to me. Free download at http://craphound.com/ftw/download/ by the BoingBoing founder.

\$\endgroup\$
1
\$\begingroup\$

Clean Code

A nice book that teach you how to write code that can be easily understood, a must-read that taught me much more than I though at first. Talks about meaningful names, comments, functions, formatting, objects and data structure and much more. I highly recommend !

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged .