缓解游戏服务端技能目标检测计算压力的方法技术

技术编号:15408932 阅读:78 留言:0更新日期:2017-05-25 08:24
本发明专利技术涉及一种缓解游戏服务端技能目标检测计算压力的方法,其包括以下步骤:战斗技能触发后,服务端获取技能范围,并发送目标数据至客户端,通知客户端在所述技能范围内检测与所述目标数据对应的目标对象;服务端接收由客户端根据检测得到的目标对象生成的命中包,并对所述命中包进行验证;服务端根据其对命中包验证得到的验证结果判断是否执行技能操作。由此相对于现有技术,本发明专利技术通过客户端检测获取技能目标,服务端只负责验证客户端检测得到的技能目标的方法,从而减少服务端的运算量和资源占用,由此有效地降低了服务端计算压力和平衡服务端的其它计算操作。

Method for reducing game server service skill target detection and calculating pressure

The invention relates to a method for target detection calculation skills game server ease pressure, which comprises the following steps: combat skill triggered, service skill acquisition range, and sends data to the client, in the detection range and the target skill standard to inform the client data corresponding to the target server generated by the client according to the reception; detection of the target object hit bag, and the bag hit verified according to the verification of the server; hit package validation results to determine whether the implementation of operating skills. Thus compared with the prior art, the invention of skill acquisition target through the client server is only responsible for the verification method of detection, detection of the target client skills, thereby reducing the server computing capacity and resources, thus the other calculation calculation of pressure and balance operation server server effectively reduced.

