模拟群体玩家的方法及系统与流程

文档序号:29855860发布日期:2022-04-30 09:20阅读:105来源:国知局
模拟群体玩家的方法及系统与流程

1.本发明涉及计算机领域,具体涉及了一种模拟群体玩家的方法及系统。


背景技术:

2.在多人开放场景的游戏中,部分功能与玩法的设计是为了让大量的玩家共同参与,以达到团队合作与相互竞技的体验。此类功能的开发,首先无论是在开发还是后续的测试过程中,都需要足够的游戏角色共同参与以验证完整的功能流程,但在实际的工作环境中,往往没有足够的内部人员来协助进行玩家的行为模拟,为了解决此问题,过往研发公司需要寻求外部第三方公司进行操作,由此产生巨大的研发成本。
3.例如,手机游戏因为性能要求的原因,需要较为严格的测试,因此,需要一种能够模拟大量玩家来对游戏进行完整地、自动化地运行整个模拟行为,达到测试目的。


技术实现要素:

4.本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了一种模拟群体玩家的方法及系统,解决了现有技术的不足。
5.本发明的技术方案包括一种模拟群体玩家的方法,该方法包括:获取模拟配置信息,根据所述模拟配置信息,生成模拟机器人;建立所述模拟机器人与服务器的连接,通过行为逻辑对所述模拟机器人进行行为模仿;获取所述模拟机器人的运行日志,根据所述运行日志执行评估。
6.根据所述的模拟群体玩家的方法,其中模拟配置信息至少包括机器人的编号、角色属性、角色状态、角色行为及角色位置。
7.根据所述的模拟群体玩家的方法,其中获取模拟配置信息,根据所述模拟配置信息,生成模拟机器人包括:根据所述模拟配置信息对机器人进行实例化;
8.创建主线程,所述主线程管理至少两个子线程,所述主线程转化所述模拟配置信息为对应的实例并向对应的所述子线程进行分发,以及,所述主线程还将接收的控制指令下发至对应的所述子线程。
9.根据所述的模拟群体玩家的方法,其中建立所述模拟机器人与服务器的连接包括:将每个所述模拟机器人以客户端并通过所述子线程与所述服务器建立通信连接,并保存所述服务器同步至与所述客户端的信息;将所述客户端的模拟操作转化为通信字段发送给所述服务器,以及,接收所述主线程分发的指令,所述客户端根据所述指令在本地进行初步执行并发送至所述服务器。
10.根据所述的模拟群体玩家的方法,其中方法还包括:对所述子线程进行分时处理,包括将不同的所述子线程轮流与服务端进行连接,并且在所述子线程内部将所有模拟机器人按照设定时间间隔及顺序逐步连接。
11.根据所述的模拟群体玩家的方法,其中通过行为逻辑对所述模拟机器人进行行为模仿包括:根据所述模拟配置信息为每个所述子线程启动一个相应的脚本文件;初始化所
述脚本文件,并自动执行相应的脚本逻辑,按照预设的行为模式控制每个所述客户端的所述模拟机器人,所述模拟机器人的模拟行为可以自定义设置;接收服务器下发的行为控制指令并执行响应,根据不控制指令选择对应的行为并执行。
12.根据所述的模拟群体玩家的方法,其中获取所述模拟机器人的运行日志包括:根据所述模拟配置信息将所述模拟机器人的日志分类、排序及处理,将满足设定条件后将其输出到相应的日志文件中,所述设定条件至少包括时间间隔及日志数量。
13.根据所述的模拟群体玩家的方法,其中根据所述运行日志执行评估包括所述模拟机器人的行为模拟评估和/或服务器压力评估。
14.根据所述的模拟群体玩家的方法,其中方法还包括通过可视交互界面执行模拟机器人列表管理、地图展示、指令执行、模拟机器人编辑及地图切换;所述模拟机器人列表管理通过对不同的模拟机器人采用设定规则进行命名,通过不同的名称状态对模拟机器人进行角色状态表示,以及,根据用户光标的复选框进行多个模拟机器人选取并进行动态地图显示;所述地图展示包括通过缩略图及不同的标识符显示不同状态的模拟机器人,以及,还可以对所述标识符进行移动控制以实现模拟机器人的移动控制;所述指令执行包括采用服务器指令、robotc++指令、robotlua指令和/或terminal指令的至少一对模拟机器人进行行为控制;所述模拟机器人编辑包括对模拟机器人的数量及属性进行动态调整;所述动态地图显示包括通过地图列表对地图进行快速切换。
15.本发明的技术方案还包括一种用于执行上述任一方法的模拟群体玩家的系统,其特征在于,所述系统包括模拟机器人管理模块、日志模块、模拟执行模块、自动化模块、界面模块及服务器;所述模拟机器人管理模块用于获取模拟配置信息,根据所述模拟配置信息,生成模拟机器人;所述日志模块用于根据所述模拟配置信息将所述模拟机器人的日志分类、排序及处理,将满足设定条件后将其输出到相应的日志文件中;所述模拟执行模块用于建立和管理所述模拟机器人与所述服务器的通信连接;所述自动化模块用于通过行为逻辑对所述模拟机器人进行行为模仿;所述界面模块用于通过可视交互界面执行模拟机器人列表管理、地图展示、指令执行、模拟机器人编辑及地图切换。
16.本发明的有益效果如下:通过模拟大量客户端来进行全自动的功能测试,通过一次性的设定极大地简化了后期的重复工作,减少了功能开发以外的时间损耗;将客户端分配在不同的线程以减少cpu的运行压力,将不同的线程分配在不同的时间进行网络连接以减少网络通信的压力,通过这两个最关键瓶颈的优化,实现了可同时模拟大量客户端在线的性能目标;所有模拟客户端的输出信息进行统一的、分门别类的管理,极大地整洁了零乱无序的信息,还可以根据后续使用中的实际需求对这些信息进行更加细致的划分。
附图说明
17.下面结合附图和实施例对本发明进一步地说明;
18.图1所示为根据本发明实施方式的模拟群体玩家的方法流程图。
19.图2所示为根据本发明实施方式的模拟群体玩家的系统框图。
20.图3所示为根据本发明实施方式的一种模拟群体玩家的系统结构图。
具体实施方式
21.本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
22.在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。
23.在本发明的描述中,对方法步骤的连续标号是为了方便审查和理解,结合本发明的整体技术方案以及各个步骤之间的逻辑关系,调整步骤之间的实施顺序并不会影响本发明技术方案所达到的技术效果。
24.本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
25.参考图1,本实施例提供了模拟群体玩家的方法流程图,其流程包括:
26.获取模拟配置信息,根据模拟配置信息,生成模拟机器人;
27.建立模拟机器人与服务器的连接,通过行为逻辑对模拟机器人进行行为模仿;
28.获取模拟机器人的运行日志,根据运行日志执行评估。
29.在一个实施方案中,其中的模拟配置信息通过用户进行自定义配置,其至少机器人的编号、角色属性、角色状态、角色行为和/或角色位置的至少一种;
30.在一个实施方案中,建立模拟机器人与服务器的连接采用如下方式:通过模拟配置信息对模拟机器人实例,创建主线程,主线程管理至少两个子线程,主线程转化模拟配置信息为对应的实例并向对应的子线程进行分发,以及,主线程还将接收的控制指令下发至对应的子线程;
31.在一个实施方案中,通过行为逻辑对模拟机器人进行行为模仿将每个模拟机器人以客户端并通过子线程与服务器建立通信连接,并保存服务器同步至与客户端的信息;将客户端的模拟操作转化为通信字段发送给服务器,以及,接收主线程分发的指令,客户端根据指令在本地进行初步执行并发送至服务器;
32.在一个实施方案中,根据运行日志执行评估通过模拟配置信息对游戏服务器压力、模拟机器人(运行状况)、通信的进行评估。
33.参照图2,本实施例模拟群体玩家的系统框图。系统包括模拟机器人管理模块、日志模块、模拟执行模块、自动化模块、界面模块及服务器,其中界面模块分别连接模拟机器人管理模块、日志模块、模拟执行模块及自动化模块,服务器连接;模拟机器人管理模块用于获取模拟配置信息,根据模拟配置信息,生成模拟机器人;日志模块用于根据模拟配置信息将模拟机器人的日志分类、排序及处理,将满足设定条件后将其输出到相应的日志文件中;模拟执行模块用于建立和管理模拟机器人与服务器的通信连接;自动化模块用于通过行为逻辑对模拟机器人进行行为模仿;界面模块用于通过可视交互界面执行模拟机器人列表管理、地图展示、指令执行、模拟机器人编辑及地图切换。
34.图3所示为根据本发明实施方式的一种模拟群体玩家的系统结构图。其中主管理模块包括:
35.(1)robot管理模块:对robot相关的所有模块进行实例化,包括主线程本身以及直接对robot实例进行管理的子线程。对使用者提供的配置参数进行解析,转化为robot的配
置并对所需的robot实例向不同的线程进行分发。在使用者对robot执行实时指令时,将指令分发到对应的子线程开始执行。
36.(2)日志模块:根据使用者的配置将所有日志分类,排序,处理,然后在满足一定条件后将其输出到相应的日志文件中。该模块根据输出条件将日志分为几类,例如当同类日志达到某个数量就统一输出的数量日志,当遇到重复信息就将之前信息输出的不可重复日志,按照一定间隔时间定时输出的定时日志。该模块的设计目的主要是让大量的无序信息变得有序,使其尽量整洁可读。
37.(3)模拟执行模块:在各个子线程中,每个robot分别作为一个独立的客户端与服务器相连,保存服务器同步到客户端的信息,将使用者的操作转化为它通信字段发送给服务器,除此之外还要接收主线程分发的指令,将复杂操作转化为简单操作,在本地进行初步执行之后再发给服务器。该模块的难点在于多个线程可能会有成千上万个通信端口与服务器相连,大量端口的连接可能会导致windows系统的网络负载过重,缓冲区无法暂存如此大量的网络连接数据,使得大量的连接在多次重复尝试之后依然无法连接至服务器。为了解决此问题,对所有线程进行分时处理,不同的线程轮流与服务端进行连接,并且在线程内部将所有robot分批,按顺序逐步连接,两次分散之后,极大地减少了通信压力,可以应付上万数量的客户端与服务器进行连接。
38.(4)自动化模块:根据配置为每个线程启动一个相应的脚本文件,对其进行初始化后,将自动执行相应的脚本逻辑,按照预设的行为模式控制每个客户端角色,对服务器发来的各种消息进行响应,根据不同的结果选择不同的后续行为,并且辅以关键的日志信息来确认在各种玩家行为模式下游戏流程是否能正常执行。
39.其中管理模块包括:
40.(1)robot列表界面,模拟工具生成的游戏角色均按照预定的规则取名,对不同门派,不同心法,不同性别的游戏角色分别进行编号取名,并将相关信息直接显示在角色名字中,方便使用者根据具体需求,在必要的时候对不同的游戏角色进行不同的操作。
41.对于已经生成的所有robot,将根据当前在线状态以及所在的地图进行分类显示。还对不同状态的角色通过不同的文字颜色区别显示,以区分离线和选择状态。在界面中提供了便捷的断开与连接操作,以便根据需要对游戏角色进行断线和重连的测试。
42.除此之外还可以通过复选框选中复数的游戏角色,或者通过全选地图内的角色来快速选中大量角色。被选中的角色将会同时执行后续的其他操作或指令。当在游戏角色列表中选择某个角色时,该角色处于选择状态,地图界面将显示处于选择状态的角色所在的地图。
43.(2)地图界面,地图界面展示单个地图,展示的地图可以在游戏角色列表中随意切换。地图中显示目前存在的所有模拟角色,并通过红蓝绿三种不同颜色的圆点来区别显示选择,选中和普通状态的游戏角色,方便使用者随时查看每个游戏角色当前所处的位置。
44.除了实时的显示功能,该界面还提供点击行走的操作方式,选中单个或多个角色后可以通过点击地图中的点来操作角色朝着该点行走,并且会自行进行行走逻辑的简单模拟计算,进行实时的位置显示,并在行走结束后同步当前角色的实际位置,以防某些特殊原因导致的计算偏差。
45.(3)指令执行界面,通过直接的程序指令来控制robot进行复杂的操作,通过选中
多个游戏角色可以同时对复数的客户端同时进行控制。指令共分为四类:

