A Catalogue of Game-Specific Anti-Patterns
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, lack of time and continuous need to update the features of games may result in bad practices that may affect the functional and non-functional requirements of the game. These bad practices are often termed as Anti-patterns, which can cause technical debt, poor program comprehension, and can lead to several issues during software maintenance. While there exists empirical research on games, we are not aware of any work on understanding and cataloguing anti-patterns in games. Thus, we propose a catalogue of game-specific anti-patterns by mining commits, pull requests, and issues from 229 popular GitHub game repositories. We use regular expressions to create an initial dataset of open-source games and did thematic analysis on text records for cataloguing game-specific anti-patterns. We applied LDA (Latent Dirichlet Allocation) to validate further and refine the categories. We present a catalogue of 11 anti-patterns with a total of 20 subcategories involved in it and provide examples for them. We believe this catalogue would help game developers in making educated decisions during game development that can result in enhanced quality of games.
READ FULL TEXT