Yesterday i noticed that Andy Patrick placed a nice blog on the five books you must own if you are writing XNA games. So i’ve looked over them and found it funny to see Game Coding Complete: Second Edition on there as it was one of my first books as well. I don’t have the other ones except for the game developer magazine, but I ordered Riemer Grootjans’ book XNA Game Programming Recipes right away as it looks like a nice book giving somewhat more in depth information and not the basics. I’ll post a review of it when I’ve read through it.
So next to his five books, i would propose five others of which I think should be on the shelf as well for you being a game developer.
- The first is 3D Game Engine Design, Second Edition. This book covers all kinds of topics concerning game engine development and is very in-depth. Unfortunately, the only thing it doesn’t cover well enough is the software engineering process of game engine development.
- The second is Design patterns : elements of reusable object-oriented software. When writing games, usually you will have to apply several design patterns. Understanding how they work and recognising them when you write games is absolutely a must. This THE book to have on design patterns.
- The third is Object-oriented Programming in C++. When you want to learn C++ in general, this is the book to have. It thoroughly covers every aspect of the C++ language very clearly, period.
- The fourth is actually a series of books called AI Programming Wisdom. Each of the books is a collection of articles on all kinds of AI subjects like path finding, neural networks, Bayesian networks and more. All of these articles are either written by industry professionals or academic researchers, but are mostly fairly easy to understand.
- The fifth is Andrew Rollings and Ernest Adams on Game Design. In my opinion every game developer should have read a book about game design. It might sound obvious, and most of it covered by the book probably is when you’ve played a lot of games, but this is also the kind of stuff you tend to forget when you are creating games.