An Exploratory Approach for Game Engine Architecture Recovery

03/04/2023
by   Gabriel C. Ullmann, et al.
0

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. Developers often integrate these subsystems with other applications or extend them via plugins. To integrate or extend correctly, developers need a broad system architectural understanding. However, architectural information is not always readily available and is often overlooked in this kind of system. In this work, we propose an approach for game engine architecture recovery and explore the architecture of three popular open-source game engines (Cocos2d-x, Godot, and Urho3D). We perform manual subsystem detection and use Moose, a platform for software analysis, to generate architectural models. With these models, we answer the following questions: Which subsystems are present in game engines? Which subsystems are more often coupled with one another? Why are these subsystems coupled with each other? Results show that the platform independence, resource management, world editor, and core subsystems are frequently included by others and therefore act as foundations for the game engines. Furthermore, we show that, by applying our approach, game engine developers can understand whether subsystems are related and divide responsibilities. They can also assess whether relationships among subsystems are appropriate for the game engine.

READ FULL TEXT
research
09/12/2023

Visualising Game Engine Subsystem Coupling

Game engines support video game development by providing functionalities...
research
07/13/2022

Game Engine Comparative Anatomy

Video game developers use game engines as a tool to manage complex aspec...
research
04/28/2023

Caught in the Game: On the History and Evolution of Web Browser Gaming

Web browsers have come a long way since their inception, evolving from a...
research
04/12/2020

Are Game Engines Software Frameworks? A Three-perspective Study

Game engines help developers create video games and avoid duplication of...
research
12/23/2021

Comparative Study of Cloud and Non-Cloud Gaming Platform: Apercu

Nowadays game engines are imperative for building 3D applications and ga...
research
03/23/2023

Plotting Behind the Scenes: Towards Learnable Game Engines

Game engines are powerful tools in computer graphics. Their power comes ...
research
04/07/2021

On Determinism of Game Engines used for Simulation-based Autonomous Vehicle Verification

Game engines are increasingly used as simulation platforms by the autono...

Please sign up or login with your details

Forgot password? Click here to reset