当前位置: 首页 > 科技观察

腾讯IEG开源AISDK:自动化测试和MOBA游戏

时间:2023-03-21 11:23:33 科技观察

SDK也能自动玩游戏?这个SDK有点“酷”。近日,腾讯互娱(IEG)开源了一款名为GAMEAISDK的自动化测试平台。平台封装了多种工具供开发者使用。目前支持的游戏类型包括跑酷、吃鸡、射击。课程、MOBA课程等。项目地址:https://github.com/Tencent/GameAISDK平台内置“天天酷跑”示例。左图是没有训练的随机动作,右图是训练后的效果。SDK(SoftwareDevelopmentKit)一般是软件工程师为特定的软件包、软件框架、硬件平台、操作系统等创建应用软件时可以使用的开发工具的集合,看起来有些抽象。在实际项目中,我们只需要记住,SDK由手游渠道提供,集成了用户登录、社区功能、社交分享功能、数据后台统计功能等功能模块。接入SDK后,游戏厂商和渠道必须对SDK包进行测试,测试通过后才能上线游戏。看到上图炫酷的奔跑动画效果后,是不是想试试吃鸡射击游戏的游戏体验呢?本开源项目可以满足您的需求,支持用户项目接入和二次开发。AISDK平台AISDK平台是一个基于游戏图像开发游戏AI的开源工具包。该工具包主要完成UI检测、游戏内元素识别、AI算法(DQN、IM)等功能。开发者可以基于该工具包完成游戏自动化测试。目前平台支持的游戏类型包括跑酷、吃鸡、射击、MOBA等。在特定场景下,可以替代人工对游戏场景进行自动化,减少游戏场景测试的人力投入。工具包主要包括AISDK、AIClient、SDKTool(配置文件工具)。SDKTool帮助我们生成特定游戏相关的AISDK所需的配置文件。比如在游戏运行过程中,需要全程进行动作交互的UI、需要识别的游戏元素等。AI开发过程中使用的信息可以来自游戏图像(由AIClient获取)或其他数据。AISDK可以自动完成游戏UI操作并进入游戏场景,像玩家一样操作手机玩游戏。功能介绍GAMEAISDK平台具有以下功能:提供多种图像识别算法识别游戏场景中的关键特征数据,如游戏场景中的技能状态、按键位置、目标位置等。提供模仿学习和强化学习AI算法,可直接用于训练游戏场景AI。提供配套的样本采集和图像标注工具。AISDK模块介绍AISDK主要包括AIClient模块、MC模块、IO模块、UI模块、GameReg模块、AI模块。图1:AISDK框图。AIClient主要与手机进行交互,获取游戏画面,执行UI或AI输出动作;IO模块作为AISDK的数据输入输出控制与AIClient交互;MC模块与IO模块交互,将数据分发给AISDK后端的UI和AI模块,并做一些业务逻辑管控;UI模块根据游戏图像识别需要进行的UI操作;GameReg模块根据游戏图像元素识别游戏场景中的数字、血条、目标等;AI模块根据识别出的游戏元素,根据AI算法执行业务逻辑。图2:架构图。环境部署运行AISDK中的demo,首先需要安装依赖,然后本地PC连接手机(或手机模拟器),采集手机(或手机模拟器)的游戏画面)实时通过AIClient,发送给AI服务做进一步处理。处理。将AI服务处理后的动作结果反馈给连接PC的手机,完成动作交互。图3:AISDK与手机交互图。部署依赖环境部署依赖环境主要是安装AISDK、SDKTool(配置文件生成工具)、AIClient的环境依赖。该项目提供了两种操作系统的部署过程。Ubuntu:目前SDK工具包运行在16.0464位Ubuntu系统上,使用的深度学习框架为TensorFlow,所以需要安装依赖的ubuntu系统和相应依赖的第三方工具包,如TensorFlow、OpenCV、protobuf等使用前。环境主要依赖nvdia-cuda9.0、cudnn7.0、opencv3.4.2、protobuf3.2.0、androidadb、postertoolset等依赖包。详情请参考:https://github.com/Tencent/GameAISDK/blob/master/doc/environment/InstallStepByStep.md。Windows:SDK包自带依赖包文件“requirements.txt”需要安装,因此windows下只需要安装“requirements.txt”中的依赖即可。详情请参考:https://github.com/Tencent/GameAISDK/blob/master/doc/environment/SDKToolEnv.md。此外,项目还介绍了配置文件工具SDKTool、项目接入、二次开发、调试技巧。详情请参考项目链接。