网络游戏攻击行为的同步方法与流程

文档序号:13908697阅读:9096来源:国知局
网络游戏攻击行为的同步方法与流程

本发明涉及网络游戏的数据处理技术,具体涉及网络游戏中攻击行为在服务端和用户端之间的同步方法。



背景技术:

网络游戏是通过网络连接来进行的多人游戏。具体地,其以网络为传输媒介,主要以游戏运营商所提供的服务器为处理终端,在用户一侧设置用户端(如传统网游的客户端和网页游戏中基于浏览器的访问窗口)作为信息交互窗口,从而实现娱乐、休闲、交流和取得虚拟成就的具有可持续性的个体性多人在线游戏。

游戏运营商所提供的服务端是游戏数据最主要的处理部分。游戏过程中所产生的相关数据都需要与服务端进行交互,典型的是游戏人物攻击行为的伤害计算过程。目前伤害计算的方法如下:游戏人物在玩家的控制下产生攻击行为;用户端将攻击行为的相关数据反馈到服务端;服务端计算出伤害值并将此值送回到用户端中;用户端基于此伤害值播放相应动画效果。在网络环境非常良好的情况下,上述过程是相当于瞬时完成的,玩家会觉得攻击行为发生和伤害产生基本是同步进行。但在网络环境一般的情况下,用户端和服务端之间数据传输有延迟,攻击行为的相关数据反馈到服务端、服务端送回伤害值所花的时间较长,部分状况下还会出现丢包的现象,因此大部分网络游戏中都极容易出现攻击行为和伤害产生不同步的问题,部分情况下还会出现攻击后不能产生伤害的错误。上述缺陷极大地影响了玩家的游戏体验。



技术实现要素:

针对上述问题,本发明提供一种使用效果好、降低对网络环境要求、增强玩家游戏体验的网络游戏攻击行为的同步方法。

本发明为解决其技术问题所采用的技术方案是:

网络游戏攻击行为的同步方法,包括:获取人物属性值的步骤,服务端获取游戏人物中与攻击行为所能产生伤害相关的属性值;产生随机序列的步骤,服务端基于获取的属性值形成一串与该属性值特性匹配的随机序列;随机序列发送的步骤,服务端将所形成的随机序列发送到用户端;攻击行为计算伤害的步骤,用户端依顺序调用随机序列中的一个参数值与游戏人物产生的最新攻击行为配对,基于该攻击行为的基本值与调用的参数值配合计算出该攻击行为的伤害值;伤害实时显示的步骤,用户端基于该伤害值在游戏信息交互窗口上播放相应效果;伤害反馈的步骤,用户端将计算出的伤害值及攻击行为的相关数据反馈回服务端,服务端进行验证和记录。

优选方案中,服务端所形成的随机序列为固定长度的随机序列,用户端中随机序列所剩下的能调用的参数值数量达到某一限定量时,服务端向用户端发送新的随机序列,新的随机序列于前一随机序列用完后接替使用。

优选方案中,游戏人物所产生的为具有固定伤害值的攻击行为时,随机序列中的参数值被调用但不参与伤害的计算。

优选方案中,服务端实时获取游戏人物中最新的相关属性值,服务端根据最新的属性值对随机序列进行调整。调整后的随机序列发送到用户端,于前一随机序列用完后接替使用。

本发明的有益效果是:本发明的服务端向用户端发送随机序列,用户端基于此随机序列可以在每次攻击行为发生时同步得出伤害值,并将此伤害值实时显示,不需要传输后经服务端计算验证后得出,整个过程完全是瞬时发生的,使用效果好,降低对网络环境的要求;随机序列是服务端所产生的,用户端只是对其进行调用,只需调用正确那么伤害值的计算必然是准确的,服务端对此伤害值的验证更加方便;随机序列为服务端随机产生,外部难以修改,服务端基于此随机序列可以方便地判断用户端反馈伤害值的合理性,有效地避免外挂的产生。

附图说明

图1为本发明的流程图;

图2为本发明的原理示意图。

具体实施方式

下面结合附图和具体实施方式进行进一步的说明:

本发明的同步方法应用于网络游戏上,主要在于使得服务端和用户端之间游戏人物攻击行为同步。其中,服务端为游戏运营商所提供的数据处理记录中心,用户端则设置在用户一侧,可以为具体的客户端或基于浏览器的访问窗口。参照图1,网络游戏攻击行为的同步方法,包括获取人物属性值的步骤、产生随机序列的步骤、随机序列发送的步骤、攻击行为计算伤害的步骤、伤害实时显示的步骤和伤害反馈的步骤。下面对各步骤进行详细描述。

