BannerLeftBannerRightToymaker

 

Games Programming Books

This page contains reviews of useful books for the game programmer divided into the following sections:

Latest Additions

General Games Programming Books

Game Coding Complete - 3rd Edition just released

51Gakoj6DSL._SS500_

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

The third edition of this book is now available. It is just as good as before and so remains my number one rated games programming book. I am currently reading it from the start and making notes as I go through - it is full of brilliant tips for beginners up to advanced games programmers. I particularly like the description of a game structure that he develops throughout the book. This is an area that has has little coverage (perhaps due to developers not being allowed to talk about code at that level) and he describes it very well.

Review of second edition: I would suggest everyone interested in games development gets this book. It covers all areas of game development from an author who has worked in the industry (Ultima series of games). As well as describing traditional areas of a game like 3D graphics he also describes areas often missed by other books e.g. resource management, UI, main loop, loading ,caching etc. He introduces areas with chapters like: 'Dumb Stuff all game programmers should know' and '2D stuff every games programmer should know' and the level of humour and anecdotes is just right. I am amazed at how much insider detail he gives out about games he has worked on - I would dare not do that myself because of all the NDAs but he has obviously got approval to do so. Most of the book is not related to any specific platforms although where he does go into more detail it tends to be DirectX and Win32 programming. This is the kind of book you can use for some years as you develop your games programming skills.

Core Techniques and Algorithms in Game Programming

41uR2OAoJoL._SL160_

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This book is more advanced than the above but has quite a lot of valuable information. As the name suggests the author covers many techniques and algorithms used in games. For example he talks about the use of Design Patterns, various data structures before going on to look at rendering techniques e.g. scene graphics for indoor and outdoor rendering. He covers areas quite deeply and it is a bit more hard going than Game Coding Complete but is still a very worthwhile read.

Game Programming Gems (1,2,3,4,5,6,7,8)

1584500492.01.TZZZZZZZ1584500549.01.TZZZZZZZ 1584502339.01.TZZZZZZZ1584502959.01.TZZZZZZZ1584503521.01.TZZZZZZZ0251YYtK1pprL._SL500_AA240_

For more details about these books or to purchase them please follow one of these links: Gems 1::amazon.co.ukamazon.comamazon.caamazon.de Gems 2: amazon.co.ukamazon.comamazon.caamazon.de
3: amazon.co.ukamazon.comamazon.caamazon.de  4: amazon.co.uk amazon.comamazon.caamazon.de  5: amazon.co.ukamazon.comamazon.caamazon.de 6: amazon.co.ukamazon.comamazon.caamazon.de Gems 7: amazon.co.ukamazon.comamazon.caamazon.de Gems 8: amazon.co.ukamazon.comamazon.caamazon.de

The Game Programming Gems series of books are all invaluable books containing chapters dedicated to the programming of different areas of a game from AI to Graphics. Each chapter is written by an experienced game developer revealing their techniques. I would perhaps not recommend these books for the beginner games programmer but for the more advanced games programmer they are a must. Everyone should have these on their shelves.

Real-time 3D Terrain Engines Using C++ and DirectX

1584502045.01.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This is a brilliant book because it comes with my program (T2) on it :) No seriously it is a great book for those looking to render terrain in real time.

Programming Windows 5th Edition

157231995X.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This has been the number 1 book about programming for the Windows API for many years now. I had this book when it just covered Windows 3.1 and it was so well thumbed the pages fell out. I have since bought the latest one and it is as good as the first (it is now onto its fifth edition).

Software Engineering and Computer Games

0201767910.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

I am unsure about this book. At first sight I thought “wow a book that covers UML, patterns etc. within games development” but it does not quite live up to it's promise. It seems to be trying to cover too much. Having said that there are some good parts to it.

Object-Oriented Game Development

032117660X.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.ukamazon.com  Amazon.com amazon.ca Amazon.ca  amazon.deAmazon.de

This is similar to the above in many ways this book also tries to relate object oriented techniques and games development. Again it does not quite work but does have some very good sections. It is still worth considering.

  

Search for ‘Games Programming’ books at Amazon:

Games programming book search: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca  amazon.deAmazon.de

XNA Books

Learning XNA 3.0

51CajaROn6L__SL500_SS75_

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This is the first book on XNA 3.0 that I have come across. It is a good starting point for someone wanting to learn the basics of XNA. It covers 2D sprites and methods for developing a 2D game before moving on to 3D. In addition it talks about working for the Zune and Xbox 360.

DirectX Books

Introduction to 3D Game Programming with DirectX 9.0

1556229135.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This is a very good book for those wishing to learn DirectX. Probably not for the complete beginner but for those who know some C++. The author starts with general 3D techniques and then moves on to teaching DirectX 9. Many areas of Direct3D are covered including HLSL (Higher Level Shading Language) although this section does not go into much detail. The title is a little deceptive as well because he covers only the Direct3D API in DirectX not the other areas like input, sound etc. However I would definitely recommend this book to those wishing to learn Direct3D.

ShaderX7: Advanced Rendering Techniques

516FBcWVHbL._SL160_

 

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

