Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
Computer games and software engineering
Cooper K., Scacchi W., Chapman & Hall/CRC, Boca Raton, FL, 2015. 311 pp. Type: Book (978-1-482226-68-3)
Date Reviewed: Dec 8 2015

Game studies have been integrated in academic curricula, be it in humanities, education, or computing. Being complex software systems, it is only befitting that the software engineering community addresses computer game development issues. The editors of this book sought to put together a representative collection of articles that appeared in games and software engineering workshops (GAS). The themes of these workshops were to assess the use of games in teaching computing and to investigate software development issues pertaining to computer game development.

The collection consists of 12 chapters grouped into an introductory chapter followed by two major sections. The introductory chapter is a rather brief survey of computer games software development in the context of the various stages of the software life cycle. It concludes with short summaries of the remaining chapters.

Section 1 has five chapters. Its title, “The Potential for Games in Software Engineering Education,” points to a somewhat loose theme running through these chapters. Chapter 2 attempts to answer three questions pertaining to the diverse uses of games in software engineering and computer education. An extensive analysis of the relevant literature is reported and summarized in several graphs. The results indicate that there is a growing interest in including games in computer science and software engineering curricula. Chapter 3 introduces a model-driven engineering approach to the development of serious games. It is an attempt at integrating learning objectives, curriculum content, and game playing. The claims of formality and integration lack concrete details. Chapter 4 describes how game-like environments in software engineering can be used to engage students in more effective modes of learning testing and design. Student feedback showed the positive impact of such a teaching approach. Chapter 5 surveys some online coding systems and then concentrates its discussion on Pex4Fun, an online programming system. The underlying software system implementing Pex4Fun is further described. Chapter 6 investigates the issues of integrating the role of the tutor in learning games. To conduct the investigation, four specific games were developed. Using these games, two experiments were conducted: the first one was to characterize the players, and the second one was to simulate the tasks of the tutor in providing help to players. Results of these experiments were used to delineate the notion of adaptability and implement it in the games. This chapter raises two major research problems in serious games, that is, player characterization and adaptability. However, the low cognitive nature of the games used in the experiments limits the learning context, and consequently only exposes a sketchy profile of characterization.

Section 2 has six chapters, which do not seem as thematically connected. Chapter 7 investigates the computing demands, such as concurrency, real-time data management, bandwidth, and scalability, that massively multiuser online games (MMOs) exert on servers, clients, and proxies. These demands are also found in other applications, such as social networks and massive online open courses (MOOCs). After discussion of the current approaches, a restful client-server architecture (RCAT) to address these demands is described. Its implementation as middleware is used to assess the performance of applications built with the RCAT architecture. Several experiments were conducted to identify performance issues. Chapter 8 describes three outdoor multiplayer games on smartphones to guide the discussion on software engineering issues related to the development of such games. The context defined by elements such as outdoors, smartphones, and multiple players poses problems for communication, decentralized control, state distribution and coherence, and validation. These are further discussed within the framework of the software life cycle. Chapter 9 describes three different experiments carried out to understand the behavior of players. The first experiment compiled eye movement data to investigate how players scan the display and use the results to refine the interface. The second experiment collected data through interviews in order to identify players’ motivation and the nature of their engagement. The third experiment logged player data over long periods of time. The logs were used to analyze expected and unexpected behaviors of players over time. Put together, these experiments provide insights about the relationships between the players and the game they play. Chapter 10 introduces an approach to support the reuse of artificial intelligence (AI) behaviors in games. The proposed model is based on a layered statechart design to capture the various levels of a subsumption architecture. Such a design enforces modularity and encapsulation, thus enhancing reuse. A tool to manage reuse workflow is also described. Chapter 11 recounts the authors’ experience with the reuse of gameplay mechanics. Five case studies are described in order to demonstrate how various functionalities of existing games can be repurposed to design and derive new games. The concluding chapter provides a summary of lessons learned from the previous chapters and enumerates “grand challenges” at the intersection of software engineering and games, the basic question being how to address the software life cycle of games.

This collection highlights a variety of issues that game development poses for software engineering. Most chapters address these issues at a conceptual level, and just a few provide sufficient depth. A major issue that is not addressed is the interdisciplinary nature of games and its impact on requirements and design. The game design community outside of software engineering has been struggling, and continues to struggle, with this issue.

Reviewer:  B. Belkhouche Review #: CR143997 (1602-0091)
Bookmark and Share
  Featured Reviewer  
 
General (D.2.0 )
 
 
Games (K.8.0 ... )
 
Would you recommend this review?
yes
no
Other reviews under "General": Date
Development of distributed software
Shatz S. (ed), Macmillan Publishing Co., Inc., Indianapolis, IN, 1993. Type: Book (9780024096111)
Aug 1 1994
Fundamentals of software engineering
Ghezzi C., Jazayeri M., Mandrioli D., Prentice-Hall, Inc., Upper Saddle River, NJ, 1991. Type: Book (013820432)
Jul 1 1992
Software engineering
Sodhi J., TAB Books, Blue Ridge Summit, PA, 1991. Type: Book (9780830633425)
Feb 1 1992
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy