Are game engines software frameworks? A three-perspective study

Game engines help developers create video games and avoid duplication of code and effort, like frameworks for traditional software systems. In this paper, we explore open-source game engines along three perspectives: literature, code, and human. First, we explore and summarize the academic literatur...

Full description

Saved in:
Bibliographic Details
Published inThe Journal of systems and software Vol. 171; p. 110846
Main Authors Politowski, Cristiano, Petrillo, Fabio, Montandon, João Eduardo, Valente, Marco Tulio, Guéhéneuc, Yann-Gaël
Format Journal Article
LanguageEnglish
Published Elsevier Inc 01.01.2021
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary:Game engines help developers create video games and avoid duplication of code and effort, like frameworks for traditional software systems. In this paper, we explore open-source game engines along three perspectives: literature, code, and human. First, we explore and summarize the academic literature on game engines. Second, we compare the characteristics of the 282 most popular engines and the 282 most popular frameworks in GitHub. Finally, we survey 124 engine developers about their experience with the development of their engines. We report that: (1) Game engines are not well-studied in software-engineering research with few studies having engines as object of research. (2) Open-source game engines are slightly larger in terms of size and complexity and less popular and engaging than traditional frameworks. Their programming languages differ greatly from frameworks. Engine projects have shorter histories with less releases. (3) Developers perceive game engines as different from traditional frameworks. Generally, they build game engines to (a) better control the environment and source code, (b) learn about game engines, and (c) develop specific games. We conclude that open-source game engines have differences compared to traditional open-source frameworks although this differences do not demand special treatments. •There is a lack of academic studies about game engines and their implementation.•There are qualitative but no quantitative differences between open-source engines and frameworks.•Game engines are perceived by developers as different from traditional frameworks.•Engines projects are mainly personal while the community around framework projects is larger.•Engine developers should adopt traditional code-quality toolkit and care about project documentation.
ISSN:0164-1212
1873-1228
DOI:10.1016/j.jss.2020.110846