通过模拟系统直接发送给服务器的server指令,比如控制角色参加活动,释放技能;

直接在模拟系统执行的robotc++指令,比如添加新的robot,控制robot的断开和重连;

发送给模拟系统然后在其脚本中执行的robotlua指令,比如输出客户端日志;

在图形化终端中直接执行的terminal指令,比如控制角色移动;
46.四种指令中,server指令和robotlua指令可由使用者自由编辑,并且会为使用者保存在本地文件中,每次开启时无需重新编辑。robot指令和terminal指令均为工具提供的固定指令,使用者无法更改或新增内容,但可以根据实际需求调节指令的参数。
47.(4)robot新增界面,提供图形化界面用以批量新增模拟数量,并可以对新增角色的基本参数进行调整,可以调整的有角色的门派,性别以及要登录的服务器id,对于每种配置都可以选择新增的人数以减少大量添加时的操作数量。
48.(5)地图切换界面,提供简易的地图切换方式,可以看到当前的地图列表,直接切换到其中的默认位置。
49.应当认识到,本发明实施例中的方法步骤可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
50.此外,可按任何合适的顺序来执行本文描述的过程的操作,除非本文另外指示或以其他方式明显地与上下文矛盾。本文描述的过程(或变型和/或其组合)可在配置有可执行指令的一个或多个计算机系统的控制下执行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用)、由硬件或其组合来实现。所述计算机程序包括可由一个或多个处理器执行的多个指令。
51.进一步,所述方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、ram、rom等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
52.计算机程序能够应用于输入数据以执行本文所述的功能,从而转换输入数据以生成存储至非易失性存储器的输出数据。输出信息还可以应用于一个或多个输出设备如消费者。在本发明优选的实施例中,转换的数据表示物理和有形的对象,包括消费者上产生的物理和有形对象的特定视觉描绘。
53.上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各
种变化。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1