【技术实现步骤摘要】
缓解游戏服务端技能目标检测计算压力的方法
本专利技术涉及计算机
,特别涉及一种缓解游戏服务端技能目标检测计算压力的方法。
技术介绍
在大型多人在线即时制网游系统中,对服务端有着较高的要求——服务端必须完成游戏中所有战斗对象的技能目标检测。由于服务端对每个技能目标的检测都是范围检测,且绝大部分的技能需要的只是一个或几个目标,则在服务端进行技能目标的检测过程中,服务端还是需要在范围内一一遍历以获取目标,会产生较大的运算量并占用大部分资源,且在遍历范围检测中会产生大部分的无用功,耗时较多,造成服务端计算压力过大难以平衡其它计算操作。
技术实现思路
本专利技术的目的是为了解决上述现有技术的缺点和不足,提供一种缓解游戏服务端技能目标检测计算压力的方法,通过客户端检测获取技能目标,服务端只负责验证客户端检测得到的技能目标的方法,减少服务端的运算量和资源占用,由此降低服务端计算压力和平衡服务端的其它计算操作。一种缓解游戏服务端技能目标检测计算压力的方法,包括以下步骤:战斗技能触发后,服务端获取技能范围,并发送目标数据至客户端,通知客户端在所述技能范围内检测与所述目标数据对应的目标对象;服务端接收由客户端根据检测得到的目标对象生成的命中包,并对所述命中包进行验证;服务端根据其对命中包验证得到的验证结果判断是否执行技能操作。本专利技术上述技术方案通过客户端检测获取技能目标,服务端只负责验证客户端检测得到的技能目标的方法,从而减少服务端的运算量和资源占用,由此有效地降低了服务端计算压力和平衡服务端的其它计算操作。作为本专利技术的进一步改进,所述步骤服务端接收由客户端根据检测得到的目标对象生成的命中包,并对所述命中包进行验证,具体包括以下步骤:服务端在游戏范围内建立若干单位格,由客户端记录技能触发时技能所在的单位格位置、技能作用的方向及技能当前作用时长;由客户端根据接收到的目标数据绘制相应的检测框,并通过检测框获取与所述目标数据对应的目标对象,生成命中包并发送至服务端;服务端接收由客户端根据检测得到的目标对象生成的命中包后,获取命中包中的目标对象的验证数据及目标对象的移动速度数据;服务端通过自身直接获取目标对象的移动速度数据,且服务端比较其自身获取得到的目标对象的移动速度数据与从命中包中得到的目标对象的移动速度数据的大小,得到数值较大的一移动速度数据;服务端利用数值较大的一移动速度数据参与验证运算,并结合命中包中目标对象的验证数据处理得到目标对象经过的单位格数量,生成相应的位置列表;服务端根据技能触发时技能所在的单位格位置、技能作用的方向、技能当前作用时长及检测框的形状于服务端生成相应的位置范围图形;服务端遍历所述位置列表,并判断所述位置列表是否位于所述位置范围图形中;若所述位置列表中存在一位置位于所述位置范围图形中,则验证结果为验证通过;否者,验证结果为验证失败。由上述步骤可知,相比于现有技术中游戏技能目标检测均由服务端对每一个技能进行范围检测和遍历该范围获取目标的方法实现,本专利技术通过上述方法步骤实现对技能目标的检测,使得服务端只需要对接收到的客户端的命中包进行验证,而将范围检测和遍历改为判断位置点是否在位置范围图形中,由此大大减少了检测的运算和消耗,实现服务端可以腾出更多资源满足其他操作。作为本专利技术的进一步改进,验证结果为验证失败时,服务端还记录验证失败的目标对象,生成错误列表。此处有利于对验证失败的目标对象的失败原因进行分析和方便其它方面的后续处理。作为本专利技术的进一步改进,所述步骤服务端根据其对命中包验证得到的验证结果判断是否执行技能操作,具体包括以下步骤:如果验证结果为验证通过,则服务端对命中包中的目标对象执行技能操作;如果验证结果为验证失败,则服务端通知客户端继续于技能范围内检测与目标数据对应的目标对象,并接收由客户端重新发送的命中包,继续对新的命中包进行验证,直至服务端接收到由客户端发送的结束检测信号。通过上述步骤,有利于避免检测时间过长而影响游戏效果和对运算空间的占用。作为本专利技术的进一步改进,当服务端接收到的命中包中包括若干目标对象的数据时,服务端对包含若干目标对象的命中包的验证还包括以下步骤:服务端预设一标准命中率数值和一标准相似度数值;所述标准命中率数值用于表明命中包中通过验证的目标对象数量与全部目标对象数量的比例;所述标准相似度用于表明命中包中非标准包中的目标对象与标准包中的目标对象的相似度;服务端接收由技能发动者所在的客户端发送的命中包,并标志为标准包;服务端接收由除技能发动者外的其它客户端发送的命中包,并标志为非标准包;服务端通过对标准包和非标准包中的全部目标对象的分别验证,得到标准包的目标对象验证通过率和非标准包的目标对象验证通过率;服务端分别判断标准包和非标准包的目标对象验证通过率是否大于或等于所述标准命中率数值,并判断非标准包中的目标对象与标准包中的目标对象的相似度是否大于或等于所述标准相似度数值,如果是,则验证通过,否则,记录验证失败的标准包和/或非标准包所在的客户端,并生成一用于记录验证失败的客户端及客户端验证失败次数的错误列表。通过上述步骤,实现对命中包中的多个目标对象的快速验证,并保证了对命中包验证的合理性,保证对标准包和非标准包的均衡处理,进一步保证了游戏的均衡性和有利于减少对多个目标对象验证的验证运算,保证服务端在验证多个目标对象的过程中留有一定的空间,进一步减少对服务端运算空间的占用。作为本专利技术的进一步改进,本专利技术缓解游戏服务端技能目标检测计算压力的方法还包括以下步骤:服务端在战场初始化时生成一命中包接收次数的最大限值,并生成一正常比例限值;战斗过程中,服务端接收由每一客户端发送的命中包,并对每一客户端发送的每一命中包进行验证,同时于错误列表中分别记录每一客户端发送的命中包的验证失败次数;且服务端分别统计对每一客户端发送的命中包的接收次数;服务端判断是每一客户端的接收次数是否达到最大限值,当某一客户端的接收次数已达到最大限值,则服务端从错误列表中获取该客户端的验证失败次数,并分别计算得到该客户端的验证失败次数与最大限值的比值,并将该比值与正常比例限值进行比较;如果该比值大于正常比例限值时,则将该客户端列入黑名单,并清空该客户端的接收次数和错误列表中记录的验证失败次数,并对该客户端重新进行接收次数和验证失败次数的记录;如果该比值小于正常比例限值时,则清空该客户端的接收次数和错误列表中记录的验证失败次数,并对该客户端重新进行接收次数和验证失败次数的记录;及如果某一客户端的接收次数还没达到最大限值,则继续对该客户端的接收次数和验证失败次数进行统计直至其接收次数达到最大限值。通过上述步骤,实现对战斗双方技能目标的合理检测,并有利于对外挂游戏的客户端的处理,以保证游戏过程的公平性和平衡性。作为本专利技术缓解游戏服务端技能目标检测计算压力的方法的另一种实施角度,以下以客户端所在的角度对本专利技术进行阐述,其包括以下步骤:战斗技能触发后,客户端接收由服务端发送的技能范围和目标数据,并在所述技能范围内检测与所述目标数据对应的目标对象,生成命中包;客户端将命中包发送至服务端,由服务端对所述命中包进行验证,并由服务端根据对命中包验证得到的验证结果判断是否执行技能操作。相对于现有技术,本专利技术通过客户端本文档来自技高网...
缓解游戏服务端技能目标检测计算压力的方法

