Game Development Patterns and Best Practices: Better games, less hassle (English Edition)