一种游戏资源加载方法、装置、计算机设备和存储介质与流程
本申请涉及计算机技术领域,具体涉及一种游戏资源加载方法、装置、计算机设备和存储介质。
背景技术:
随着计算机技术的发展,人们对游戏的画面和细节要求日益提高。丰富多彩、逼真而充满细节的画面必然导致需要更多的资源,进而导致需要更大的游戏安装包。目前,对于比较复杂的mmorpg类型游戏,在移动端包体的大小可能也会达到3-4g,甚至更多。在网速较慢的环境下,加载如此大的包体可能需要几十分钟甚至数个小时。如此长的等待时间不但造成了非常差的用户体验,甚至可能由于加载时间过长导致用户流失。然而另一方面,通常游戏的体验是个循序渐进的过程,有许多游戏后期的玩法和内容,在前期是并不需要的。为了让用户可以避免加载这些前期非必须的资源,尽早的开始体验游戏,一些游戏采用了微端的解决方案。所谓微端,就是一个仅包含游戏前期必须的资源,且可以独立安装启动的游戏客户端。微端包体的大小通常远小于完整客户端包体的大小,在启动微端后,会在游戏中让玩家在后台继续加载其他游戏资源,实现玩家边玩边加载游戏的功能。
然而,对于一些大型的游戏而言,除去基础游戏包外剩余的游戏包可能非常庞大,玩家可能在体验完游戏前期的内容后,还需要等待很长时间才可将所有的游戏包加载完成,因此,在目前的方案中,玩家等待资源加载的时间长。
技术实现要素:
本发明实施例提供一种游戏资源加载方法、装置、计算机设备和存储介质,可以减少玩家等待资源加载的时间。
本发明实施例提供一种游戏资源加载方法,该游戏资源加载方法包括:
采集目标游戏的基础数据包,并基于所述基础数据包运行所述目标游戏;
检测运行所述目标游戏时的网络环境信息和设备运行信息;
根据所述网络环境信息和设备运行信息,确定游戏资源加载时的加载速度;
获取与预设资源加载策略对应的所述目标游戏的拓展数据包;
基于获取的拓展数据包对应的资源加载优先级,通过所述加载速度将获取的拓展数据包加载至所述目标游戏中。
相应的,本申请还提供一种游戏资源加载装置,该游戏资源加载装置包括:
运行模块,用于采集目标游戏的基础数据包,并基于所述基础数据包运行所述目标游戏;
检测模块,用于检测运行所述目标游戏时的网络环境信息和设备运行信息;
确定模块,用于根据所述网络环境信息和设备运行信息,确定游戏资源加载时的加载速度;
获取模块,用于获取与预设资源加载策略对应的所述目标游戏的拓展数据包;
加载模块,用于基于获取的拓展数据包对应的资源加载优先级,通过所述加载速度将获取的拓展数据包加载至所述目标游戏中。
可选的,在本申请的一些实施例中,所述确定模块包括:
提取单元,从所述网络环境信息中提取运行所述目标游戏时的网络强度,以及从所述设备运行信息提取当前设备的负载情况;
确定单元,用于基于所述网络强度以及负载情况,确定游戏资源加载时的加载速度。
可选的,在本申请的一些实施例中,所述确定单元包括:
获取子单元,用于获取所述目标游戏的各拓展数据包对应的资源加载优先级;
确定子单元,用于基于所述网络强度、负载情况以及获取的资源加载优先级,确定所述目标游戏的各拓展数据包进行游戏资源加载时相应的加载速度。
可选的,在本申请的一些实施例中,所述确定子单元具体用于:
当检测到所述网络强度大于预设值时,且所述负载情况满足预设条件时,则为各拓展数据包分配第一预设加载速度;
当检测到所述网络强度小于等于预设值时,或所述负载情况不满足预设条件时,则为资源加载优先级为一级的拓展数据包分配第一预设加载速度,并为资源加载优先级为二级的拓展数据包分配第二预设加载速度,其中,第一预设加载速度大于第二预设加载速度。
可选的,在本申请的一些实施例中,所述加载模块包括:
识别单元,用于识别获取的拓展数据包对应的资源类别信息;
检测单元,用于基于识别的资源类别信息,检测本地数据库中是否存储有获取的拓展数据包;
第一加载子单元,用于当检测到所述本地数据库中存储有获取的拓展数据包时,则对本地数据库中的拓展数据包进行校验;当校验通过时,则基于获取的拓展数据包对应的资源加载优先级将本地数据库中的拓展数据包加载至所述目标游戏中;
第二加载子单元,用于当检测到所述本地数据库中没有存储获取的拓展数据包时,则基于获取的拓展数据包对应的资源加载优先级,通过所述加载速度将获取的拓展数据包加载至所述目标游戏中。
可选的,在本申请的一些实施例中,所述第二加载子单元具体用于:
当检测到所述本地数据库中没有存储获取的拓展数据包时,则采集预先构建的资源加载优先级与加载速度之间的映射关系;
在获取的拓展数据包中将资源加载优先级为一级的拓展数据包确定为第一拓展数据包,以及将资源加载优先级为二级的拓展数据包确定为第二拓展数据包;
基于获取的拓展数据包对应的资源加载优先级和映射关系,依次将第一拓展数据包和第二拓展数据包加载至所述目标游戏中。
可选的,在本申请的一些实施例中,还包括监测模块,所述第二检测模块具体用于:
监测所述目标游戏的控制状态;
当监测到所述目标游戏的控制状态为空闲状态时,则提高各拓展数据包进行游戏资源加载时相应的加载速度;
当监测到所述目标游戏的控制状态为操作状态时,则降低各拓展数据包进行游戏资源加载时相应的加载速度。
可选的,在本申请的一些实施例中,所述获取模块具体用于:
确定与预设资源加载策略对应的资源加载模式;
当所述资源加载模式为完整资源加载模式时,则获取所述目标游戏所有的拓展数据包;
当所述资源加载模式为部分资源加载模式时,则获取与预设资源加载策略对应数量的所述目标游戏的拓展数据包。
本申请实施例在采集目标游戏的基础数据包,并基于基础数据包运行所述目标游戏后,检测运行所述目标游戏时的网络环境信息和设备运行信息,然后,根据所述网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,接着,获取与预设资源加载策略对应的所述目标游戏的拓展数据包,最后,基于获取的拓展数据包对应的资源加载优先级,通过所述加载速度将获取的拓展数据包加载至所述目标游戏中;本申请的游戏资源加载方案是根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,并且,在进行游戏资源加载时,是基于拓展数据包对应的资源加载优先级,通过确定的加载速度将获取的拓展数据包加载至目标游戏中,对于一些大型的游戏而言,可以优先加载资源加载优先级高的拓展数据包,避免由于目标游戏的游戏包过大,导致玩家等待资源加载的时间过长,即,本方案可以减少玩家等待资源加载的时间。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本申请实施例提供的游戏资源加载方法的场景示意图;
图1b是本申请实施例提供的游戏资源加载方法的流程图;
图2a是本申请实施例提供游戏资源加载方法的另一流程图;
图2b是本申请实施例提供的游戏资源加载方法的另一场景示意图;
图2c是本申请实施例中加载游戏客户端的流程示意图;
图3a是本申请实施例提供的游戏资源加载装置的结构示意图;
图3b是本申请实施例提供的游戏资源加载装置的另一结构示意图;
图4是本申请实施例提供的计算机设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供一种游戏资源加载方法、装置、计算机设备和存储介质。
其中,该游戏画面处理装置具体可以集成在服务器中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
本实施例中,计算机设备可以用于:采集目标游戏的基础数据包,并基于基础数据包运行所述目标游戏;检测运行目标游戏时的网络环境信息和设备运行信息;根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度;获取与预设资源加载策略对应的目标游戏的拓展数据包;基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。上述计算机设备可以是用户的终端设备或是开方人员的游戏服务器等等,本实施例对此没有限制。
本实施例中,基于基础数据包运行目标游戏后,该目标游戏可以部署到对应的游戏服务器上(如图1a中的游戏服务器20),用户可以通过终端10与该游戏服务器20进行交互。其中,终端10中可以集成有游戏客户端,用户可以通过终端上的游戏客户端与游戏服务器进行交互,或者用户可以通过终端10登录游戏服务器提供的网页,通过网页实现与游戏服务器的交互。
终端10与服务器20之间通过网络连接,比如,通过有线或无线网络连接等。
在一个示例中,当目标游戏部署到游戏服务器上后,终端10,可以展示目标游戏的操作页面,然后,终端10可以检测运行目标游戏时的网络环境信息和设备运行信息,接着,终端10可以根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,再然后,终端10可以获取与预设资源加载策略对应的目标游戏的拓展数据包,最后,终端10可以基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中,具体的,终端10可以从游戏服务器20中获取与预设资源加载策略对应的目标游戏的拓展数据包,并基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图1b,本申请实施例提供了一种游戏资源加载方法,流程可以如下:采集目标游戏的基础数据包,并基于基础数据包运行所述目标游戏;检测运行目标游戏时的网络环境信息和设备运行信息;根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度;获取与预设资源加载策略对应的目标游戏的拓展数据包;基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
101、采集目标游戏的基础数据包,并基于基础数据包运行目标游戏。
其中,基础数据包又可以成为前期资源数据包,基础数据包为目标游戏的完整资源中的一部分资源,当基础数据包运行时,可以启动目标游戏的前期游戏进度。
可以理解的是,与前期资源数据包对应的是后期资源数据包,后期资源数据包包括多个拓展数据包,后期资源数据包为目标游戏的完整资源中的另一部分资源;完整资源即由后期资源与前期资源构成。以游戏进度而言,后期资源与游戏后期进度相关联。
比如,当目标游戏为剧情类游戏时,可以根据剧情进度来划分前期资源与后期资源。例如,若目标游戏包含1~m个章节时,可以将前n个章节的相关数据作为前期资源,后m-n章的相关数据则为后期资源。其中,相关数据可以包括:剧情数据、任务数据、地图数据、人物数据中的一个或多个。
当目标游戏为对战类游戏时,可以根据对战模式来划分前期资源与后期资源。例如,若目标游戏包含经典模式、精英模式以及困难模式等多个对战模式,可以将经典模式的相关数据作为前期资源,将其他对战模式的相关数据作为后期资源。
当目标游戏为跑酷类游戏时,可以根据跑酷场地的不同来划分前期资源和后期资源。例如,目标游戏包含多个跑酷场地,可以将基础场地的相关数据作为前期资源,将其他跑酷场地的相关数据作为后期资源。
当目标游戏为关卡类游戏时,可以将前n个关卡的相关数据作为前期资源,将其他关卡的相关数据作为后期资源。
需要说明的是,本发明实施例对于前期资源和后期资源的划分规则无特别限定,前述各场景的举例为几种可能的实现方式,实际场景中,也可以有其他的实现方式。例如,n的值可以任意确定。又例如,对战类游戏中,也可以根据对战场地的不同来进行前期资源与后期资源的划分。又例如,关卡类游戏中,也可以根据关卡模式(例如经典模式和困难模式)来划分前期资源和后期资源。
102、检测运行目标游戏时的网络环境信息和设备运行信息。
其中,网络环境信息可以包括网络强度以及网络接入类型,网络接入类型可以包括数据接入和无线接入,数据接入可以包括局域网或移动网络,无线接入可以包括无线宽带,网络强度包括上行信号强度和下行信号强度,设备运行信息包括中央处理器使用占比、内存剩余量以及游戏运行帧率等设备运行时的信息,具体根据实际情况选择检测相应的信息,在此不再赘述。
103、根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度。
其中,在实际加载游戏资源的过程中,网络强度是影响加载速度的关键因素之一,并且,由于不同设备的负载能力不同,在相同的网络强度下,还需要考虑设备的负载能力,避免加载游戏资源的过程中,对玩家的设备造成卡顿,进而影响玩家的游戏体验,即,可选的,在一些实施例中,步骤“根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度”,具体可以包括:
(11)从网络环境信息中提取运行目标游戏时的网络强度;
(12)根据设备运行信息生成当前设备的负载情况;
(13)基于网络强度以及负载情况,确定游戏资源加载时的加载速度。
设备的负载情况可以由多个维度体现,比如,中央处理器的使用占比、游戏画面帧率、设备电池的温度、内存剩余量以及设备电量等等,当设备的负载情况良好且网络情况良好时,则游戏资源加载时的加载速度为v1,当设备的负载情况恶劣或网络情况恶劣时,则游戏资源加载时的加载速度为v2,当设备的负载情况恶劣且网络情况恶劣时,则游戏资源加载时的加载速度为v3,其中,v1>v2>v3,当中央处理器的使用占比小于设定值、游戏画面帧率大于设定帧率以及设备电池的温度小于设定温度,可以将当前设备的负载情况确定为良好,当然也可以根据实际情况选择相应的信息生成当前设备的负载情况,本实施例仅仅是举例进行说明,可以理解的是,网络强度大于设定的网络强度时,可以将网络情况确定为良好。
进一步的,前面提到后期资源数据包包括多个拓展数据包,其中,各拓展数据包均有对应的资源加载优先级,在本申请中,基于资源加载优先级对目标游戏的所有拓展数据包进行区分,在实际游戏资源加载时,优先加载资源加载优先级高的拓展数据包,以避免玩家在体验完基础数据包的内容后,花费大量的时间等待游戏资源加载,也即,可选的,在一些实施例中,步骤“基于网络强度以及负载情况,确定游戏资源加载时的加载速度”,具体可以包括:
(21)获取目标游戏的各拓展数据包对应的资源加载优先级;
(22)基于网络强度、负载情况以及获取的资源加载优先级,确定目标游戏的各拓展数据包进行游戏资源加载时相应的加载速度。
例如,具体的,基于资源加载优先级对拓展数据包进行分类,将资源加载优先级高的拓展数据包确定为必要拓展数据包,将资源加载优先级低的拓展数据包确定为非必要拓展数据包,其中,必要拓展数据包可以包括与当前场景关联的数据,如需要展示给玩家看到的非玩家角色、怪物模型以及游戏玩家自身的模型等等,而非必要拓展数据报包则可以包括外观向装饰性的资源,如皮肤和坐骑等等,由于非必要拓展数据报包中的资源缺失并不影响游戏的正常流程,属于附加内容,因此,非必要拓展数据报包的游戏资源加载时间可以晚于必要拓展数据报包的游戏资源加载时间。
可选的,在一些实施例中,步骤“基于网络强度、负载情况以及获取的资源加载优先级,确定目标游戏的各拓展数据包进行游戏资源加载时相应的加载速度”,具体可以包括:
(31)当检测到网络强度大于预设值时,且负载情况满足预设条件时,则为各拓展数据包分配第一预设加载速度;
(32)当检测到网络强度小于等于预设值时,或所述负载情况不满足预设条件时,则为资源加载优先级为一级的拓展数据包分配第一预设加载速度,并为资源加载优先级为二级的拓展数据包分配第二预设加载速度。
需要说明的是,第一预设加载速度大于第二预设加载速度,一级的资源加载优先级高于二级的资源加载优先级,即,在游戏资源加载环境良好的场景下,为所有拓展数据包分配同样速率的加载速度,在游戏资源加载环境恶劣的场景下,为一级(资源加载优先级高的)拓展数据包分配较高的加载速度,以便后续可以快速地将资源加载优先级高的拓展数据包加载至目标游戏中。
104、获取与预设资源加载策略对应的目标游戏的拓展数据包。
可以理解的是,不同的资源加载策略所对应的拓展数据包的数量不同,比如,对于完整资源加载模式的资源加载策略,其是获取目标游戏的所有拓展数据报,而对于部分资源加载模式的资源加载策略,其是获取目标游戏的部分拓展数据包,即,可选的,在一些实施例中,步骤“获取与预设资源加载策略对应的目标游戏的拓展数据包”,具体可以包括:
(41)确定与预设资源加载策略对应的资源加载模式;
(42)当资源加载模式为完整资源加载模式时,则获取目标游戏所有的拓展数据包;
(43)当资源加载模式为部分资源加载模式时,则获取与预设资源加载策略对应数量的目标游戏的拓展数据包。
其中,资源加载策略可以是由玩家预先进行设定的,也可以是由服务器预先设定的,具体根据实际情况而定。
105、基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
其中,拓展数据包携带有相应的校验信息以及资源类别信息,在实际进行加载时,需要根据资源类别信息,对获取的拓展数据包进行校验和加载等一系列的处理,即,可选的,在一些实施例中,步骤“基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中”,具体可以包括:
(51)识别获取的拓展数据包对应的资源类别信息;
(52)基于识别的资源类别信息,检测本地数据库中是否存储有获取的拓展数据包;
(53)当检测到本地数据库中存储有获取的拓展数据包时,则对本地数据库中的拓展数据包进行校验;当校验通过时,则基于获取的拓展数据包对应的资源加载优先级将本地数据库中的拓展数据包加载至目标游戏中;
(54)当检测到本地数据库中没有存储获取的拓展数据包时,则基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
例如,具体的,当检测到本地数据库中存储有获取的拓展数据包时,则对本地数据库中的拓展数据包进行校验,其中,可以采用文件校验算法对拓展数据包的完整性进行校验,当校验通过时,则将通过检验的拓展数据包加载至目标游戏中;当校验不通过时,则基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中,并且,覆盖本地储存有的拓展数据包。
此外,为了确保目标游戏运行时的流畅程度,需要对加载速度进行控制,在本申请中可以实时检测设备运行时的负载情况,比如,当预判到目标游戏即将进行高负载的操作时,提前降低当前的加载速度。由于游戏的运行时的性能开销并非平稳不变而是波动变化的,而目标游戏本身可以根据当前的运行状态对后续的性能开销进行一定的预判。因此,可以通过在高负载操作之前降低加载速度,避免短时间的高负载操作导致游戏运行卡顿。,又比如,可以监测目标游戏的控制状态,根据目标游戏的控制状态对加载速度进行调整,即,可选的,在一些实施例中,还包括:
(61)监测目标游戏的控制状态;
(62)当监测到目标游戏的控制状态为空闲状态时,则提高各拓展数据包进行游戏资源加载时相应的加载速度;
(63)当监测到目标游戏的控制状态为操作状态时,则降低各拓展数据包进行游戏资源加载时相应的加载速度。
其中,空闲状态指的是玩家未针对目标游戏触发操作,可以理解的是,操作状态指的是玩家针对目标游戏触发了操作,通过上述的方法对加载速度进行控制,可以有效的兼顾加载效率和游戏运行的流畅性,很好的实现在不牺牲游戏体验的前提下高效的完成资源的加载
本申请实施例在采集目标游戏的基础数据包,并基于基础数据包运行目标游戏后,检测运行目标游戏时的网络环境信息和设备运行信息,然后,根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,接着,获取与预设资源加载策略对应的目标游戏的拓展数据包,最后,基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中,本申请的游戏资源加载方案是根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,并且,在进行游戏资源加载时,是基于拓展数据包对应的资源加载优先级,通过确定的加载速度将获取的拓展数据包加载至目标游戏中,对于一些大型的游戏而言,可以优先加载资源加载优先级高的拓展数据包,避免由于目标游戏的游戏包过大,导致玩家等待资源加载的时间过长,即,本方案可以减少玩家等待资源加载的时间。
根据实施例所述的方法,以下将举例进一步详细说明。
请参阅图2a,在本实施例中将以该游戏画面处理装置具体集成在终端中为例进行说明。
201、终端采集目标游戏的基础数据包,并基于基础数据包运行目标游戏。
其中,基础数据包又可以成为前期资源数据包,基础数据包为目标游戏的完整资源中的一部分资源,当基础数据包运行时,终端可以启动目标游戏的前期游戏进度。
202、终端检测运行目标游戏时的网络环境信息和设备运行信息。
203、终端根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度。
例如,具体的,终端基于资源加载优先级对拓展数据包进行分类,将资源加载优先级高的拓展数据包确定为必要拓展数据包,终端将资源加载优先级低的拓展数据包确定为非必要拓展数据包,其中,必要拓展数据包可以包括与当前场景关联的数据,如需要展示给玩家看到的非玩家角色、怪物模型以及游戏玩家自身的模型等等,而非必要拓展数据报包则可以包括外观向装饰性的资源,如皮肤和坐骑等等,由于非必要拓展数据报包中的资源缺失并不影响游戏的正常流程,属于附加内容,因此,非必要拓展数据报包的游戏资源加载时间可以晚于必要拓展数据报包的游戏资源加载时间。
204、终端获取与预设资源加载策略对应的目标游戏的拓展数据包。
比如,对于完整资源加载模式的资源加载策略,终端是获取目标游戏的所有拓展数据报,而对于部分资源加载模式的资源加载策略,终端是获取目标游戏的部分拓展数据包。
205、终端基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
例如,具体的,终端当检测到本地数据库中存储有获取的拓展数据包时,则对本地数据库中的拓展数据包进行校验,其中,终端可以采用文件校验算法对拓展数据包的完整性进行校验,当校验通过时,终端则将通过检验的拓展数据包加载至目标游戏中;当校验不通过时,终端则基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中,并且,覆盖本地储存有的拓展数据包。
为了便于进一步理解本申请的游戏资源加载方法,请参阅图2b,本方案中包含两个阶段,额外资源生成阶段和游戏运行阶段,其中,生成的额外资源包括当前版本所需的所有资源文件的名字列表、每个资源文件的校验信息以及每个资源所属的类别信息。所有资源文件和这些信息,均在发布前生成并上传到指定的服务器上供客户端进行加载。一般而言,游戏中实际使用的逻辑实体(如场景以及角色模型等)与实际的底层资源(如贴图、骨骼以及动画等)并非一一对应的关系。通常一个逻辑实体会对应多个底层资源,而一个底层资源也可能被多个逻辑实体使用。对于一个指定的类别,可以认为其对应一个逻辑实体集合。因此需要根据该逻辑实体集合找出其对应的底层资源集合,并记录下这些资源的对应的类别。该过程主要包括以下步骤:
a)根据游戏的具体情况,将游戏实际使用的所有逻辑实体分为三个互不相交的集合,分别记为s1、s2和s3;
b)将集合s1中每个逻辑实体对应的所有底层资源标记为类型1;
c)列出集合s2中每个逻辑实体对应的底层资源,如果未被标记为类型1,则标记为类型2;
a)d列出集合s3中每个逻辑实体对应的底层资源,如果未被标记为类型1或类型2,则标记为类型3;
上述步骤中,集合s1应该是满足能启动游戏客户端并能完整体验游戏前期内容的最小逻辑实体集合。集合s2应该是能体验绝大部分游戏内容,只有部分受限内容无法体验的最小逻辑实体集合。集合s3则应该是全部逻辑实体集合中剔除了集合s1和s2后剩余所有逻辑实体。
生成上述的额外资源并上传后,当玩家启动游戏客户端,会先获取额外资源文件,再依次加载不同类别的额外资源文件,其中,每次加载的流程如图2c所示,首先根据获取的额外资源中的资源类别信息,对完整的资源列表进行过滤,得到一份当前阶段所需的资源列表,然后,遍历上述的资源列表,如果客户端不存在该资源,则直接加载该资源;如果客户端存在该资源,则根据资源校验信息对本地资源进行校验,当资源校验通过,则略过该额外资源不进行加载;反之则加载并覆盖本地资源。
经过上述分阶段的加载,随着完成不同阶段的加载任务,客户端会进入不同的状态。完成阶段一后,客户端应可以进入游戏的新手体验环节,即达成了常规的微端实现的功能。完成阶段二后,客户端应可体验绝大部分游戏内容,即玩家可以无需等待第三阶段的内容加载完成即可继续新手阶段以外的游戏内容。完成阶段三后,客户端则完成了所有资源的加载,作为一个完整的客户度,允许玩家体验所有游戏内容。
本申请的终端在采集目标游戏的基础数据包,并基于基础数据包运行目标游戏后,终端检测运行目标游戏时的网络环境信息和设备运行信息,然后,终端根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,接着,终端获取与预设资源加载策略对应的目标游戏的拓展数据包,最后,终端基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中,本申请的终端是根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,并且,在进行游戏资源加载时,是基于拓展数据包对应的资源加载优先级,通过确定的加载速度将获取的拓展数据包加载至目标游戏中,对于一些大型的游戏而言,可以优先加载资源加载优先级高的拓展数据包,避免由于目标游戏的游戏包过大,导致玩家等待资源加载的时间过长,即,本方案可以减少玩家等待资源加载的时间。
为便于更好的实施本申请的游戏资源加载方法,本申请还提供一种基于上述游戏资源加载装置(简称加载装置)。其中名词的含义与上述游戏资源加载方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3a,图3a为本申请提供的游戏资源加载装置的结构示意图,其中该加载装置可以包括运行模块301、检测模块302、确定模块303、获取模块304,以及加载模块305,具体可以如下:
运行模块301,用于采集目标游戏的基础数据包,并基于基础数据包运行目标游戏。
其中,基础数据包又可以成为前期资源数据包,基础数据包为目标游戏的完整资源中的一部分资源,当基础数据包运行时,运行模块301可以启动目标游戏的前期游戏进度。
检测模块302,用于检测运行目标游戏时的网络环境信息和设备运行信息。
确定模块303,用于根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度。
例如,具体的,确定模块303基于资源加载优先级对拓展数据包进行分类,将资源加载优先级高的拓展数据包确定为必要拓展数据包,确定模块303将资源加载优先级低的拓展数据包确定为非必要拓展数据包。
可选的,在一些实施例中,确定模块303具体可以包括:
提取单元,从网络环境信息中提取运行目标游戏时的网络强度,
生成单元,用于根据设备运行信息生成当前设备的负载情况;
确定单元,用于基于网络强度以及负载情况,确定游戏资源加载时的加载速度。
可选的,在一些实施例中,确定单元具体可以包括:
获取子单元,用于获取目标游戏的各拓展数据包对应的资源加载优先级;
确定子单元,用于基于网络强度、负载情况以及获取的资源加载优先级,确定目标游戏的各拓展数据包进行游戏资源加载时相应的加载速度。
可选的,在一些实施例中,确定子单元具体可以用于:当检测到网络强度大于预设值时,且负载情况满足预设条件时,则为各拓展数据包分配第一预设加载速度;当检测到网络强度小于等于预设值时,或负载情况不满足预设条件时,则为资源加载优先级为一级的拓展数据包分配第一预设加载速度,并为资源加载优先级为二级的拓展数据包分配第二预设加载速度。
其中,第一预设加载速度大于第二预设加载速度
获取模块304,用于获取与预设资源加载策略对应的目标游戏的拓展数据包。
比如,对于完整资源加载模式的资源加载策略,获取模块304是获取目标游戏的所有拓展数据报,而对于部分资源加载模式的资源加载策略,获取模块304是获取目标游戏的部分拓展数据包
可选的,在一些实施例中,获取模块304具体可以用于:确定与预设资源加载策略对应的资源加载模式;当资源加载模式为完整资源加载模式时,则获取目标游戏所有的拓展数据包;当资源加载模式为部分资源加载模式时,则获取与预设资源加载策略对应数量的目标游戏的拓展数据包。
加载模块305,用于基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
例如,具体的,加载模块305当检测到本地数据库中存储有获取的拓展数据包时,则对本地数据库中的拓展数据包进行校验,其中,加载模块305可以采用文件校验算法对拓展数据包的完整性进行校验,当校验通过时,加载模块305则将通过检验的拓展数据包加载至目标游戏中;当校验不通过时,加载模块305则基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中,并且,覆盖本地储存有的拓展数据包
可选的,在一些实施例中,加载模块305具体可以包括:
识别单元,用于识别获取的拓展数据包对应的资源类别信息;
检测单元,用于基于识别的资源类别信息,检测本地数据库中是否存储有获取的拓展数据包;
第一加载子单元,用于当检测到本地数据库中存储有获取的拓展数据包时,则对本地数据库中的拓展数据包进行校验;当校验通过时,则基于获取的拓展数据包对应的资源加载优先级将本地数据库中的拓展数据包加载至目标游戏中;
第二加载子单元,用于当检测到本地数据库中没有存储获取的拓展数据包时,则基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
可选的,在一些实施例中,第二加载子单元具体可以用于:当检测到本地数据库中没有存储获取的拓展数据包时,则采集预先构建的资源加载优先级与加载速度之间的映射关系,在获取的拓展数据包中将资源加载优先级为一级的拓展数据包确定为第一拓展数据包,以及将资源加载优先级为二级的拓展数据包确定为第二拓展数据包;基于获取的拓展数据包对应的资源加载优先级和映射关系,依次将第一拓展数据包和第二拓展数据包加载至目标游戏中。
可选的,在一些实施例中,请参阅图3b,加载装置具体还可以包括监测模块306,监测模块306具体可以用于:监测目标游戏的控制状态;当监测到目标游戏的控制状态为空闲状态时,则提高各拓展数据包进行游戏资源加载时相应的加载速度;当监测到目标游戏的控制状态为操作状态时,则降低各拓展数据包进行游戏资源加载时相应的加载速度。
采用本实施例的游戏资源加载装置,根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度,并且,在进行游戏资源加载时,是基于拓展数据包对应的资源加载优先级,通过确定的加载速度将获取的拓展数据包加载至目标游戏中,对于一些大型的游戏而言,可以优先加载资源加载优先级高的拓展数据包,避免由于目标游戏的游戏包过大,导致玩家等待资源加载的时间过长,即,本方案可以减少玩家等待资源加载的时间。
此外,本申请实施例还提供一种计算机设备,该计算机设备可以为终端,该终端可以为智能手机、平板电脑、笔记本电脑、触控屏幕、游戏机、个人计算机(pc,personalcomputer)、个人数字助理(personaldigitalassistant,pda)等终端设备。如图4所示,图4为本申请实施例提供的计算机设备的结构示意图。该计算机设备1000包括有一个或者一个以上处理核心的处理器401、有一个或一个以上计算机可读存储介质的存储器402及存储在存储器402上并可在处理器上运行的计算机程序。其中,处理器401与存储器402电性连接。本领域技术人员可以理解,图中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
处理器401是计算机设备1000的控制中心,利用各种接口和线路连接整个计算机设备1000的各个部分,通过运行或加载存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行计算机设备1000的各种功能和处理数据,从而对计算机设备1000进行整体监控。
在本申请实施例中,计算机设备1000中的处理器401会按照如下的步骤,将一个或一个以上的应用程序的进程对应的指令加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能:
采集目标游戏的基础数据包,并基于基础数据包运行所述目标游戏;检测运行目标游戏时的网络环境信息和设备运行信息;根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度;获取与预设资源加载策略对应的目标游戏的拓展数据包;基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
可选的,如图4所示,计算机设备1000还包括:触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407。其中,处理器401分别与触控显示屏403、射频电路404、音频电路405、输入单元406以及电源407电性连接。本领域技术人员可以理解,图4中示出的计算机设备结构并不构成对计算机设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
触控显示屏403可用于显示图形用户界面以及接收用户作用于图形用户界面产生的操作指令。触控显示屏403可以包括显示面板和触控面板。其中,显示面板可用于显示由用户输入的信息或提供给用户的信息以及计算机设备的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。触控面板可用于收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并生成相应的操作指令,且操作指令执行对应程序。可选的,触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器401,并能接收处理器401发来的命令并加以执行。触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器401以确定触摸事件的类型,随后处理器401根据触摸事件的类型在显示面板上提供相应的视觉输出。在本申请实施例中,可以将触控面板与显示面板集成到触控显示屏403而实现输入和输出功能。但是在某些实施例中,触控面板与触控面板可以作为两个独立的部件来实现输入和输出功能。即触控显示屏403也可以作为输入单元406的一部分实现输入功能。
在本申请实施例中,通过处理器401执行游戏应用程序在触控显示屏403上生成图形用户界面,图形用户界面上的虚拟场景中包括虚拟地图。在路径计算任务执行完成后,该触控显示屏403用于呈现虚拟地图中的路径信息。
射频电路404可用于收发射频信号,以通过无线通信与网络设备或其他计算机设备建立无线通讯,与网络设备或其他计算机设备之间收发信号。
音频电路405可以用于通过扬声器、传声器提供用户与计算机设备之间的音频接口。音频电路405可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路405接收后转换为音频数据,再将音频数据输出处理器401处理后,经射频电路404以发送给比如另一计算机设备,或者将音频数据输出至存储器402以便进一步处理。音频电路405还可能包括耳塞插孔,以提供外设耳机与计算机设备的通信。
输入单元406可用于接收输入的数字、字符信息或用户特征信息(例如指纹、虹膜、面部信息等),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
电源407用于给计算机设备1000的各个部件供电。可选的,电源407可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源407还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管图4中未示出,计算机设备1000还可以包括摄像头、传感器、无线保真模块、蓝牙模块等,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
由上可知,本实施例提供的计算机设备,可以提升预设地图区域的表征点的准确性,有利于提升用户在虚拟地图中的互动体验。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条计算机程序,该计算机程序能够被处理器进行加载,以执行本申请实施例所提供的任一种游戏资源加载方法中的步骤。例如,该计算机程序可以执行如下步骤:
采集目标游戏的基础数据包,并基于基础数据包运行所述目标游戏;检测运行目标游戏时的网络环境信息和设备运行信息;根据网络环境信息和设备运行信息,确定游戏资源加载时的加载速度;获取与预设资源加载策略对应的目标游戏的拓展数据包;基于获取的拓展数据包对应的资源加载优先级,通过加载速度将获取的拓展数据包加载至目标游戏中。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。
由于该存储介质中所存储的计算机程序,可以执行本申请实施例所提供的任一种游戏资源加载方法中的步骤,因此,可以实现本申请实施例所提供的任一种游戏资源加载方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种游戏资源加载方法、装置、存储介质及计算机设备进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除