Beginning Game Programming by Michael Morrison & Thomas Goldman