ABSTRACT

Computer games (CGs) are rich, complex, and often large-scale software applications. CGs are a significant, interesting, and often compelling software application domain for innovative research in software engineering (SE) techniques and technologies. CGs are progressively changing

CONTENTS 1.1 Emerging Field of Computer Games and Software Engineering 1 1.2 Brief History of Computer Game Software Development 3 1.3 Topics in Computer Games and Software Engineering 6

1.3.1 Computer Games and SEE 6 1.3.2 Game Software Requirements Engineering 8 1.3.3 Game Software Architecture Design 8 1.3.4 Game Software Playtesting and User Experience 9 1.3.5 Game Software Reuse 10 1.3.6 Game Services and Scalability Infrastructure 11

1.4 Emergence of a Community of Interest in CGSE 12 1.5 Introducing the Chapters and Research Contributions 14 1.6 Summary 24 Acknowledgments 25 References 25

the everyday world in many positive ways (Reeves and Read 2009). Game developers, whether focusing on entertainment-market opportunities or game-based applications in nonentertainment domains such as education, health care, defense, or scientific research (serious games or games with a purpose), thus share a common community of interest in how to best engineer game software.