一种游戏技能释放方法和装置与流程

文档序号:12347225阅读:270来源:国知局
一种游戏技能释放方法和装置与流程

本申请涉及网络通信技术领域,尤其涉及一种游戏技能释放方法和装置。



背景技术:

随着网络游戏的不断发展,不同游戏玩家对于技能的需求也逐渐多样化。在网络游戏中,在游戏玩家请求释放某项技能时,服务器会确定该游戏玩家对于该项技能存在哪些修饰属性,并利用这些修饰属性对该项技能进行修饰后,释放修饰后的技能。

其中,服务器利用修饰属性对技能进行修饰实际上是计算该修饰属性作用到该项技能所能达到的技能效果,如果该技能对应有多项修饰属性时,则需要逐个计算各项修饰属性作用到该项技能所能产生的技能效果,并最终得到并释放所有修饰属性修饰后的技能效果。如,某个游戏玩家所具备一项攻击技能,同时,该游戏玩家还具备提高该项攻击技能的武器装备以及心法,则服务器需要先依据该武器装备对应的属性参数以及项攻击技能的属性参数进行组合计算,以确定在游戏玩家具备该武器装备的情况下,该游戏玩家的攻击能力;然后,再利用心法对应的属性参数与利用武器装备修饰后的攻击技能所对应的属性参数进行组合计算,以最终得到该游戏玩家在具备该武器装备和该心法的情况下,该游戏玩家的该项攻击技能所能产生的攻击能力。

然而,服务器逐次计算各个修饰属性作用到技能上所产生的技能效果,需要耗费较多的计算资源以及内存资源,导致游戏的流畅性差。特别是,在大型在线游戏中,同一时刻可能会存在多个玩家请求释放技能,这样,服务器就需要耗费更多的计算资源和内存资源,影响到了游戏整体的流畅性。



技术实现要素:

有鉴于此,本申请提供了一种游戏技能释放方法,以降低释放游戏技能所耗费的计算资源和内存资源,并提高游戏整体的流畅性。

为实现上述目的,一方面,本申请实施例提供了一种游戏技能释放方法,包括:

获取游戏玩家的技能释放请求,所述技能释放请求携带有所述游戏玩家的标识以及待释放的技能的标识;

根据所述游戏玩家的标识以及所述技能的标识,获取所述游戏玩家关联的用于对所述技能进行修饰的静态修饰属性集合,所述静态修饰属性集合中包括至少一项静态修饰属性;

依据所述技能和静态修饰属性集合中所包含的各项静态修饰属性,从存储的多项经过修饰的技能参数中,查询目标技能参数,所述目标技能参数为利用所述静态修饰属性集合中各项静态修饰属性对所述技能进行修饰,所得到的技能参数;

基于所述目标技能参数,控制技能释放。

另一方面,本申请实施例还提供了一种游戏技能释放装置,包括:

请求获取单元,用于获取游戏玩家的技能释放请求,所述技能释放请求携带有所述游戏玩家的标识以及待释放的技能的标识;

修饰获取单元,用于根据所述游戏玩家的标识以及所述技能的标识,获取所述游戏玩家关联的用于对所述技能进行修饰的静态修饰属性集合,所述静态修饰属性集合中包括至少一项静态修饰属性;

参数查询单元,用于依据所述技能和静态修饰属性集合中所包含的各项静态修饰属性,从存储的多项经过修饰的技能参数中,查询目标技能参数,所述目标技能参数为利用所述静态修饰属性集合中各项静态修饰属性对所述技能进行修饰,所得到的技能参数;

第一技能释放单元,用于基于所述目标技能参数,控制技能释放。

经由上述的技术方案可知,由于在接收到技能释放请求,病确定出与游戏玩家关联的,且用于对待释放的技能进行修饰的静态修饰属性集合之后,会根据该技能以及该技能静态修饰属性集合所包含的各项静态修饰属性,直接从存储的多项经过修饰的技能参数中,查询利用该静态修饰属性参数集合中各项静态修饰属性对该技能进行修饰所得到的目标技能参数,从而无需服务器再通过复杂的计算来确定修饰后的技能,避免了处理器的计算资源以及内存资源的大量耗费,降低了资源消耗,也有利于减少由于复杂计算所导致的耗时,提高了游戏整体的流畅度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本申请公开的游戏技能释放系统的一种组成结构示意图;

