1. SyDRA: An Approach to Understand Game Engine Architecture
- Author
-
Ullmann, Gabriel C., Guéhéneuc, Yann-Gaël, Petrillo, Fabio, Anquetil, Nicolas, and Politowski, Cristiano
- Subjects
Computer Science - Software Engineering - Abstract
Game engines are tools to facilitate video game development. They provide graphics, sound, and physics simulation features, which would have to be otherwise implemented by developers. Even though essential for modern commercial video game development, game engines are complex and developers often struggle to understand their architecture, leading to maintainability and evolution issues that negatively affect video game productions. In this paper, we present the Subsystem-Dependency Recovery Approach (SyDRA), which helps game engine developers understand game engine architecture and therefore make informed game engine development choices. By applying this approach to 10 open-source game engines, we obtain architectural models that can be used to compare game engine architectures and identify and solve issues of excessive coupling and folder nesting. Through a controlled experiment, we show that the inspection of the architectural models derived from SyDRA enables developers to complete tasks related to architectural understanding and impact analysis in less time and with higher correctness than without these models.
- Published
- 2024