ICSE 2013 Workshops
2013 35th International Conference on Software Engineering (ICSE)
Powered by
Conference Publishing Consulting

2013 3rd International Workshop on Games and Software Engineering: Engineering Computer Games to Enable Positive, Progressive Change (GAS), May 18, 2013, San Francisco, CA, USA

GAS 2013 – Proceedings

Contents - Abstracts - Authors

3rd International Workshop on Games and Software Engineering: Engineering Computer Games to Enable Positive, Progressive Change (GAS)

Title Page

This Workshop will provide a forum to explore game software engineering (GSE) from a number of perspectives, including (1) how the challenging requirements (functional and non-functional) of games influence SE methodologies (processes, tools, techniques, heuristics); (2) the role of games in software engineering education (SEE), whether as projects in courses, a teaching tool to complement traditional lectures, or in student competitions to motivate and reward GSE skills; (3) exploring reuse and reusable user generated content and play experience in GSE to reduce development time, improve software quality through the use of libraries, frameworks, engines, and domain assets, in addition to supporting game modifications (modding) by the player; (4) revisit scalability and alternative platforms from the technical viewpoint (mini-games for phones to massive open on-line courses) and the social viewpoint, depending on interdisciplinary expertise across the social sciences (psychology, sociology, anthropology).

Applying Software Product Lines to Multiplatform Video Games
Emad Albassam and Hassan Gomaa
(George Mason University, USA)
In this paper, we explore the application of Software Product Line (SPL) technology in the video games domain by exploiting differences in various video game platforms to design a variable component-based software product line architecture for a multiplatform video game. Our approach consists of constructing a feature dependency model for describing variability in multiplatform video games. We explored variability in the user interface, input devices, output devices, CPU, as well as other variability in various video game platforms. Then, we designed a variable component-based SPL that is tailored to every video game in the product line. We validated our approach by implementing a SPL of a combat flight-simulator game and by deriving two versions of the game: a Windows desktop version and a Windows Phone version. The derivation process of each version is done by selecting features from the feature dependency model and the corresponding software components and SPL parameters that relate to those features.

Article Search
A DSL for Describing the Artificial Intelligence in Real-Time Video Games
Tom Hastjarjanto, Johan Jeuring, and Sean Leather
(Utrecht University, Netherlands; Open University, Netherlands)
Many games have computer-controlled agents that play against a player. The behavior of these computer-controlled agents is described by means of the artificial intelligence (AI) in the game. The AI is an important component of the game, and needs to be developed carefully, and adapted regularly. This paper introduces a novel language for describing the decision making process of the AI in real-time video games. We develop a declarative, domain-specific language (DSL) embedded in the functional programming language Haskell for real-time video games. We use the DSL to describe the AI of a prototype real-time video game.

Article Search
Towards Model Checking of Computer Games with Java PathFinder
Nastaran Shafiei and Franck van Breugel
(York University, Canada; University of Oxford, UK)
We show that Java source code of computer games can be checked for bugs such as uncaught exceptions by the model checker Java PathFinder (JPF). To model check Java games, we need to tackle the state space explosion problem and handle native calls. To address those two challenges we use our extensions of JPF, jpf-probabilistic and jpf-nhandler. The former deals with the randomization in the source code of the game, which is a cause of the state space explosion problem. The latter handles native calls automatically. We show how JPF enhanced with our extensions can check games such as the text based game Hamurabi and a graphics based version of rock-paper-scissors.

Article Search
User Requirements for Gamifying Sports Software
Konstantinos Giannakis, Konstantinos Chorianopoulos, and Letizia Jaccheri
(Ionian University, Greece; NTNU, Norway)
Sports tracking software for casual exercising has become popular with smart phone users who are concerned about their health and fitness. Nevertheless, there is limited research on the user requirements for sports tracking software, which needs to be fun and easy to use in order to appeal to a broad set of users. For this purpose, we employed a four-week long experiment with five users who were asked to perform multiple workouts with two levels of gamification. The first treatment stands for no gamification and the second treatment provided rich visual feedback, such as speed, distance, elapsed time, map. At the end of the experiment, we asked users to describe the devices. Both devices included GPS sensor, so we also measured the distance covered for each one of the workouts. We found that augmented feedback from mobile self-tracking devices can promote working out, but there is also a trade-off of increased anxiety and disorientation. Thus, we suggest that sports tracking software should be modest about how much and what type of visual information it provides to the user. In particular, we found that the only piece of visual information that had an impact on performance was average speed, which indicates a connection with gamication. Further research should consider additional levels of gamification beyond score, such as graphics, sociability, rules.

