Reading List

From Game Technology Lab

Jump to: navigation, search


GTL Core Reading List

I hope this is a fairly comprehensive list of books for Game Programming. There is a massive pile of stuff written and most of it is pretty average. This is the list of books that I think are clear and suit my learning style anyway.

Going online if you have a good idea of keywords is always useful. It is good for resolving odd errors. You are probably not the first person to encounter something, no matter how "unique" your programming skills are. Try typing the compiler or dialog box error code/message into google if you are really stick.


The C programming language, Kernighan & Ritchie

It may not teach you C to start with but is the only book you will need after you get going. Is usually called K&R, you will not hear it called anything else by most programmers

In library and our office

C Programming: A Modern Approach, K N King, 2nd ed.

This gets good reviews, not reviewed a copy however


Simply by assuming no programming knowledge these books teach most of C by default. Do not assume you actually know C though. There is lots of fun pointer stuff that is often avoided in C++ that are needed for games.

C++, How to Program, Paul Deitel and Harvey M. Deitel, 7th ed.

Seems to be a fairly nice starter book on C++

in library and 1st ed. in office if you need a quick reference

The Effective C series by Scott Meyers, really as good as you can be taught in C++, the rest is up to you to start putting it all together.

Effective C++: 50 Specific Ways to Improve Your Programs and Design

1st edition in library

Effective C++: 55 Specific Ways to Improve Your Programs and Design, 2nd Ed.

More Effective C++: 35 New Ways to Improve Your Programs and Designs

Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library

Jays has all 3, might be in the office


I am no Java specialist so this is a little empty. However Java for game use involves throwing away almost all that makes Java unique, (sidelining the heavy weight memory management and not using lots of extra helper functions), which tends to make it look a bit more generic OO.

Even saying this, you cannot just write C++ with a Java syntax, it is a different language. As an introduction to Java I have always liked,

Thinking in Java, Bruce Eckels

3rd edition is free online

4th edition is available.

Java, How to Program, Paul Deitel and Harvey M. Deitel, 8th ed.

I have not looked at this yet, but if it is even near their C++ book then it will be worth a read.

in library

Head First Java, 2nd Edition, Kathy Sierra & Bert Bates

This gets very good reviews, the Head First series in general seem to be well written and held in good regard.


Introduction to Algorithms, 3rd ed., Cormen, Leiserson, Rivest, Stein

One of the best introduction to algorithm around unless you want to actually sit down and read TAOCP (but that can be heavy going). Often called CLR (Stein did not do the 1st ed), CLRS or The Big Book (of Algorithms). Used by many Universities.

in library, 1st ed in office.

Ray Tracing

Computer Graphics, Principles and practice, Foley, Van Dam, Feiner, Hughes, 2nd ed.

Not just Ray tracing but the full history of computer graphics. An older book now but the history and foundation does not change. The coverage of ray tracing is very good and is relevant again with ray tracing on GPUs coming in scope. Called The White Book or Foley Van Dam, (which is now a little confusing because these two have written stuff on their own).

in office

Ray tracing from the ground up, Kevin Suffern

Seems a great ray tracing book, really starts from the basic math and goes from there, with good clean C++ code on the way.

Nils has a copy.


OpenGL programming guide, 7th ed.

The official OpenGL reference. The 7th edition is not aswell received as earlier ones but it is still the primary reference. It may be just because OpenGL is becoming mch more complex and it is not harder to concisely describe it. Usually just called The Red Book (because it is red :P)

in library

OpenGL ES 2.0, Aaftab Munshi, Dan Ginsburg, Dave Shreiner

Not had a chance to see this yet, OK reviews and it is the most official OpenGL ES 2.0 reference so probably useful for people looking at mobile phone work.

OpenGL superbible : comprehensive tutorial and reference, Richard S. Wright, 5th Ed.

Consistently well reviewed example driven book for OpenGl programming. It is a monster but if you can get through it you will learn a lot. I have not looked at the latest edition yet.

in library

OpenGL : a primer, Edward Angel

A small OpenGL reference, useful for remembering bits and pieces after you have got a start with OpenGL

in library and office


Artificial Intelligence, A modern approach, Russell and Norvig, 3rd ed.

THE primary academic text on AI, heavy weight stuff but a must to grind through if you want to be an AI specialist. You will probably need Simon or Jays to walk you through parts of this, it goes way way beyond any of the taught AI here at HiG. Will often be called The AI Book or Norvig & Russell rather than its title, it is used in something like 90% of University AI courses.

3rd ed. in library, 1st and 2nd ed. in office

Artificial Intelligence for Games, Ian Millington, John Funge

On order for the library. May be used for the AI course also. It is an introduction text but probably still covers most of the techniques actually used in most games.

AI game programming wisdom, Volume 1 - 4, edited by Steve Rabin

Four big books with specific articles on game AI from actual techniques used in the industry, excellent books

in library

AI in Killzone - Killzone's AI: dynamic procedural combat tactics

Just a single paper on game AI but you must read it. Shows how many small things are glued together to make game AI work. And this is old work now, things have moved on.


GPU Gems, Volume 1,2,3,5

A collection of articles about specific techniques and applications for GPUs. Both graphics and general scientific computing. Some of these can be pretty advanced, all are at least intermediate level. The early stuff will be in Cg shader language since it is pre GLSL, HLSL or OpenCL.

in library

Volume 4 is the same sort of thing, just not at the HiG library

OpenCL Programming guide, to be released in May, we will get it

OpenGL shading language, Randi J. Rost, 2nd ed.

Main reference for GLSL

in library

Design Patterns

Design patterns : elements of reusable object-oriented software, Erich Gamma

A very good book, not the easiest writing style, but well focused to C++ and worth getting your head around.

in library

Head first design patterns, Eric Freeman, Elisabeth Freeman

Also very good, more Java focus, a lighter read but tried to explain why you would want each given pattern a bit more. Helps you get into the mindset of looking for and using patterns as second nature.

in library

Game Design

The Art of Game Design: A book of lenses, Jesse Schell

First year design text, we picked it because it is really good.

in library

Rules of Play: Game Design Fundamentals, Katie Salen, Eric Zimmerman

Advanced academic text on play and games, big words, good stuff

in library

Theory of Fun for Game Design, Raph Koster Good little book to get you thinking differently, quick to read inlibrary and office

Game code

I personally avoid anything by Andre LaMothe, they just don't work for me, YMMV.

Core techniques and algorithms in game programming, Daniel Sanchez-Crespo Dalmau

A very good introduction book, has the beginning of desgn patterns, AI, game design

in library and office, also

Game Programming Gems, Volume 1 - 7, various editors.

Same theme as the other Gems books, a collection cutting edge algorithms and design techniques. Very important to have at least scanned through to know the sort of things these people have already solved so you don't waste time on it. These articles are written by the very best in the industry.

in library

Game Code Complete, Mike McShaffry

We have set this book at the text for semesters 5 and 6. Intermediate and advanced stuff and beyond the game you will probably write here. Will almost certainly get called the Dinosaur Book (guess what is on the cover?)

in library

C++ for game programmers, Mike Dickheiser

Quite a good book for intermediate level work. Perhaps a good way to take your beginner C++ code through to the advanced level.

Personal tools