Cavalheiro Ullmann, Gabriel (2023) SyDRA: An Exploratory Approach to Game Engine Architecture Recovery. Masters thesis, Concordia University.
Preview |
Text (application/pdf)
2MBCavalheiroUllmann_MSc_S2024.pdf - Accepted Version Available under License Creative Commons Attribution Share Alike. |
Abstract
Game engines provide video game developers with a wide range of fundamental subsystems for creating games, such as 2D/3D graphics rendering, input device management, and audio playback. In order to understand, develop and maintain game engines, developers need access to architectural information to make informed decisions. However, architectural information is not always readily available and is often overlooked in this kind of system. In this work, we propose, implement and evaluate an approach for software architecture recovery we call the Subsystem-Dependency Recovery Approach (SyDRA, pronounced SEE-dra). We apply it to 10 popular open-source game engines, demonstrating how the resultant architectural models can be used to visualize and grasp subsystem coupling patterns unique to each game engine. Additionally, we describe and discuss emergent architectural characteristics shared by all these game engines. Through a qualitative evaluation and a user study, we show the architectural models and visualisations we produced with SyDRA help developers understand game engine architecture more swiftly and correctly.
Divisions: | Concordia University > Gina Cody School of Engineering and Computer Science > Computer Science and Software Engineering |
---|---|
Item Type: | Thesis (Masters) |
Authors: | Cavalheiro Ullmann, Gabriel |
Institution: | Concordia University |
Degree Name: | M.A. Sc. |
Program: | Software Engineering |
Date: | 4 December 2023 |
Thesis Supervisor(s): | Guéhéneuc, Yann-Gaël and Petrillo, Fabio |
Keywords: | Software Architecture, Video Game Development, Game Engines, Coupling |
ID Code: | 993183 |
Deposited By: | Gabriel Cavalheiro Ullmann |
Deposited On: | 05 Jun 2024 16:57 |
Last Modified: | 05 Jun 2024 16:57 |
Repository Staff Only: item control page