Beginning Game Programming by Jonathan S. Harbour