图2为本申请公开的一种游戏技能释放方法一种实施例的流程示意图;

图3为本申请公开的一种游戏技能释放方法在一种应用场景下的一种流程示意图;

图4示出了本申请实施例中利用哈希链表存储技能参数的一种示意图;

图5示出了本申请实施例公开一种游戏技能释放装置一个实施例的组成结构示意图;

图6为本申请实施例公开的一种服务器的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本申请实施例的游戏技能释放方法可以应用于任意类型的游戏场景中,以减少处理技能释放请求的设备所需耗费计算资源和内存资源,提高游戏的流畅度。

如图1,其示出了本申请一种游戏技能释放系统一个实施例的组成结构示意图,该系统可以包括:游戏服务平台10和至少一台终端11。

其中,该游戏服务平台可以包括至少一台服务器101。

可选的,为了提高游戏数据的处理效率,游戏服务平台可以为由多台服务器101组成的服务器集群。

其中,该终端11可以为游戏应用所在的客户端,在该种情况下,终端可以基于该游戏应用的客户端访问该游戏服务平台中的服务器,以使得游戏玩家可以进行游戏操作;该终端也可以是浏览器所在的客户端,在该种情况下,可以通过浏览器登录游戏服务平台的服务器,以获取游戏数据,并进行相应的游戏操作。

在本申请实施例中,该终端11用于在检测到游戏玩家发起的技能释放请求时,向服务器发送该游戏玩家的技能释放请求,该技能释放请求携带有该游戏玩家的标识以及待释放的技能的标识。

相应的,该服务器101用于响应于该技能释放请求,根据该游戏玩家的标识以及该技能的标识,获取该游戏玩家关联的用于对技能进行修饰的静态修饰属性集合,该静态修饰属性集合中包括至少一项静态修饰属性;依据该技能和静态修饰属性集合中所包含的各项静态修饰属性,从存储的多项经过修饰的技能参数中,查询目标技能参数,该目标技能参数为利用所述静态修饰属性集合中各项静态修饰属性对该技能进行修饰,所得到的技能参数;基于该目标技能参数,控制技能释放。

可见,由于服务器在确定出与游戏玩家关联的,且用于对待释放的技能进行修饰的静态修饰属性集合之后,会根据该技能以及该技能静态修饰属性集合所包含的各项静态修饰属性,直接从存储的多项经过修饰的技能参数中,查询利用该静态修饰属性参数集合中各项静态修饰属性对该技能进行修饰所得到的目标技能参数,从而无需服务器再通过复杂的计算,来确定修饰后的技能,避免了处理器的计算资源以及内存资源的大量耗费,降低了资源消耗,也有利于减少由于复杂计算所导致的耗时,提高了游戏整体的流畅度。

结合图1所示的系统,参见图2,其示出了本申请一种游戏技能释放方法一个实施例的流程示意图,本实施例的方法可以包括:

S201,终端向服务器发送游戏玩家的技能释放请求,该技能释放请求携带该游戏玩家的标识以及待释放的技能的标识。

其中,该游戏玩家的标识可以为游戏玩家的用户名、账号等,也可以是该游戏玩家在该游戏中的角色、角色名称或者游戏玩家为角色所起的唯一的昵称等等。

游戏中的技能可以理解为游戏中的角色为了实现某种攻击力、实现某种特定功能或达到某种特定效果,而触发的一种操作。如,游戏中的技能可以分为攻击、防御、控制等多种,每一类技能又可以包括多种项具体的技能,如,攻击技能可以包括拳击、脚踢等技能;防御技能可以包括格挡、翻滚等技能;控制技能可以包括定身、冰冻等技能。

如,在终端检测到该终端侧的游戏玩家点击或选择了某项技能的图标之后,终端确定该游戏玩家发起释放该项技能的请求,终端会根据游戏玩家所选择或点击的技能所对应的技能名称以及该游戏玩家的用户名,生成该技能释放请求,并向服务器发送该技能释放请求。

S202,服务器根据该游戏玩家的标识和该技能的标识,查询是否存在与该游戏玩家关联的,用于对该技能进行修饰的静态修饰属性,如果存在,则执行步骤S203;如果不存在,则执行步骤S210。

其中,静态修饰属性可以理解为与游戏玩家存在关联的修饰属性,游戏玩家所具有的对某项技能进行修饰的静态修饰属性,在该游戏玩家请求释放该技能之前便是确定的,不会随着游戏环境而产生变化。如,静态修饰属性可以为游戏玩家所具有的用于提升该技能的武器装备;或者是,提高技能输出效果的特效属性等。

可以理解的是,游戏玩家是否具有对于某项技能的修饰属性,与该游戏玩家的级别以及游戏玩家的权限等有关,如,有的游戏玩家可能只能单纯使用某项技能;而有的玩家则可以具有一项或多项对该技能的静态修饰属性,以提升输出的技能的能力或效果。

需要说明的是,该步骤S203为可选的步骤,在实际应用中,服务器也可以直接执行后续的步骤S203,即,直接去查询并获取用于对该技能进行修饰静态修饰属性集合;如果未获取到该静态修饰属性集合,则可以跳转到步骤S210执行,而无需经过该步骤S202的查询并判断的操作。

S203,如果服务器查询到与该游戏玩家关联的,用于对该技能进行修饰的静态修饰属性,获取与该游戏玩家关联的且用于对该技能进行修饰的静态修饰属性集合。

其中,该静态修饰属性集合包括至少一项静态修饰属性。

S204,服务器依据该技能和静态修饰属性集合中所包含的各项静态修饰属性,确定用于定位目标技能参数的存储位置的定位标志。

其中,目标技能参数为利用该静态修饰属性集合中各项静态修饰属性对该技能进行修饰,所得到的技能参数。

在本申请实施例中,服务器中存储有多项经过修饰后的技能所对应的技能参数,每项技能参数分别对应着一种技能以及用于对该技能进行修饰的静态修饰属性集合。如,技能1经过静态修饰属性A、静态修饰属性B以及静态修饰属性C进行修饰后的技能参数为技能1-ABC;技能2经过静态修饰属性A以及静态修饰属性D修饰后得到的技能参数为技能2-AD。

在服务器中,可以将该多项经过修饰的技能所对应的技能参数存储到指定的存储区域,也可以是存储到服务器的内存数据库中。

其中,通过该定位标志可以指向某个特定的存储位置,以获取该存储位置处所存储的技能参数。根据服务器中存储该多项经过修饰的技能参数的存储形式的不同,该定位标志可以有多种可能的形式,如,该定位标志可以为索引,通过索引可以查询出存储该目标技能参数的存储位置。可选的,考虑到哈希链表可以再较低的时间复杂度内查询到键所对应的键值,可以通过哈希链表存储该多项技能参数,在该种情况下,该定位标志可以为哈希链表的键。当然,在实际应用中,该定位标志还可以有其他可能的情况,在此不加以限定。

可以理解的是,为了便于定位各项技能参数,在服务器存储技能参数之后,可以根据该技能参数对应的技能以及静态修饰属性集合中所包含的各项静态修饰属性,来确定存储该技能参数的存储位置所对应的定位标志,因此,在步骤S203确定出静态修饰属性集合以及技能之后,可以根据该技能和静态修饰属性所包含的各项静态修饰属性来确定出定位标志。

可选的,可以依据该技能的标识,以及该静态修饰属性集合中包含的各项静态修饰属性的标识,并利于标识与定位标志之间的映射关系,生成用于定位目标技能参数的存储位置的定位标志。例如,定位标志可以为技能的标识与静态修饰属性集合中各项静态修饰属性的标识所组合出的数组。

特别的,当服务器通过哈希链表存储该多项技能参数时,确定该定位标志可以为:将技能的标识以及该静态修饰属性集合中包含的各项静态修饰属性的标识组合成字符串;然后,按照预置的哈希算法,将该字符串转换为用于从哈希链表中定位目标技能参数的存储位置的键,以通过该键定位哈希链表中的相应结点(也可以称为元素)。

S205,服务器利用该定位标志,从存储的多项经过修饰的技能参数中,查询是否存在基于该静态修饰属性集合中各项静态修饰属性对该技能进行修饰所得到的目标技能参数,如果不存在该目标技能参数,则执行步骤S206;如果存在目标技能参数,则执行步骤S209。

在得到该定位标志之后,可以从该定位标志所指向的存储位置中查询相应的静态修饰属性。如,定位标志为哈希链表中的键时,可以从存储有多项经过修饰的技能参数的哈希链表中,查询该键所指向的结点,并从该结点中获取该键所指向的键值,即该目标技能参数。

