Abstract

Developers tend to reuse source code by copy/paste. This form of reuse introduces code clones to software systems. Cloning in games can happen in different levels of granularity. The extreme case is known as Game Clone where the complete project is being cloned, e.g., by making a new independent branch which the original game's source code constitutes the seed for the new branch. Although it has been more than two decades since research on code clones started, various characteristics of cloning in open source games has not been studied. Therefore, there is no specific evidence on status of cloning e.g., dominant clone type in games. In this paper, we present an empirical study on code cloning in open source games by applying a state of the art clone detector, NiCad, and a clone visualization and analysis tool, VisCad. We identify both exact and near-miss clones from more than twenty open source C, Java and Python-based games, such as Jake2, Duo, Hexen2, jChess and OpenRPG from five different categories. Furthermore, we analyze a set of metrics for code clones in several different dimensions, including language, category, clone density and clone location to answer six essential research questions about the current status of cloning in open source games. Our research illustrates that cloning happens not only at inter-project level but also intra-project, specifically in First Person Shooter games developed using C (Type-1 50% clones). Such observation concretely shows the necessity of adopting clone management systems for game development.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call