Wolfgang Engel is the author to read when it comes to shaders. He has written and edited a number of excellent books on shaders. ShaderX7 is the latest compilation of techniques from professional game programmers covering many areas of advanced graphics programming. The book contains sections on geometry manipulation, rendering techniques, image space, shadows, environment effects, global illumination, handheld devices, 3D engine design and beyond pixels and triangles.

Advanced Animation with DirectX

1592000371.01.SCMZZZZZZZ02

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This book is part of the popular game development series. It covers many areas of animation and rendering with DirectX including facial animation and partical animation. The theory is well discussed and there are plenty of samples (be aware that these may not compile correctly with the latest version of the SDK). If you are serious about doing animation with DirectX this could be the book to help you.

Search for ‘DirectX’ related books at Amazon:

DirectX book search: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

C++ Programming Books

Accelerated C++

020170353X.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

If you are new to C++ programming and have struggled learning from the more traditional books I would seriously suggest this book. It differs in approach from all other C++ books by describing useful programs that involve a number of areas of C++ right from the start. So high level data structures are used right from the start, you do not need to wade through each command available  before getting on to something interesting. It concentrates on solving problems and explains the features of the language with respect to those problems rather than the other way around.

The C++ Programming Language

0201700735.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

Written by Bjarne Stroustrup the creator of C++ this is the definitive reference to the language and a book you will see recommended often. Personally I do not think it is a good beginners book, there are better ways to learn the language from scratch, but it is a book you will find in most C++ programmers shelves.

Effective C++ and More Effective C++

0201924889.02.TZZZZZZZ 020163371X.02.TZZZZZZZ

For more details about these books or to purchase one follow one of these links: Effective C++: amazon.co.uk Amazon.co.uk amazon.com Amazon.comamazon.ca  Amazon.ca amazon.de Amazon.de More Effective C++: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

These books contain a number of items (the first has 50 the second has 35) that describe how to use C++ well. They act as a really good reference and have changed the way I program in many ways. Some example tips are 'Prefer const and inline to #define' , 'prefer new and delete to malloc and free', 'Make sure base classes have virtual destructors', 'Postpone variable definitions as long as possible' and 'Say what you mean; understand what you're saying'. Each tip is described fully with reasons, examples and discussions. For the intermediate to the experienced C++ programmer I would definitely recommend these books.

Free Books

There are a number of free books available including the GPU Gems books from NVidia.

Software Design Books

Refactoring

0201485672.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

Once you have a good grounding and some experience of object oriented programming you start to consider the arrangement of classes and how to solve awkward situations. This book is absolutely superb at helping you move code around and rearrange your classes into a much better design. He talks about bad code having a bad smell and he describes these situations and how you might solve them. For example if you have Duplicate Code he suggests methods to extract the code, extract the class, pull up the method or form template method. If you have a large class he suggests methods like extract class, extract subclass, extract interface etc. So the book is full of solutions to common code design problems. The examples are given in Java rather than C++ but they are never so complex that they cannot be interpreted by a reasonable C++ only programmer.

Design Patterns

0201633612.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

Once you have been programming in an object oriented language for some time you start to see the same design patterns occur again and again. You see the same shape of class relationships and you start to reuse these shapes in other projects. This was what the Gang of Four observed and they decided to formalise these patterns and produced this, now famous, book. If you have a design issue you can be sure someone else has seen a similar one and come up with a solution. This book describes many design solutions (patterns) commonly facing object oriented programmers. This book is very advanced and while everyone should probably own it the next book is better for learning to apply the patterns.

Design Patterns Explained - A New Perspective on Object - Oriented Design

0321247140.02._PE30_SCMZZZZZZZ_02

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

Design Patterns can be tricky to understand and put into practice but once learned are an invaluable tool in  object oriented programming. This book shows how design patterns can be applied in a practice and is much easier to learn from than the ‘classic’ Design Patterns book (reviewed above).

Pattern Hatching: Design Patterns Applied

0201432935.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

This book can be considered a companion to the above. It uses examples to help describe the patterns and how best to apply them. This is quite an advanced book and may not be for everyone.

UML books

The Unified Modelling Language (UML) has become the most popular method of drawing and designing object oriented systems. When I was at University there were many different methods available but now, thankfully, UML has become the most widely used and hence the best to learn. UML aids in the design process by both clarifying ideas and by communicating those ideas to others in your development team. As game development teams get bigger and games become more complex development companies (at last!) to the more traditional software design processes.

UML Distilled

0321193687.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

I always like Martin Fowler's books and this is no exception. It describes all the areas of UML with plenty of examples and discussion. I particularly like the second chapters description of an outline development process. This is a great book but for those who just want to learn the areas of UML from scratch the book below may be preferable.

Sams Teach Yourself UML in 24 Hours

067232640X.02.TZZZZZZZ

For more details about this book or to purchase it follow one of these links: amazon.co.uk Amazon.co.uk amazon.com Amazon.com amazon.ca Amazon.ca amazon.de Amazon.de

it's one of those 24 hours books :) but it is actually a good learning aid and does get you started with the main areas of UML. I would recommend this to anyone wanting to learn UML from scratch.

 

© 2004-2010 Keith Ditchburn  (A lecturer on the Games Programming Course at Teesside University)