【技术保护点】
一种缓解游戏服务端技能目标检测计算压力的方法,其特征在于:包括以下步骤:战斗技能触发后,服务端获取技能范围,并发送目标数据至客户端,通知客户端在所述技能范围内检测与所述目标数据对应的目标对象;服务端接收由客户端根据检测得到的目标对象生成的命中包,并对所述命中包进行验证;服务端根据其对命中包验证得到的验证结果判断是否执行技能操作。

【技术特征摘要】
1.一种缓解游戏服务端技能目标检测计算压力的方法,其特征在于:包括以下步骤:战斗技能触发后,服务端获取技能范围,并发送目标数据至客户端,通知客户端在所述技能范围内检测与所述目标数据对应的目标对象;服务端接收由客户端根据检测得到的目标对象生成的命中包,并对所述命中包进行验证;服务端根据其对命中包验证得到的验证结果判断是否执行技能操作。2.根据权利要求1所述的缓解游戏服务端技能目标检测计算压力的方法,其特征在于:所述步骤服务端接收由客户端根据检测得到的目标对象生成的命中包,并对所述命中包进行验证,具体包括以下步骤:服务端在游戏范围内建立若干单位格,由客户端记录技能触发时技能所在的单位格位置、技能作用的方向及技能当前作用时长;由客户端根据接收到的目标数据绘制相应的检测框,并通过检测框获取与所述目标数据对应的目标对象,生成命中包并发送至服务端;服务端接收由客户端根据检测得到的目标对象生成的命中包后,获取命中包中的目标对象的验证数据及目标对象的移动速度数据;服务端通过自身直接获取目标对象的移动速度数据,且服务端比较其自身获取得到的目标对象的移动速度数据与从命中包中得到的目标对象的移动速度数据的大小,得到数值较大的一移动速度数据;服务端利用数值较大的一移动速度数据参与验证运算,并结合命中包中目标对象的验证数据处理得到目标对象经过的单位格数量,生成相应的位置列表;服务端根据技能触发时技能所在的单位格位置、技能作用的方向、技能当前作用时长及检测框的形状生成相应的位置范围图形;服务端遍历所述位置列表,并判断所述位置列表是否位于所述位置范围图形中;若所述位置列表中存在一位置位于所述位置范围图形中,则验证结果为验证通过;否者,验证结果为验证失败。3.根据权利要求2所述的缓解游戏服务端技能目标检测计算压力的方法,其特征在于:验证结果为验证失败时,服务端还记录验证失败的目标对象,生成错误列表。4.根据权利要求2所述的缓解游戏服务端技能目标检测计算压力的方法,其特征在于:所述步骤服务端根据其对命中包验证得到的验证结果判断是否执行技能操作,具体包括以下步骤:如果验证结果为验证通过,则服务端对命中包中的目标对象执行技能操作;如果验证结果为验证失败,则服务端通知客户端继续于技能范围内检测与目标数据对应的目标对象,并接收由客户端重新发送的命中包,继续对新的命中包进行验证,直至服务端接收到由客户端发送的结束检测信号。5.根据权利要求2所述的缓解游戏服务端技能目标检测计算压力的方法,其特征在于:当服务端接收到的命中包中包括若干目标对象的数据时,服务端对包含若干目标对象的命中包的验证还包括以下步骤:服务端预设一标准命中率数值和一标准相似度数值;所述标准命中率数值用于表明命中包中通过验证的目标对象数量与全部目标对象数量的比例;所述标准相似度用于表明命中包中非标准包中的目标对象与标准包中的目标对象的相似度;服务端接收由技能发动者所在的客户端发送的命中包,并标志为标准包;服务端接收由除技能发...

【专利技术属性】
技术研发人员:徐波
申请(专利权)人:广州多益网络股份有限公司
类型:发明
国别省市:广东,44

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

1