Visualising Game Engine Subsystem Coupling
Gabriel C. Ullmann, Yann-Ga\"el Gu\'eh\'eneuc, Fabio Petrillo, Nicolas, Anquetil, Cristiano Politowski

TL;DR
This paper analyzes the architecture of open-source game engines by recovering their subsystem coupling patterns, revealing common architectural structures and providing insights for improving system understanding and maintainability.
Contribution
It introduces an architecture recovery approach applied to 10 game engines, identifying common subsystem coupling patterns and describing an emergent architecture.
Findings
Low-Level Renderer, Platform Independence Layer, and Resource Manager frequently couple with the Core.
Common coupling patterns reveal an emergent architecture shared among engines.
The approach aids practitioners in understanding and maintaining game engine systems.
Abstract
Game engines support video game development by providing functionalities such as graphics rendering or input/output device management. However, their architectures are often overlooked, which hinders their integration and extension. In this paper, we use an approach for architecture recovery to create architectural models for 10 open-source game engines. We use these models to answer the following questions: Which subsystems more often couple with one another? Do game engines share subsystem coupling patterns? We observe that the Low-Level Renderer, Platform Independence Layer and Resource Manager are frequently coupled to the game engine Core. By identifying the most frequent coupling patterns, we describe an emergent game engine architecture and discuss how it can be used by practitioners to improve system understanding and maintainability.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDigital Games and Media · Scientific Computing and Data Management · Peer-to-Peer Network Technologies
