Software engineering leads to better software products. This book teaches readers how to develop games according to a design and follow a standardized approach to game development. It provides a multitude of exercises that show just how software engineering practices can improve your game. All the basic categories of software engineering are covered. Programmers, designers, architects, generalists, software engineers, and game developers seeking knowledge about standard frameworks for games and their relative merits will find this text more than satisfying. Three frameworks (function, object-oriented, and patterned) are presented, contrasted, and fully described through design documents....