需要说明的,基于定位标志来查询目标技能参数仅仅是一种优选的实施方式,即,步骤S204为可选步骤,在实际应用中,也可以直接根据该待释放的技能以及用于对该技能进行修饰的静态修饰属性集合中各项静态修饰参数,从服务器存储的多项技能参数中,查询目标技能参数。如服务器可以存储技能、对该技能进行静态修饰的静态修饰属性集合以及目标技能参数之间的对应关系,基于该对应关系,可以确定出该目标技能参数,这样,就需要先确定定位标志,再查询该目标技能参数。

S206,当服务器确定未存储有该目标技能参数时,根据该技能的标识,获取该技能的原始属性参数。

可以理解的是,每项技能均对应着用于表征该技能的相关参数,在本申请实施例中将未对技能进行修饰前,该技能的原始所对应的相关参数称为该技能的原始属性参数。

S207,服务器根据该技能的原始属性参数以及静态修饰属性集合中包含的各项静态修饰属性,生成该目标技能参数。

其中,在技能的原始属性参数和该静态修饰属性集合中各项静态修饰属性确定的情况下,可以将该静态修饰属性集合中的各项静态修饰属性参数与该技能的原始属性参数进行组合计算,以最终确定出各项静态修饰属性作用于该技能所产生的技能效果,得到该技能效果对应的目标技能参数。

当然,基于技能的原始属性参数以及静态修饰属性集合中包含的各项静态修饰属性,生成该目标技能参数的具体过程可以有多种实现方式,在此不再赘述。

需要说明的是,该步骤S206和S207为可选步骤,在服务器已经存储了对应不同技能与不同静态修饰属性组合所对应的技能参数的情况下,则无需执行该步骤S206和步骤S207。

S208,服务器将该目标技能参数存储为与该技能以及该静态修饰属性集合包含的各项静态修饰属性对应的技能参数。

如果在服务器中未存储有该目标技能参数,则说明服务器尚未针对该技能以及该静态修饰属性集合中各项静态修饰属性,对该技能进行过技能修饰计算,在该种情况下,在计算出与该技能以及该静态修饰属性集合中各项静态修饰属性对应的目标技能参数之后,可以存储该目标技能参数。这样,后续如果该游戏玩家或者其他游戏玩家也具有该技能以及该静态修饰属性集合中,并请求释放该技能时,则可以直接获取已经计算出的该目标技能参数,从而无需再基于该技能以及该静态修饰属性集合中各项静态修饰属性对进行修饰计算,避免了每次计算目标技能参数均需要耗费大量的处理器资源和内存资源,从而通过一次技能修饰计算便可以满足多次技能释放请求的目的。

可以理解的是,该步骤S208为一种可选步骤,在实际应用中,服务器中存储的多项技能参数可以是预先计算出并存储的。当然,为了进一步减少服务器的数据计算量,服务器可以在检测到未存储有该技能以及该静态修饰属性集合对应的目标技能参数的情况下,可以采用步骤S206和S207的方式计算出该目标技能参数,然后通过该步骤S206的方式存储该目标技能参数,这样,服务器不需要额外计算出该目标技能参数,只需要在首次需要使用该目标技能参数时,计算该目标技能参数,而后续则可以直接调用存储的该目标技能参数。

其中,该步骤S208和步骤S209并不限于图2所示,在实际应用中也可以同时执行步骤S208和S209;也可以是先执行该步骤S209,再执行该步骤S208。

S209,服务器基于该目标技能参数,控制技能释放。

其中,根据技能的不同,服务器依据该目标技能参数控制技能释放的过程也会有所不同。如,技能为攻击技能时,服务器依据该目标技能参数,确定出攻击力等数据,并将攻击力等数据发送给游戏中的各个终端,以指示终端基于该攻击力数据产生相应的攻击效果;又如,技能为烟花爆破效果等效果技能时,则服务器可以基于该目标技能参数,确定出效果数据,并发送给游戏中的各个终端,以使得终端呈现出相应的烟花爆破效果。

S210,当该游戏玩家未关联有用于对该技能进行修饰的静态修饰属性时,根据该技能的标识,获取该技能的原始属性参数。

S211,服务器依据该技能的原始属性参数,控制技能释放。