Article Search
Game Design as a Game
Robert H. Thompson and Steven L. Tanimoto
(University of Washington, USA)
The software engineering process for games has enough special structure that it can be formulated as a kind of game itself. This, in turn, permits the teaching of game construction in a unique way with new potential to motivate students. We present a new game design client program for an existing collaborative problem-solving website known as CoSolve. The client was built with an emphasis on increased interaction and fine control over a problems state. With this comes the opportunity to more easily design and test games in the CoSolve space. It is our hope that this will teach and inspire student users to learn more about game design, problem posing, and programming in general.

Article Search
Goal-Oriented Requirements Analysis and an Extended Design Pattern using Scala for Artificial Intelligence Programming Contests
Kazunori Sakamoto, Hiroaki Hosono, Seiji Sato, Hironori Washizaki, and Yoshiaki Fukazawa
(Waseda University, Japan; Tokyo Institute of Technology, Japan)
An artificial intelligence programming contest with game software is one of the most effective way of learning programming. Contestants can spontaneously learn programming to win in such contests. Although our previous work helps to hold artificial intelligence programming contests, its effectiveness is limited owing to an insufficient requirement analysis and uses of an unrefined design pattern. In this paper, we report on ACM JavaChallenge 2012, that is an artificial intelligence programming contest. we elicit requirements on a contest with a goal-oriented requirements analysis and extend the state design pattern using Scala to hold JavaChallenge 2012. We evaluate JavaChallenge 2012 very highly by questionnaire investigation.

Article Search
Educational Software Engineering: Where Software Engineering, Education, and Gaming Meet
Tao Xie, Nikolai Tillmann, and Jonathan de Halleux
(North Carolina State University, USA; Microsoft Research, USA)
We define and advocate the subfield of educational software engineering (i.e., software engineering for education), which develops software engineering technologies (e.g., software testing and analysis, software analytics) for general educational tasks, going beyond educational tasks for software engineering. In this subfield, gaming technologies often play an important role together with software engineering technologies. We expect that researchers in educational software engineering would be among key players in the education domain and in the coming age of Massive Open Online Courses (MOOCs). Educational software engineering can and will contribute significant solutions to address various critical challenges in education especially MOOCs such as automatic grading, intelligent tutoring, problem generation, and plagiarism detection. In this position paper, we define educational software engineering and illustrate Pex for Fun (in short as Pex4Fun), one of our recent examples on leveraging software engineering and gaming technologies to address educational tasks on teaching and learning programming and software engineering skills.

Article Search
Distributed DeepThought: Synchronising Complex Network Multi-player Games in a Scalable and Flexible Manner
Karsten Pedersen, Christos Gatzidis, and Barry Northern
(Bournemouth University, UK; 4T2 Multimedia, UK)
We propose a solution to avoid stability, security and performance concerns in multi-player games. This should lead to greater scalability in existing multi-player games but could also provide a way to implement multi-player functionality in an existing single-player game whilst ensuring the code-base stays organised and robust without requiring large modifications to the existing architecture. The ideas presented in this publication aim to provide a scalable solution not just to the end product but also to the code base in order to ensure greater ease in future maintainability and expansion.

Article Search
Comparative API Complexity Analysis of Two Platforms for Networked Multiplayer Games using a Reference Game
Toni Alatalo, Erno Kuusela, Rauli Puuperä, and Timo Ojala
(University of Oulu, Finland; Playsign, Finland)
In this paper we propose the quantitative analysis of the complexity of a simple reference game implemented on a particular gaming platform as means for characterizing how the platform succeeds in easing the development of networked multiplayer games. We first present our own open source tool based on Sneeds Object-Point (OP) method for the automatic quantitative assessment of the complexity of a software API by analyzing a source code using the API. We then apply our tool, together with the recently released JSComplexity tool based on classical software complexity metrics, to compare two platforms for networked multiplayer games, the open source realXtend Tundra SDK and the proprietary Union. As the reference games we use existing implementations of the simple Pong game atop the two platforms. Our data shows that these complexity metrics reveal API design tradeoffs, resulting in complexity differences in the reference games.

Article Search

proc time: 0.29