Computer Games and Software Engineering
Computer Games and Software Engineering
Editors: Cooper, Kendra M. L. and Scacchi, Walt
Publication Year: 2015
Publisher: CRC Press
Single-User Purchase Price:
$109.95

Unlimited-User Purchase Price:
Not Available
ISBN: 978-1-48-222668-3
Category: Technology & Engineering - Technology
Image Count:
87
Book Status: Available
Table of Contents
The book explores the use of games in software engineering education extensively. It also covers game software requirements engineering, game software architecture and design approaches, game software testing and usability assessment, game development frameworks and reusability techniques, and game scalability infrastructure, including support for mobile devices and web-based services.
Table of Contents
- Contributors
- Chapter 1. Introducing Computer Games and Software Engineering - Kendra M.L. Cooper and Walt Scacchi
- 1.1 Emerging Field of Computer Games and Software Engineering
- 1.2 Brief History of Computer Game Software Development
- 1.3 Topics in Computer Games and Software Engineering
- 1.3.1 Computer Games and SEE
- 1.3.2 Game Software Requirements Engineering
- 1.3.3 Game Software Architecture Design
- 1.3.4 Game Software Playtesting and User Experience
- 1.3.5 Game Software Reuse
- 1.3.6 Game Services and Scalability Infrastructure
- 1.4 Emergence of a Community of Interest in CGSE
- 1.5 Introducing the Chapters and Research Contributions
- 1.6 Summary
- Acknowledgments
- References
- Section I The Potential for Games in Software Engineering Education
- Chapter 2. Use of Game Development in Computer Science and Software Engineering Education - Alf Inge Wang and Bian Wl
- 2.1 Introduction
- 2.2 Experiences from Using Game Development in a Software Architecture Course
- 2.2.1 Software Architecture Course
- 2.2.2 How Game Development Was Introduced in the Software Architecture Course
- 2.2.3 Experiences Gained
- 2.3 Survey of the Use of Game Development in CS and SE Education
- 2.3.1 Answer to RQ1: In What Context/Topics Is Game Development Used in CS/SE Education?
- 2.3.1.1 CS Topics/Subjects Where Game Development Is Being Used
- 2.3.1.2 SE Topics/Subjects Where Game Development Is Being Used
- 2.3.1.3 Applied CS Topics/Subjects Where Game Development Is Being Used
- 2.3.2 Answer to RQ2: What GDFs Are Used in CS/SE Education?
- 2.3.3 Answer to RQ3: What Are the Experiences from Using Game Development in CS/SE Education?
- 2.4 Recommendations for the Use of GDFs
- 2.5 Conclusion
- Acknowledgment
- References
- Chapter 3. Model-Driven Engineering of Serious Educational Games: Integrating Learning Objectives for Subject-Specific Topics and Transferable Skills - Kendra M.L. Cooper and Shaln Longstreet
- 3.1 Introduction
- 3.2 Holistic Approach to SEGs
- 3.2.1 External Entities
- 3.2.2 Traditional Game Elements
- 3.2.3 Educational Game Elements
- 3.3 Overview of the SimSYS Approach
- 3.3.1 Informal Model
- 3.3.1.1 Storyboard
- 3.3.1.2 SimSYS Storyboard
- 3.3.2 SimSYS Use Case Model
- 3.3.2.1 UML Use Case
- 3.3.2.2 SimSYS Use Case
- 3.3.3 Formal Model
- 3.3.3.1 XML
- 3.3.3.2 SimSYS XML Game Script
- 3.4 Conclusions and Future Work
- References
- Appendix 3A: Semiformal Model—Tabular, Tailored Use Case for Challenge 1
- Chapter 4. A Gameful Approach to Teaching Software Design and Software Testing - Swapneel Sheth, Jonathan Bell, and Gail Kaiser
- 4.1 Introduction
- 4.2 Background and Motivation
- 4.2.1 Student Software Testing
- 4.2.2 HALO Software Engineering
- 4.2.3 Software Design
- 4.3 Gameful Testing Using HALO
- 4.3.1 HALO Plug-In for Eclipse
- 4.3.2 COMS 1007—Object-Oriented Programming and Design with Java
- 4.3.3 A Case Study with HALO
- 4.3.3.1 An Assignment on Java Networking: Getting and Analyzing Data from the Internet—The CIA World Factbook
- 4.3.3.2 HALO Quests
- 4.3.3.3 Student-Created HALO Quests
- 4.4 Better Software Design via a Battleship Tournament
- 4.5 Feedback and Retrospectives
- 4.5.1 Student Feedback
- 4.5.2 Thoughts on CS Education a Year Later
- 4.5.2.1 Reflections on HALO
- 4.5.2.2 Reflections on Tournaments
- 4.6 Related Work
- 4.7 Conclusion
- Acknowledgments
- References
- Chapter 5. Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet - Tao Xie, Nikolai Tillmann, Jonathan de Hallelx, and Jldith Bishop
- 5.1 Introduction
- 5.2 Background: Online Programming Exercise Systems
- 5.2.1 CodingBat
- 5.2.2 CloudCoder
- 5.2.3 Practice-It
- 5.2.4 CodeLab
- 5.2.5 Codecademy
- 5.2.6 BetterProgrammers
- 5.2.7 Discussion
- 5.3 Pex4Fun: Gamification of an Online Programming Exercise System
- 5.3.1 Software Engineering Technologies Underlying Pex4Fun
- 5.3.2 Gaming in Pex4Fun
- 5.3.3 Social Dynamics in Pex4Fun
- 5.3.3.1 Ranking of Players and Coding Duels
- 5.3.3.2 Live Feeds
- 5.3.4 Educational Usage of Pex4Fun
- 5.3.5 Code Hunt
- 5.4 Discussion
- 5.5 Conclusion
- Acknowledgment
- References
- Chapter 6. Adaptive Serious Games - Barbara Reichart, Damir Ismailovic, Dennis Pagano, and Bernd Brügge
- 6.1 Introduction
- 6.2 Background
- 6.3 Basis for Exploratory Studies: Development of Four Serious Games
- 6.4 An Exploratory Study: How to Characterize Players in Serious Games?
- 6.4.1 Study Design
- 6.4.2 Results
- 6.4.3 Conclusion
- 6.5 An Exploratory Study: How to Provide Help in Serious Games?
- 6.5.1 Study Design
- 6.5.2 Results
- 6.5.3 Conclusion
- 6.6 Threats to Validity
- 6.7 Toward a Definition of Adaptivity
- 6.8 Outlook
- 6.9 Summary and Conclusion
- References
- Section II Conducting Fundamental Software Engineering Research with Computer Games
- Chapter 7. RESTful Client-Server Architecture: A Scalable Architecture for Massively Multiuser Online Environments - Thomas Debealvais, Arthur Valadares, and Cristina V. Lopes
- 7.1 Introduction
- 7.2 Overview of Techniques for Scaling Up Multiuser Games
- 7.2.1 Space Partitioning
- 7.2.2 Other Game-Specific Techniques
- 7.2.3 Data Management
- 7.2.4 Network and System Approaches
- 7.3 Restful Client-Server Architecture
- 7.3.1 Representational State Transfer
- 7.3.2 RCAT Architecture
- 7.4 RCAT Reference Implementation
- 7.4.1 WebSockets
- 7.5 RCAT Reference Application: Jigsaw Puzzle
- 7.6 Experiments and Results
- 7.6.1 Experiment 1: Proxy and Database Bottlenecks
- 7.6.2 Experiment 2: Scaling Up the Number of Players
- 7.6.2.1 Experimental Setup
- 7.6.2.2 Results
- 7.7 Discussion
- 7.8 Conclusion
- References
- Chapter 8. Software Engineering Challenges of Multiplayer Outdoor Smart Phone Games - Robert J. Hall
- 8.1 Motivation
- 8.2 Three Geocast Games
- 8.2.1 iTron
- 8.2.2 iTESS
- 8.2.3 Butterflies
- 8.3 Engineering Challenges
- 8.3.1 Architecture
- 8.3.2 Design
- 8.3.3 Coding
- 8.3.4 Requirements
- 8.3.5 Validation
- 8.4 The GGA
- 8.4.1 Variants
- 8.5 Summary
- References
- Chapter 9. Understanding User Behavior at Three Scales: _The AGoogleADay Story - Daniel M. Rlssell
- 9.1 Introduction
- 9.2 Background
- 9.3 Our Game: AGAD
- 9.4 Three Views of the User: Micro, Meso, and Macro
- 9.4.1 Micro Level: How Players Behave over Short Timescales
- 9.4.2 Meso Level: How Humans Behave Minute by Minute
- 9.4.3 Macro Level: How Humans Behave over Days and in the Large
- 9.4.4 Integrating Research and Design across the Three Levels
- 9.5 Summary
- References
- Chapter 10. Modular Reuse of AI Behaviors for Digital Games - Christopher Dragert, Jörg Kienzle, and Clark Verbrlgge
- 10.1 Introduction
- 10.2 Background and Related Work
- 10.2.1 Layered Statechart-Based AI
- 10.2.1.1 Sample AI for a Squirrel NPC
- 10.3 AI Module
- 10.3.1 AI Module Interaction
- 10.3.1.1 Event-Based Interaction
- 10.3.1.2 Synchronous Communication
- 10.3.1.3 Miscellaneous AI Module Properties
- 10.3.2 AI Module Interface
- 10.4 Reuse and Component Integration
- 10.4.1 Event Renaming
- 10.4.2 Associated-Class Connection
- 10.4.3 Functional Groups
- 10.4.3.1 Group-Private Events
- 10.5 Case Study: Squirrel to Trash Collector
- 10.5.1 Trash Collector Specification
- 10.5.1.1 Exploring
- 10.5.1.2 Collecting Trash
- 10.5.1.3 Using Trash Receptacles
- 10.5.2 Building the NPC
- 10.5.3 Case Study Summary
- 10.6 Scythe AI Tool
- 10.6.1 Workflow and Key Features
- 10.6.1.1 Importing Modules
- 10.6.1.2 AI Construction
- 10.6.1.3 Outputting the AI
- 10.7 Conclusions and Future Work
- References
- Chapter 11. Repurposing Game Play Mechanics as a Technique for Designing Game-Based Virtual _Worlds - Walt Scacchi
- 11.1 Overview
- 11.2 Related Research on the What and How of Repurposing Game Play Mechanics
- 11.3 Case Studies in Repurposing Game Play Mechanics
- 11.3.1 Case 1—Producing Functionally Similar Games
- 11.3.2 Case 2—Modding an Existing Game via New Game Play Levels, Characters, and Play Objectives
- 11.3.3 Case 3—Replacing Multicharacter Dialogs and Adding Rashomon-Style Role-Play
- 11.3.4 Case 4—Recognizing Resource Allocation Challenges with Uncertainty in Problem Domain
- 11.3.5 Case 5—Choosing Meta-Problem Solving Domains for Game Development, Extension, and Play
- 11.4 Comparative Case Analysis: The Emerging Technique of Repurposing Game Play Mechanics for Game Design
- 11.5 Conclusions
- Acknowledgments
- References
- Chapter 12. Emerging Research Challenges in Computer Games and Software Engineering - Walt Scacchi and Kendra M.L. Cooper
- 12.1 Overview
- 12.2 Looking Forward from the Preceding CGSE Chapters
- 12.3 Grand Challenges in Software Engineering through Computer Games
- 12.3.1 Using Games to Solve Challenge Problems in Large-Scale Software Engineering
- 12.3.2 Game Software Requirements Engineering
- 12.3.3 Game Software Design
- 12.3.4 Game Software Testing
- 12.3.5 Teamwork Processes in CGSE
- 12.3.6 GSD and Global CGSE
- 12.3.7 Game-Based Software Engineering Education
- 12.4 Other Research Opportunity Areas for CGSE
- 12.5 Future Investment Opportunities in CGSE R&D Programs
- 12.6 Conclusions
- Acknowledgments
- References