如果游戏玩家未关联有该技能进行修饰的静态修饰属性,则无需对该技能进行修饰,便可以直接基于该技能的原始属性参数控制技能释放。

本申请的发明人经过对技能释放过程进行研究发现,由于在游戏玩家在请求释放某项技能之前,该游戏玩家所具有的能够对该技能进行修饰的静态修饰属性是确定不变的,这样,如果预先确定出利用这些静态修饰属性对该项技能进行修饰过的技能所对应的技能参数,那么就可以在游戏玩家请求释放该技能时,就可以直接调用相应的技能参数,无需再实时计算利用这些静态修饰属性对该技能进行修饰后所得到的技能参数。

而且,由于技能与静态修饰属性的组合是有限的,这样,只要预先存储了不同技能与相应静态修饰属性进行组合所对应的技能参数,对于任何游戏玩家所发起的技能释放请求,均可以从存储的技能参数中,查询到该技能释放请求所对应的技能参数,避免了每次针对同一种技能以及同一静态修饰属性集合的组合均需要进行技能修饰计算,从而降低了对处理器资源和内存资源的耗费,提高了游戏整体的流畅度。

可以理解的是,在本申请实施例中,由于技能以及静态修饰属性的组合方式可以有多种,而有些组合方式并不是常用的组合方式,即有些技能与一项或多项静态修饰属性的组合所对应的技能参数并不会经常被调用,这样,如果存储这些不常用的技能以及静态修饰属性组合所对应的技能参数,则会导致存储资源的浪费。因此,在本申请实施例中,在该步骤S205查询到该目标技能参数或者步骤S209基于该目标技能参数控制技能释放之后,还可以记录查询到该目标技能参数或者基于该目标技能参数控制技能释放的使用时刻,然后监控该使用时刻距离当前时刻时长是否超过预设阈值,如果该时长超过预设时长,则可以删除存储的该项目标技能参数。如,为了避免哈希表的扩张超过约定内存,可以加入一种淘汰机制来保障快速静态修饰模块对总体内存的使用量,可以淘汰哈希链表中长期没有使用到的技能参数。

为了便于理解,下面结合一种应用场景进行介绍,以服务器利用哈希链表存储被修饰后的技能所对应的技能参数为例。结合图1,参见图3,其示出了本申请一种游戏技能释放方法一个实施例的流程示意图,在该实施例中,以第一终端的第一游戏玩家具备技能skill1,同时,第二终端的第二游戏玩家也具备技能skill1,且假设该第一游戏玩家和第二游戏玩家均关联有用于对该技能skill1进行修饰的静态修饰属性A和静态修饰属性B,并以第一游戏玩家请求释放该技能skill1时,服务器中尚未存储利用该静态修饰属性A和静态修饰属性B对该技能skill1进行修饰后的技能参数为例进行介绍。本实施例可以包括:

S301,第一终端向服务器发送第一游戏玩家的技能释放请求,该技能释放请求携带该第一游戏玩家的标识以及待释放的技能skill1的标识。

S302,服务器根据该第一游戏玩家的标识和该技能skill1的标识,获取该第一游戏玩家关联的用于对该技能skill1进行修饰的静态修饰属性A和静态修饰属性B。

S303,服务器确定不存在利用静态修饰属性A和静态修饰属性B对技能skill1进行修饰后得到的技能参数,并依据该技能skill1的标识,获取该技能skill1的原始属性参数。

S304,服务器利用该静态修饰属性A和技能skill1的原始属性参数,计算利用静态修饰属性A对进行技能skill1进行修饰所得到的技能参数skill1-A。

S305,服务器利用静态修饰属性B和技能参数skill1-A,计算利用该静态修饰属性A和用该静态修饰属性B对技能skill1进行修饰所得到的技能参数skill1-AB。

由步骤S304和步骤S305可知,在确定出游戏玩家关联的用于修改该技能的静态修饰属性之后,服务器计算最终修饰后的技能所对应的技能所需的计算步骤与该静态修饰属性的个数有关。

如,图3是以用于修饰该技能skill1的该静态修饰属性为两个,即包括静态修饰属性A和B,则需要先计算技能skill1经过静态修饰属性A得到的修饰后的技能所对应的技能参数skill1-A之后,再计算修饰后的技能(对应技能参数skill1-A)再经过静态修饰属性B修饰后所得到的技能参数skill1-AB。如果还有其他静态修饰属性,则还需逐步计算经过其他静态修饰属性之后最终得到的技能参数。

