Loading

My Favorite Game Development Reference Books

Something I’ve wanted to put out there for a long time, but never got around to…a list of the resources that I used/use and like the most.  Back before there was a lot of information available freely online I used to order several computing text books each month and built up quite a library.  When I moved, I cleared out some old/obsolete references because I picked up a lot of things that I ‘thought’ might be useful and weren’t.  The following remain a part of my library because they are still good and/or I just outright like them.

Note : Some of these, in particular those I used 20 odd years ago you might struggle to get hold of.


C++ FAQ’s. Still a goto for me after all these years.  I was introduced to this C++ book during my first actual C++ gig (where my job was to do all the low level assembly/engine for a higher level C++ game implementation effort).  As with everything C++ someone better and more knowledgeable (about C++) is always around and in my case they pointed me here almost every time where I almost always found the answers.  There are modern derivatives of this text covering C++ 14 and so on by different authors…ignore them all because even better than those and also the original book is the fact that the authors maintained a companion website for many years, which was eventually rolled into a super FAQ.  Despite the fact I have a later version and the web links, I kept my original 1st edition for nostalgia purposes.
Effective/More Effective C++.  C++ is a very complicated language due to it’s many facets. You can’t possibly know them all and as a result it’s a very easy language to do bad things. Scott Meyers Effective C++ books are almost a crash course on gotchas. Note that these books, while relevant, have been around a while. In that time, while the core of C++ remains a lot of new things you should be considering have been added which these books don’t cover. Therefore you might also be interested in Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
C++ Gems/More C++ Gems.  As above, however the C++ Gems series are a less well known reference. Theses books contains articles from C++ Report. Gems really is a good description for these and I was lucky to have this reference pointed out to me during my C++ formative years (I was lucky to have a friend back then who consumed every programming book you could find). The truth is, I don’t think you realize how bad your C++ is/was until you’ve read the Effective/Gems series of books or somehow also come across the same material, or friend.  Most of this kind of thing is covered in the above C++ FAQ’s but C++ Gems will for me forever remain the definitive text for return value optimization and the like.  Important thing to note about these articles is that they were authored as people were discovering all the C++ gotcha’s the first time around.  The language had been out for a while.  Not all the pitfalls were known.  These articles are sometimes about someone sharing their discovery for the benefit of all mankind (IMHO laugh).
I’ve owned every edition of Real-Time Rendering. It remains my goto reference for graphics programming, thoroughly describing techniques sometimes even with helpful pseudo code.  This and google…all you need for graphics really.
3D Computer Graphics.  An old book, yes. An earlier version of this book was one of my first graphics purchases accompanying me as I transitioned from Super Nintendo 2D to Sony PlayStation 3D.  Many people had this back in the day as a smaller and more concise (also read ‘cheaper’) option to what was then the definitive Foley and Van Dam book. Yes, that’s what we used to call it while joking about the idea a bloke called Jean Claude did martial arts action movies and graphics textbooks.  Incidentally…looks like that original definitive bible has an update.

As for the Alan Watt book I really wanted to mention here I like this because I found it easy to read and follow.  At the time it was also fairly cutting edge. Nowadays it is a little out of date and as such not exactly a recommendation.  For me however, still a favorite and I enjoy having it around, browsing for fun and yes still using it as a reference.

Note: The Author, Alan Watt has a few books from the 2000’s that are more up to date.

Advanced Animation and Rendering Techniques.  Another older Alan Watt text I like for shits and giggles but would hold back on as a purchase recommendation for today. Only for the enthusiast. I liked it from a time where I was putting 3D animation systems together, which it had a lot of reference for.  It was an ideal companion t the above 3D Computer Graphics book.
Design Patterns. Again an old book, which is still relevant and worth a glance to know about the formality of just a handful of the noted patterns which you’ll no doubt come across in C++. There’s a lot of patterns here that you might never use in games too, but reading about these helps you understand why not. Many people also might follow the crowd and instantly flick to the controversial Singleton pattern and enjoy the definitive description. No further comment.
Pragmatic Programmer, which I like because it is a collection of ideas and practices that might make you a better more well rounded programmer. I was influenced and inspired by this book quite heavily for a number of years.
Ray Tracing from the Ground Up. Because who doesn’t fantasize about Ray Tracing and want to have a go from time to time? I never get the time really either, however I like this book for what it presents and it’s a fun read. The nice thing about this is lots of examples that it takes you through in order to build up an actual ray tracer of your own (well…from the book of course).
While the image and link to the left is to an older version from Frank Luna’s series of books, I’ve really liked what these books do in the form of covering the basics with some level of precision.  I’ve not always kept up to date with Direct3D mostly because I’ve been doing OpenGL and ES over the last few years, so what I like about these books is that I can pick them up and get a pretty quick overview of the up to date API.  That’s actually because (like I say) I think he covers the basics so well.  I can extrapolate the rest from there. Other versions Direct3D 10, Direct3D 11, Direct3D 12.

From looking at this list I find it somewhat amusing that all my favorite books are about C++ and Graphics Programming.  Is that all I’m interested in?  No, not quite.  As for the books being older…fact is that other than with the occasional exception most reference I use nowadays is found on the internet in some form or other and I simply don’t buy a lot of books anymore.