Games Programming by Alan Thorn