中文

一种游戏引擎架构恢复的探索性方法

软件工程 2023-03-22 v2

摘要

游戏引擎为视频游戏开发者提供了一系列用于创建游戏的基础子系统,如 2D/3D 图形渲染、输入设备管理和音频播放。开发者常将这些子系统与其他应用程序集成或通过插件进行扩展。为了正确集成或扩展,开发者需要对系统架构有广泛的理解。然而,架构信息并非总是易于获取,且在这类系统中常被忽视。在本工作中,我们提出了一种游戏引擎架构恢复方法,并探索了三个流行开源游戏引擎(Cocos2d-x、Godot 和 Urho3D)的架构。我们进行手动子系统检测,并使用软件分析平台 Moose 生成架构模型。借助这些模型,我们回答了以下问题:游戏引擎中存在哪些子系统?哪些子系统更频繁地相互耦合?这些子系统为何相互耦合?结果表明,平台无关性、资源管理、世界编辑器和核心子系统常被其他子系统包含,因而充当了游戏引擎的基础。此外,我们表明,通过应用我们的方法,游戏引擎开发者能够理解子系统是否相关并划分职责。他们还可以评估子系统之间的关系是否适合该游戏引擎。

关键词

引用

@article{arxiv.2303.02429,
  title  = {An Exploratory Approach for Game Engine Architecture Recovery},
  author = {Gabriel C. Ullmann and Yann-Gaël Guéhéneuc and Fabio Petrillo and Nicolas Anquetil and Cristiano Politowski},
  journal= {arXiv preprint arXiv:2303.02429},
  year   = {2023}
}