-
A Catalogue of Game-Specific Software Nuggets
Authors:
Vartika Agrahari,
Sridhar Chimalakonda
Abstract:
With the ever-increasing use of games, game developers are expected to write efficient code supporting several qualities such as security, maintainability, and performance. However, the continuous need to update the features of games in less duration might compel the developers to use anti-patterns, code smells and quick-fix solutions that may affect the functional and non-functional requirements…
▽ More
With the ever-increasing use of games, game developers are expected to write efficient code supporting several qualities such as security, maintainability, and performance. However, the continuous need to update the features of games in less duration might compel the developers to use anti-patterns, code smells and quick-fix solutions that may affect the functional and non-functional requirements of the game. These bad practices may lead to technical debt, poor program comprehension, and can cause several issues during software maintenance. Here, in this paper, we introduce "Software Nuggets" as a concept that affects software quality in a negative way and as a superset of anti-patterns, code smells, bugs, software bad practices. We call these Software Nuggets as "G-Nuggets" in the context of games. While there exists empirical research on games, we are not aware of any work on understanding and cataloguing these G-Nuggets. Thus, we propose a catalogue of G-Nuggets by mining and analyzing 892 commits, 189 issues, and 104 pull requests from 100 open-source GitHub game repositories. We use regular expressions and thematic analysis on this dataset for cataloguing game-specific Software Nuggets. We present a catalogue of ten G-Nuggets and provide examples for them present online at: https://phoebs88.github.io/A-Catalogue-of-Game-Specific-Software-Nuggets. We believe this catalogue might be helpful for researchers for further empirical research in the domain of games as well as for game developers to improve quality of games.
△ Less
Submitted 4 May, 2021; v1 submitted 23 June, 2020;
originally announced June 2020.
-
An Exploratory Study of Code Smells in Web Games
Authors:
Vartika Agrahari,
Sridhar Chimalakonda
Abstract:
With the continuous growth of the internet market, games are becoming more and more popular worldwide. However, increased market competition for game demands developers to write more efficient games in terms of performance, security, and maintenance. The continuous evolution of software systems and its increasing complexity may result in bad design decisions. Researchers analyzed the cognitive, be…
▽ More
With the continuous growth of the internet market, games are becoming more and more popular worldwide. However, increased market competition for game demands developers to write more efficient games in terms of performance, security, and maintenance. The continuous evolution of software systems and its increasing complexity may result in bad design decisions. Researchers analyzed the cognitive, behavioral and social effects of games. Also, gameplay and game mechanics have been a research area to enhance game playing, but to the extent of our knowledge, there hardly exists any research work that studies the bad coding practices in game development. Hence, through our study, we try to analyze and identify the presence of bad coding practices called code smells that may cause quality issues in games. To accomplish this, we created a dataset of 361 web games written in JavaScript. On this dataset, we run a JavaScript code smell detection tool JSNose to find the occurrence and distribution of code smell in web games. Further, we did a manual study on 9 web games to find violation of existing game programming patterns. Our results show that existing tools are mostly language-specific and are not enough in the context of games as they were not able to detect the anti-patterns or bad coding practices that are game-specific, motivating the need of game-specific code smell detection tools.
△ Less
Submitted 13 February, 2020;
originally announced February 2020.
-
GE852: A Dataset of 852 Game Engines
Authors:
Chaitanya S. Lakkundi,
Vartika Agrahari,
Sridhar Chimalakonda
Abstract:
Game engines provide a platform for developers to build games with an interface tailored to handle the complexity during game development. To reduce effort and improve quality of game development, there is a strong need to understand and analyze the quality of game engines and their various aspects such as API usability, code quality, code reuse and so on. To the best our knowledge, we are not awa…
▽ More
Game engines provide a platform for developers to build games with an interface tailored to handle the complexity during game development. To reduce effort and improve quality of game development, there is a strong need to understand and analyze the quality of game engines and their various aspects such as API usability, code quality, code reuse and so on. To the best our knowledge, we are not aware of any dataset that caters to game engines in the literature. To this end, we present GE852, a dataset of 852 game engine repositories mined from GitHub in two languages, namely Java and C++. The dataset contains metadata of all the mined repositories including commits, pull requests, issues and so on. We believe that our dataset can lay foundation for empirical investigation in the area of game engines.
△ Less
Submitted 11 May, 2019;
originally announced May 2019.