Saturday, December 17, 2011

My ambitious book list for 2012

I love to learn, and learning usually involves a lot of reading.  When I was younger I hated reading books.  They were boring and I felt like I was going cross-eyed staring at the black and white.  Then again, these were books that I felt forced to read (in school, as gifts, etc.).  I often didn’t care about the subject or didn’t find it interesting (actually most of the time I daydreamed about how I could turn the topic into a fun game).

Active developer communities such as channel 9, stack exchange and game dev really changed things for me.  Plus with digital books now, my material is even more accessible.  I find myself consuming more and more information from my iPhone, so having the kindle reader app is huge for me.  Reading and learning is fun again!

I’m already making progress, as you’ll soon find out.

Reading list

C++ Programming with Text-Based Games by Michael Dawson

TextBased Games

I’m actually almost finished with this book (a little over half-way).  It’s super introductory; most of the assignments and challenges I could already do in C#.

But it’s a fun book so far and helps when learning C++.

What I hope to learn:

  • Tricks in memory management
  • Class design
  • Not so much learn, but give inspiration for new projects

Sams Teach Yourself C++ in 21 Days by Jesse Liberty and Bradley L. Jones

21 Days

I actually have a PDF version of this book.  I’m almost done and it’s been extremely useful in catching up on C++.

I’ve found some discrepancies and bad practices in the section on pointers as well as memory management with overloaded operators (stray pointer bugs), but I think that’s to be expected in a crash course book.

What I hope to learn:

  • Templates in C++
  • More on memory management (or what not to do…)
  • Some practice with multiple inheritance and polymorphism

Programming: Principles and Practice Using C++ by Bjarne Stroustrup


The C++ book written by the creator himself.

I only list this book because I’m almost finished.  This book really teaches you programming, and uses C++ to do it.  So for me, it hasn’t been all that informative (other than understanding the inner thought processes of Bjarne as he writes a calculator from scratch).

Not super useful for me at this point, but I’m almost done.

What I hope to learn:

  • I have already learned the basics of user interface graphics
  • I’ve learned a particular implementation of building a calculator from scratch
  • I still hope to learn how Bjarne intended multiple inheritance to be used

C++ Primer Plus by Stephen Prata


This book is huge and much more comprehensive than the other two C++ books. 

I’ll probably end up skimming the text or trying the exercises first and only going back if I don’t understand something.

What I hope to learn:

  • A more in-depth coverage of C++ language features
  • Good patterns and practices (wishful thinking here I think)
  • Tips and tricks

The Art of Computer Programming Volume 1 of 4 by Donald E. Knuth


I’ve been told this is an excellent series on algorithms.  I cracked open the first volume already and it looks to be filled with math equations, solutions and example code. 

My curiosity is peeked, however I’m going to need to stay motivated for this one.
Winking smile

What I hope to learn:

  • Introduction to algorithms
  • Solutions to common data problems
  • Sharpen my math skills

Advanced 2D Game Development by Jonathan S. Harbour


I’m really excited to read this.  I’ve already read through chapter 2, and it seems to teach a really great implementation of a 2d game engine that is easily portable to other platforms.

Not only that, but his method also allows migration to different IDEs.  Pretty neat.

One of the bummers for me is that it focuses on using 3d model based sprites instead of painted spritesheets (which I understand makes creating sprite animation easier), so I’m sure I’ll get over it.

What I hope to learn:

  • How to build a 2d game engine (one possible implementation)
  • Graphics using DirectX
  • Other game related topics such as input collision and sound

Real-Time Rendering by Tomas Akenine-Moller, Eric Haines and Naty Hoffman


As I understand it, this is the book for current day 3d rendering.  It gives an overview of the rendering pipeline, helps get your math up to speed and thoroughly covers advanced concepts.

I think the 4th edition is going to be available soon if not already, but I own the 3rd so I’ll start there.

What I hope to learn:

  • The graphics pipeline
  • Brush up on Trigonometry and Linear Algebra
  • Everything 3d graphics

Steve Jobs by Walter Isaacson


Over the past few years I have been largely impressed with Apple.  Their ability to innovate and design has completely influenced the decisions I make as I work.  I even bought a MacBook to accompany my iPhone and I love it.

While I understand that Steve probably did not have his hand in every innovation and decision, I think this will be a great read.

What I hope to learn:

  • Ways to better communicate
  • An inside look at Apple's development process
  • New strategies when making important decisions

Full Steam Ahead

So there you have it!  My reading commitment for 2012.  It might not seem like a lot for a year of studying, but I intend to do many of the exercises (if not all of them).  Game programming books always get me on a project tangent too.  I might lose a ton of sleep this year (and hopefully make a cool iPhone game).

I plan on writing reviews for these books as well, so be on the look out for those.

Do you have any reading plans for 2012?  Leave a list in the comments!

1 comment: