Graphic Novels
  System Video
  All Features


  PlayStation 3
  PlayStation 4
  Wii U
  Xbox 360
  Xbox One


Advanced 2D Game Programming

Publisher: Cengage Learning

Advanced 2D Game Programming is a refreshing change of pace. It seems that there are just a ton of beginners books out there that will not only go over the basics of game design and implementation, but also basic programming as well. Well, Advanced 2D Game Programming is definitely not a book for beginner programmers and the author, Jonathan S. Harbour, assumes you already have a fairly versed knowledge of C++. This means that he goes straight to the heart of the matter and rarely pauses to explain the fundamentals.

Going into this book, you should already be familiar with C++, DirectX and some basic image editing tools. As far as development environments, the book uses two different IDEs, Visual C++ 2005 (SP1) and Dev-C++ 5.0. While all the code is written to be IDE agnostic, and able to be compiled no matter which environment you are in, Harbour makes a point of discussing features specific to each IDE, especially when creating the projects and development environments. He also explains that he made sure to develop everything on a clean box using only free software like GIMP, Blender, OpenOffice and Dev-C++ in order to prove that you could actually develop the games outlined in this book without the need of high-cost software.

Most of Advanced 2D Game Programming is about developing a fairly comprehensive 2D game engine. Harbour develops it over an iterative process in order to slowly introduce these complex concepts and large code blocks to the reader so that he/she doesn't feel overwhelmed. The technique seems to work since you hardly feel like you are putting together a complex concoction of code until you look back over the 300 pages and realize exactly how much work you've done. Heck, he even goes into LUA scripting and threading.

By the time the engine is done, you will not just have that core code in place, but also various little test projects that not only show that the code works, but also how to call into it. From there, Harbour walks the reader through making some of the more iconic learning games like Space Invaders and Breakout. Yes, they are simple games, but they really do cover a lot of aspects of 2D development and they utilize many of the features of the game engine.

I really enjoyed going through this book. While it is highly technical, I never really found it dry, even when mulling over the code files in order to get a feel of exactly what is going on. I found the content solid and rarely had any problems following the given steps. While it isn't a big book, Advanced 2D Game Programming does cover a lot of ground and I highly recommend it to anyone who fits in its intended audience.

-J.R. Nip, GameVortex Communications
AKA Chris Meyer

Related Links:

Novel Picture Yourself Creating Video Games Sound Best of Game Programming Gems

Game Vortex :: PSIllustrated