S306,服务器基于该技能参数skill1-AB,控制技能释放。

S307,服务器将该技能skill1的标识、静态修饰属性A和静态修饰属性B的标识进行组合,并利用哈希算法对组合后的字符串进行哈希计算,得到定位哈希链表中一个结点的键key。

S308,服务器将该技能参数skill1-AB存储到该键key对应的结点的存储单元中。

如,参见图4其示出了一种哈希链表中存储技能参数的一种示意图,如图4可知,一个键指向了哈希链表中一个结点所存储的数组solt1,该数组solt1对应着链表,该链表中就存储有该技能参数skill1-AB。

S309,第二终端向服务器发送第二游戏玩家的技能释放请求,该技能释放请求携带该第二游戏玩家的标识以及待释放的技能skill1的标识。

S310,服务器根据该第二游戏玩家的标识以及该技能skill1的标识,获取该第二游戏玩家关联的用于对该技能skill1进行修饰的静态修饰属性A和静态修饰属性B。

S311,服务器将该技能skill1的标识、静态修饰属性A和静态修饰属性B的标识进行组合,并利用哈希算法对组合后的字符串进行哈希计算,得到该键key。

S312,服务器从哈希链表中,该键key所指向的结点中读取出该技能参数skill1-AB。

由于前面第一游戏玩家发送技能释放请求之后,已经计算出经过静态修饰属性A和静态修饰属性B对技能skill1进行修饰所得到的技能参数skill1-AB,且服务器存储了该技能参数skill1-AB,则当再次有游戏玩家请求释放技能时,如果所请求释放的技能以及所需对技能进行修饰的静态修饰属性均相同,则可以直接调用存储的技能参数skill1-AB,而无需再经过S303获取技能的原始属性参数,且无需再按照步骤S304和S305的方式进行两步计算,从而减少了数据计算量,有利于降低内存资源以及处理器的计算消耗。

可以理解的是,在本实施例中,该第一游戏玩家和第二游戏玩家可以为同一个用户,在该种情况下,相当于该用户再次请求释放相同的技能;该第一游戏玩家和第二游戏玩家也可以为不同的用户,在该种情况下,相当于只要有一个游戏玩家请求释放了经过静态修饰属性A和B修饰后的该技能之后,其他游戏玩家可以直接调用经过静态修饰属性A和B修饰后的该技能所对应的技能参数。

S313,服务器依据该技能参数skill1-AB,控制技能释放。

可以理解的是,在以上任意一个实施例中,均是以技能释放系统包括至少一台服务器以及终端为例进行介绍,但是可以理解的是,本申请实施例的游戏技能释放方法也可以应用于单机游戏中,在该种情况下,技能释放系统可以包括运行有游戏应用的终端。该终端可以获取游戏玩家发起的游戏释放请求,该技能释放请求携带有游戏玩家的标识以及待释放的技能的标识;终端响应于该游戏释放请求,根据游戏玩家的标识以及技能的标识,获取该游戏玩家关联的用于对技能进行修饰的静态修饰属性集合,该静态修饰属性集合中包括至少一项静态修饰属性;依据该技能和静态修饰属性集合中所包含的各项静态修饰属性,从存储的多项经过修饰的技能参数中,查询目标技能参数,该目标已修饰技能参数为利用该静态修饰属性集合中各项静态修饰属性对该技能进行修饰,所得到的技能参数;并基于所述目标技能参数,控制技能释放。也就是说,在单机游戏中,以上实施例中服务器侧所进行的操作可以由该终端来执行,而终端执行以上操作的具体过程可以参见前面实施例服务器执行相应操作的过程相似,在此不再赘述。

下面对本申请实施例的一种游戏技能释放装置进行介绍。

参见图5,其示出了一种游戏技能释放装置一个实施例的组成结构示意图,本实施例的装置可以应用于服务器或者是终端,本实施例的装置可以包括:

请求获取单元501,用于获取游戏玩家的技能释放请求,所述技能释放请求携带有所述游戏玩家的标识以及待释放的技能的标识;

