Conventional debugging techniques used in traditional software are similarly used when debugging video games. However, the reality of video games require its own set of unique debugging techniques such as On-Screen Console, Debug Draws, Debug Camera, Cheats and In-Game Menus, and Data Scrubbing. In this article, we provide insights from a video game studio on how 20 seasoned industry game developers debug during the production of a game. Our experiments rely on the recordings of debugging sessions for the most critical bugs categorized as Crashes, Object Behaviors, and Object Persistence. In this paper, we focus on identifying the debugging activities that bottleneck bug resolution. We also identify the debugging tools used to perform debugging techniques. Lastly, we present how different disciplines collaborate during debugging and how technical roles are at the core of debugging. Our thematic analysis has identified game developers spend 36.6\% of their time inspecting game artifacts and 35.1\% of their time reproducing the bug locally.
翻译:传统软件中使用的常规调试技术同样适用于视频游戏调试。然而,视频游戏的现实需求催生了一套独特的调试技术,例如屏幕控制台、调试绘制、调试摄像机、作弊与游戏内菜单以及数据清理。本文从一个视频游戏工作室的视角,深入探讨了20位经验丰富的行业游戏开发者在游戏制作过程中如何进行调试。我们的实验基于对最关键错误调试过程的记录,这些错误被归类为崩溃、对象行为异常和对象持久性问题。本文重点在于识别那些阻碍错误解决的调试活动。我们还分析了用于执行调试技术的调试工具。最后,我们展示了不同专业领域在调试过程中如何协作,以及技术角色如何处于调试工作的核心。我们的主题分析表明,游戏开发者将36.6%的时间用于检查游戏构件,35.1%的时间用于本地复现错误。