在获取人物属性值的步骤中,服务端获取游戏人物中与攻击行为所能产生伤害相关的属性值。在一般的游戏中,相关的属性值包括攻击力、命中率、暴击率、道具加成等等,这些属性值都会影响每次攻击行为所能产生的伤害。

在产生随机序列的步骤中,服务端基于获取的属性值形成一串与该属性值特性匹配的随机序列。在随机序列发送的步骤中,服务端将所形成的随机序列发送到用户端。如图2所示,服务端会根据游戏人物的属性值产生随机序列k1、k2……kn和k1’、k2’……kn’,服务端将上述随机序列发送到用户端内。

所形成的随机序列包括一连串的参数值,这些参数值可以为特定格式伤害定义参量,在优选的实施例中,这些参数值可以定义为0至比1大的数值(如2、3等等)之间的量。参数值为0时代表攻击行为被躲避,不产生伤害;参数值位于0-1之间则代表部分伤害被抵抗;参数值为1则代表产生正常伤害;参数值大于1则代表此次攻击发生了暴击,产生了较大的伤害值。随机序列中参数值所定义的伤害大小分布基于游戏人物的属性值进行设定,例如命中率越高、暴击率越高,随机序列中代表伤害正常或产生更高伤害的参数值会更多。可以预知的是,服务端所获取的属性值一般是出于不断更新状态中,即服务端实时获取游戏人物中最新的相关属性值,服务端根据最新的属性值对随机序列进行调整。

本发明一般采用序列排队使用的方式。具体地,用户端中随机序列所剩下的能调用的参数值数量达到某一限定量时,服务端向用户端发送新的随机序列,新的随机序列于前一随机序列用完后接替使用。另外,获取新的属性值进行调整后的随机序列发送到用户端,也要在前一随机序列用完后接替使用。一般情况下,服务端所形成的随机序列为固定长度的随机序列,序列中随包含的参数值的数量可以根据游戏类型和网络环境的不同进行设置。如图2所示,前一序列k1、k2……kn在用完k1、k2……k(n-11),剩下10个左右的参数值k(n-10)、k(n-9)……kn的情况下,服务端才会将新的序列k1’、k2’……kn’发送到用户端内供其使用。k1’、k2’……kn’序列是根据最新属性值所形成的随机序列。

在攻击行为计算伤害的步骤中,用户端依顺序调用随机序列中的一个参数值与游戏人物产生的最新攻击行为配对,基于该攻击行为的基本值与调用的参数值配合计算出该攻击行为的伤害值。游戏人物所产生的为具有固定伤害值的攻击行为时,随机序列中的参数值被调用但不参与伤害的计算。

在伤害实时显示的步骤中,用户端基于该伤害值在游戏信息交互窗口上播放相应效果。这种播放过程不需要服务端的确认,能够达到瞬时同步的效果。

在伤害反馈的步骤中,用户端将计算出的伤害值及攻击行为的相关数据反馈回服务端,服务端进行验证和记录。如图2所示,用户端将k(n-10)参数值所对应的攻击行为反馈给服务端进行验证,服务端会基于其自身存储的随机序列中的k(n-10)参数值并结合游戏人物的攻击行为的相关数据对反馈的伤害值进行判断,判断其是否合理,合理后便可以存储。当伤害反馈的过程中出现数据丢失时,服务端会根据随机序列中已使用的参数值数量来判断两次传输的反馈值之间所产生的伤害值是否合理,合理时,即使出现丢包现象也可以认为发生在用户端的攻击行为是可被接受的。例如,正常情况下每次攻击行为所产生的伤害在0-200之间,伤害反馈过程中丢失了两次攻击行为的数据包,之后接收到的第三次攻击行为(攻击行为的次数利用随机序列查询)反馈值表明前两次总伤害在0-400之间,那么这两次服务端未记录到的攻击行为都是合理的,服务端接受相应的数据并将其记录。但当反馈的伤害超出合理范围外,那么服务器不会接受这些数据并拒绝记录。

本发明的实施方式并不受上述实施例的限制,只要其以基本相同的手段达到本发明的技术效果,都应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1