Beginning Java Game Programming by Jonathan Harbour