Books

Here is my current collection of books regarding Computer Science, along with a small description and review.

C++ Primer Plus

This was the first book I bought, and although it’s a very good source of C++ knowledge and reference, it isn’t very good to learn from. This is more of a book to pull off the shelf when you can’t figure out how to correctly implement a particular piece of C++ code.


Beginning C++ Through Game Programming

After I realized that I wasn’t going to be able to effectively learn from C++ Primer Plus, I decided to head back to Borders to pick this one up. Excellent choice. The size is reasonable, about 350 pages, and it starts off slow, perfect for a beginner. Since I was already familiar with a lot of the content that was covered due to online tutorials and references, I was able to follow along and really learn how to use what C++ has to offer for game development.


Game Programming All in One, Third Edition

After finishing Beginning C++ Through Game Programming, I wanted another book to work through. I grabbed this book, spent a while browsing through it, decided I liked it, and picked it up. I stopped a little before half way through. Several reasons, first the code that is provided has so many errors that I spent more time browsing forums trying to figure out how to solve them. Once I got past a few core errors, I was able to do some work without being held up. But, I quickly realized that I wasn’t ready for graphics. In my mind, there’s C++ programming, and then there’s C++ graphical programming. I personally don’t care much for doing anything graphical at the moment, as it takes away from learning and using C++ and relies on learning a graphical library along with all its specific code. Although I will eventually be entering this realm of graphics, I don’t have any desire to at the moment. I would rather stick to text-based games and software in order to fully comprehend what C++ has to offer.


C++ For Game Programmers

I’m currently still reading this book, but so far it’s good stuff. Unlike my other books, it does not teach C++, rather it teaches how to use C++ for game programming. In other words, it tells you how to use specific features of C++ in your games, what particular features of the language are the right choice for specific elements of your game, but it does not teach you how to implement those features. It’ll tell me that using the vector container from the STL is the right choice when making an inventory for the characters in your game, but it will not tell you how to write the code for a vector. A good investment.


Introduction to Java Programming

This was a course-book for a CIS class. It’s nothing special, it just teaches you the basics of programming with Java. If you’ve read anything teaching the basics of any programming language (especially C++), this is just the same material except with Java. It’s actually not that useful even as a reference; the few times I’ve grabbed it to find some Java I was unsure about it didn’t cover the topics. I’ll hold on to it as a beginner reference, but it probably won’t get much use.


Head First Design Patterns

This is the course book for another CIS course. This book is amazing. I very much recommend this book to every programmer. This is by far the most entertaining book on the subject of computer science and programming that I’ve read or even seen. The book provides images, diagrams, side notes, and much more to keep the reading light and entertaining. On top of this, it actually is very good at teaching the concepts of design patterns. It covers many design patterns, each with conceptual and concrete examples as well as situations in which they’re useful. The code is clear and the source is provided (via download). Plus, it’s 650 pages for less than $50.00, which is relatively cheap. Excellent buy.


Programming Game AI By Example

Simply excellent. It covers everything that a beginner AI programmer is curious about. The source code in the book is just enough to clarify the details, while the entire source for all the simluations/games is available online. Not only is it a fun read, but it’s easy to quickly find a what you’re looking for when you need that code snippet or detail for your project.
If that’s not enough, I was really impressed with the math and physics primer in the beginning. The author makes all the necessary points clear while providing game related examples. If you’re unfamiliar with the required math and physics, the examples are just enough to get you on your way without bogging you down with important yet unnecessary (for this level) details.

All in all, highly recommended for the beginning AI programmer.


Game Coding Complete, Second Edition

A tome of knowledge. All 900 pages of this book are excellent. The author touches on a lot of significant (and some not so significant) topics in the game development process. Each chapter covers a different stage or process in game development, and to sum everything up he has created a game using all the topics and example source code that the previous chapters have covered. This book provides a lot of source code to follow along with, most of which you can use in your own code.
If you feel (or know) that you’re ready to create a serious game but can’t seem to get the ball rolling, this book provides a giant nudge in the right direction. Highly recommended.


3D Game Engine Design, Second Edition

This book was required for my Intro to Game Development class, sadly.  Although the title makes it sound like a good read, reading it is nearly impossible.  It’s more geared toward the math-intensive audience, and even at that there’s no engine design, but rather feature implementation details.  Some might expect some game architecture and design elements to be included, but there is none.  If you want an analogy, this book doesn’t bother with assembling the entire car, it just takes out the engine, rips it into pieces, and tells you how to individually build those pieces.  Oh, and by engine, I mean anything graphics and physics related.  You won’t find any game-state management, object management, data management – nothing like that.

So if you’re interested in seeing the math behind 3D graphics and physics, take a look at this book.  If you’re more interested in the “game engine design” part of the title, look elsewhere.

  1. No comments yet.
  1. No trackbacks yet.

Leave a comment