游戏的任务执行方法、装置、设备及计算机可读存储介质制造方法及图纸

技术编号:27955534 阅读:30 留言:0更新日期:2021-04-06 13:45
本申请公开了一种游戏的任务执行方法、装置、设备及计算机可读存储介质,涉及游戏设计技术领域,获取全局任务队列,选取待处理地图任务队列并提取预设数目的第一地图任务,基于目标工作线程执行,并在存在其他地图任务时,将待处理地图任务队列重新添加至全局任务队列,简化游戏开发的难度,降低出错的风险和人力物力成本。所述方法包括:当检测到游戏程序处于运行状态时,获取游戏程序的全局任务队列;在全局任务队列中选取待处理地图任务队列,在待处理地图任务队列中提取预设数目的第一地图任务;基于目标工作线程,执行预设数目的第一地图任务;若待处理地图任务队列中存在第二地图任务,则将待处理地图任务队列重新添加至全局任务队列。

【技术实现步骤摘要】
游戏的任务执行方法、装置、设备及计算机可读存储介质
本申请涉及游戏设计
,特别是涉及一种游戏的任务执行方法、装置、设备及计算机可读存储介质。
技术介绍
近年来,游戏设计技术飞速发展,很多游戏都是用大世界场景以及碰撞检测,因此,对服务器的性能要求越来越高。游戏中的任务一般都是在地图上,为了更好的游戏体验,游戏开发人员通常会采用多线程机制,一个地图的任务用多个线程来执行,充分利用计算机处理多核计算,有效提高性能。相关技术中,游戏地图的任务为客户端任务、心跳任务、定时任务等等,服务器将这些任务整理为任务队列,控制多个线程执行任务队列中的任务。在实现本申请的过程中,申请人发现相关技术至少存在以下问题:由于是多线程执行任务,因此,在游戏开发阶段需要在很多操作对象上添加程序锁来保证逻辑和数据的正确性,而且开发过程中涉及到大量的使用回调方式,同一个业务逻辑会被分散在不同的代码文件中,导致游戏的开发过程繁琐,业务逻辑编写复杂且很容易出错,提高了人力物力成本。
技术实现思路
有鉴于此,本申请提供了一种游戏的任务执本文档来自技高网...

【技术保护点】
1.一种游戏的任务执行方法,其特征在于,包括:/n当检测到游戏程序处于运行状态时,获取所述游戏程序的全局任务队列,所述全局任务队列包括所述游戏程序的多个游戏地图对应的多个地图任务队列,所述多个地图任务队列中每个地图任务队列包括对应游戏地图的地图任务;/n在所述全局任务队列中选取待处理地图任务队列,在所述待处理地图任务队列中提取预设数目的第一地图任务;/n基于目标工作线程,执行所述预设数目的第一地图任务,所述目标工作线程是多个工作线程中处于空闲状态的工作线程;/n若所述待处理地图任务队列中存在第二地图任务,则将所述待处理地图任务队列重新添加至所述全局任务队列,所述第二地图任务是所述待处理地图任务...

【技术特征摘要】
1.一种游戏的任务执行方法,其特征在于,包括:
当检测到游戏程序处于运行状态时,获取所述游戏程序的全局任务队列,所述全局任务队列包括所述游戏程序的多个游戏地图对应的多个地图任务队列,所述多个地图任务队列中每个地图任务队列包括对应游戏地图的地图任务;
在所述全局任务队列中选取待处理地图任务队列,在所述待处理地图任务队列中提取预设数目的第一地图任务;
基于目标工作线程,执行所述预设数目的第一地图任务,所述目标工作线程是多个工作线程中处于空闲状态的工作线程;
若所述待处理地图任务队列中存在第二地图任务,则将所述待处理地图任务队列重新添加至所述全局任务队列,所述第二地图任务是所述待处理地图任务队列中除所述预设数目的第一地图任务外的其他地图任务。


2.根据权利要求1所述的方法,其特征在于,所述当检测到游戏程序处于运行状态时,获取所述游戏程序的全局任务队列之前,所述方法还包括:
接收所述游戏程序产生的协议信息,基于所述协议信息,确定已创建地图以及所述已创建地图的目标地图任务队列;
将所述协议信息指示的目标地图任务添加至所述目标地图任务队列中;
检测所述目标地图任务队列是否注册在所述全局任务队列中;
若检测到所述目标地图任务队列未注册在所述全局任务队列中,则在所述全局任务队列中注册所述目标地图任务队列,将所述目标地图任务队列添加至所述全局任务队列;
若检测到所述目标地图任务队列已注册在所述全局任务队列中,则继续获取其他已创建地图的地图任务队列并检测是否注册在所述全局任务队列中。


3.根据权利要求2所述的方法,其特征在于,所述接收所述游戏程序产生的协议信息,基于所述协议信息,确定已创建地图以及所述已创建地图的目标地图任务队列,包括:
接收所述协议信息,确定所述协议信息指示的地图标识,获取所述地图标识指示的所述已创建地图;
在对象池中查询所述地图标识对应的目标地图对象,在所述目标地图对象中提取所述目标地图任务队列。


4.根据权利要求2所述的方法,其特征在于,所述接收所述游戏程序产生的协议信息,基于所述协议信息,确定已创建地图以及所述已创建地图的目标地图任务队列之后,所述方法还包括:
读取所述已创建地图的释放标记;
当所述释放标记指示所述已创建地图的目标地图对象被释放时,将所述协议信息删除,结束本次的任务添加操作,继续接收其他的协议信息;
当所述释放标记指示所述已创建地图的目标地图对象未被释放时,继续向所述目标地图任务队列添加所述目标地图任务。


5.根据权利要求1所述的方法,其特征在于,所述在所述全局任务队列中选取待处理地图任务队列,包括:
分别确定所述多个地图任务队列中每个地图任务队列添加至所述全局任务队列的添加时间点,得到多个添加时间点;
统计所述多个添加时间点与当前时间点的时间间隔,在所述多个添加时间点中确定目标添加时间点,所述目标添加时间点与所述当前时间点之间的时间间隔大于所述多个添加时间点中除所述目标添加时间点外的其他添加时间点;
将所述目标添加时间点对应的地图任务队列作为所述待处理地图任务队...

【专利技术属性】
技术研发人员:林浩朱建文
申请(专利权)人:北京冰封互娱科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1