修饰获取单元502,用于根据所述游戏玩家的标识以及所述技能的标识,获取所述游戏玩家关联的用于对所述技能进行修饰的静态修饰属性集合,所述静态修饰属性集合中包括至少一项静态修饰属性;

参数查询单元503,用于依据所述技能和静态修饰属性集合中所包含的各项静态修饰属性,从存储的多项经过修饰的技能参数中,查询目标技能参数,所述目标技能参数为利用所述静态修饰属性集合中各项静态修饰属性对所述技能进行修饰,所得到的技能参数;

第一技能释放单元504,用于基于所述目标技能参数,控制技能释放。

可选的,所述参数查询单元,包括:

位置定位单元,用于依据所述技能和静态修饰属性集合中所包含的各项静态修饰属性,确定用于定位目标技能参数的存储位置的定位标志;

参数匹配单元,用于利用所述定位标志,从存储的多项经过修饰的技能参数中,查询所述目标技能参数。

可选的,所述参数匹配单元具体为,用于依据所述技能的标识,以及所述静态修饰属性集合中包含的各项静态修饰属性的标识,并利于标识与定位标志之间的映射关系,生成用于定位目标技能参数的存储位置的定位标志。

进一步的,所述参数匹配单元包括:

标识组合单元,用于将所述技能的标识以及所述静态修饰属性集合中包含的各项静态修饰属性的标识组合成字符串;

键转换单元,用于按照预置的哈希算法,将所述字符串转换为用于从哈希链表中定位目标技能参数的存储位置的键。

可选的,在所述定位标志为哈希链表中的键时,所述参数匹配单元具体为,用于从存储有多项经过修饰的技能参数的哈希链表中,查询所述键所指向的结点,并从所述结点中获取所述目标技能参数。

可选的,所述装置还可以包括:

属性获取单元,用于当所述游戏玩家未关联有所述用于对所述技能进行修饰的静态修饰属性时,根据所述技能的标识,获取所述技能的原始属性参数;

第二技能释放单元,用于依据所述技能的原始属性参数,控制技能释放。

可选的,所述装置还可以包括:

属性获取单元,用于当存储的多项经过修饰的技能参数中,不存在所述目标技能参数时,根据所述技能的标识,获取所述技能的原始属性参数;

参数生成单元,用于根据所述技能的原始属性参数以及所述静态修饰属性集合中包含的各项静态修饰属性,生成所述目标技能参数。

可选的,所述装置还可以包括:

参数存储单元,用于在参数生成单元生成所述目标技能参数之后,将所述目标技能参数存储为与所述技能以及所述静态修饰属性集合包含的各项静态修饰属性对应的技能参数。

可选的,所述装置还可以包括:

时刻记录单元,用于在所述第一技能释放单元基于所述目标技能参数,控制技能释放之后,记录使用所述目标技能参数的使用时刻;

时间监控单元,用于监控所述使用时刻距离与当前时刻的时长是否超过预设时长;

参数删除单元,用于当所述时长超过预设时长,则删除存储的所述目标技能参数。

本申请实施例还提供了一种服务器,该服务器可以实现上述所述的一种游戏技能释放方法。

图6示出了服务器的硬件结构框图,参照图6,服务器600可以包括:处理器601,通信接口602,存储器603和通信总线604;

其中处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;

可选的,通信接口602可以为通信模块的接口,如GSM模块的接口;

处理器601,用于执行程序;

存储器603,用于存放程序;

程序可以包括程序代码,所述程序代码包括计算机操作指令。

处理器601可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。

存储器603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

其中,程序可具体用于:

获取游戏玩家的技能释放请求,所述技能释放请求携带有所述游戏玩家的标识以及待释放的技能的标识;

根据所述游戏玩家的标识以及所述技能的标识,获取所述游戏玩家关联的用于对所述技能进行修饰的静态修饰属性集合,所述静态修饰属性集合中包括至少一项静态修饰属性;

依据所述技能和静态修饰属性集合中所包含的各项静态修饰属性,从存储的多项经过修饰的技能参数中,查询目标技能参数,所述目标已修饰技能参数为利用所述静态修饰属性集合中各项静态修饰属性对所述技能进行修饰,所得到的技能参数;

基于所述目标技能参数,控制技能释放。

另一方面,本实施例还提供了一种终端,该终端的组成结构可以与图6所示的服务器的组成结构相似,在此不再赘述。

需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。

对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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