问题
您将如何将自动化测试添加到游戏中?
我相信您可以对游戏引擎的许多功能(网络、对象创建、内存管理等)进行单元测试,但是是否可以自动测试实际游戏本身?
我不是在谈论游戏元素(比如 Protoss 会在地图 X 中击败 Zerg),而是在谈论游戏和引擎之间的交互。
介绍
在游戏开发中,引擎只是游戏的一个平台。您可以将游戏引擎视为操作系统,将游戏视为操作系统将运行的软件。游戏可以是脚本的集合或游戏引擎中的实际子程序。
可能的答案
我的想法是这样的:
您将需要一个确定性的引擎。这意味着给定一组输入,输出将完全相同。这将包括使用相同输入播种的随机生成器。
然后,创建一个包含化身/用户可以与之交互的几个对象的准系统级别。从小处着手,然后随着更多交互的发展,将对象添加到关卡中。
创建一个遵循路径的脚本(测试寻路)并与不同的对象交互(存储结果或预期行为)。该脚本将是您的自动化测试。一段时间后(比如一周),运行脚本和引擎的单元测试。