游戏多技能动态管理方法、系统、电子设备及可读介质
文献发布时间:2023-06-19 19:18:24
技术领域
本发明涉及电子游戏技术领域,具体涉及一种游戏多技能动态管理方法、系统、电子设备及可读介质。
背景技术
在MOBA(多人在线战术竞技游戏)、ACT(动作游戏)等竞技类游戏中,每个游戏角色具有多个技能,给予了玩家的更多的操作空间,以提升游戏的竞技性,增强游戏体验。游戏角色的这些技能具有不同的冷却时间,不同计时方法,不同的伤害判定方法,并且在技能的动态使用当中,与游戏中的移动、碰撞等模块产生紧密的联系,是一套较复杂的游戏逻辑系统。现有技术中尚未系统地提出该类游戏的技能管理方法,业内一般采取当前技能与技能背包结合的策略管理游戏角色的多技能,存在技能位置固定、战斗中技能切换流程复杂、多技能组合施放受限、与游戏中其他模块(例如移动、碰撞)交互难的问题。
发明内容
本发明主要提出一种游戏多技能动态管理方法、系统、电子设备及可读介质,解决了技能动态装载、战斗技能切换复杂,技能组合施放复杂的问题。
本发明的技术方案如下:
一种游戏多技能动态管理方法,通过终端设备提供游戏交互界面,所述方法包括:
游戏角色初始状态时,所述游戏交互界面中显示角色的M个技能槽,对M个技能槽进行初始技能控件装载,每个技能槽里装载技能控件,所述技能控件为单招控件或连招控件;并重置他们的冷却时间、当前阶段等信息;
游戏角色攻击状态时,响应玩家同时按下的N个技能槽里的技能控件,施放N个技能槽内的技能,完成不同技能效果的叠加;其中,N≤M;
在一定的条件下,每个技能槽中的技能控件能够切换成其他技能控件。
在一示例性实施例中,所述响应玩家同时按下的N个技能槽里的技能控件,施放N个技能槽内的技能,完成不同技能效果的叠加包括:检测玩家对N个技能槽内技能控件的操作,当N个技能控件同时被按下时,根据异步指令的先后顺序进行响应,对每个技能控件进行技能施放;所述同时按下是指各个槽位中技能控件按下间隔不超过0.5秒。
在一示例性实施例中,所述技能施放包括蓄气阶段、结算阶段和收势阶段中的一个或多个,其中,蓄气阶段和收势阶段为可选阶段,根据不同技能而提前配置;若N个技能控件对应技能中有两个或两个以上需要蓄气,则相互之间不可并行施放;否则,可以并行施放;并行施放为在游戏程序的更新同一帧或相邻两帧之间将所述技能控件对目标的效果进行叠加。
在一示例性实施例中,所述连招控件包括多个子技能控件;响应所述连招控件后,触发连招的第一阶段子技能控件后,后续阶段各子技能控件的技能自动施放;连招控件的子技能控件提前进行配置。
在一示例性实施例中,所述在一定的条件下,每个技能槽中的技能控件能够切换成其他技能控件为:游戏角色处于变身、禁用技能等异常状态时,对游戏角色的多个技能槽内的技能控件进行动态装载,替换成新的技能控件。
在一示例性实施例中,所述技能施放的结算阶段为瞬时结算阶段或持续结算阶段,所述持续结算通过结算瞬间产生技能物件来实现;所述技能物件区分不同的游戏阵营,能够自主移动或跟随目标移动,和/或能够参加战斗、被攻击和死亡,和/或能够与其他物体发生碰撞,和/或能够代表技能施放方对不同阵营的敌人造成伤害或状态改变。
本发明还公开一种游戏多技能动态管理系统包括:
技能配置读取模块,通过序列化技术,将游戏配置数据读取数据到系统中,为服务端其他模块提供配置数据查询服务。
技能控件控制模块,通过指令异步处理、状态机和触发更新技术,对游戏角色界面中的技能槽的状态、当前技能、当前技能阶段、冷却时间进行管理,实现同时响应多个技能、连招子技能的自动切换、自动更新冷却时间的功能。
技能物件管理模块,服务端通过预分配内存池技术管理内存、软件工厂模式创建相应的对象,在角色技能施放流程中创建技能物件对象,并在游戏主循环中进行每帧更新,记录、更新技能物件的位置、速度、血量、大小、阵营的数据属性集合。
客户端通过事件响应技术和上行消息通知游戏服务器玩家技能控件施放指令情况,同时接收来自游戏服务端的下行消息,完成在虚拟游戏场景中产生技能物件的模型、效果展示和技能组合施放流程。
当玩家施放技能时,游戏客户端检测技能控件将技能控件对应操作命令上行发送至游戏服务器端。
当技能发生切换时或产生技能物件时,游戏服务器端通过下行消息形式通知游戏客户端进行相应效果展示。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
采用上述方案后,本发明的有益效果包括:
(1)本发明提出基于技能槽和技能物件结合的多技能动态管理方法对游戏中的技能施放与技能结算流程进行管理,角色施放技能后,进入技能瞬时结算或持续结算管理流程,通过生产技能物件来管理已施放技能的持续结算结果,并且非常明确的描述了各个模块的组成和技术,解决了目前主流游戏技能管理方法中存在的战斗技能切换复杂,技能位置固定,技能组合施放受限、持续结算管理困难的问题,提高游戏操作性和门槛。
(2)现有技术主要通过讨论技能施放按第一路径第一目标的施放流程、目标筛选方式以及与移动模块交互的方法,本发明的方法还能够通过产生技能物件,通过技能物件的方式与游戏中的其他模块进行交互,利用技能物件当作游戏内实体,拥有血量、碰撞、移动等属性来与游戏内其他模块交互,实现例如闪现跳打,技能动态装载、全屏碰撞攻击等高级技能,实现逻辑更加清晰、并且能够与更多地模块交互,大幅提高了游戏的可操作性和可玩度。
(3)本发明的不同技能槽同时施放技能和连招技能施放方法的方法,为实现更多高级操作提供了可能。
附图说明
图1为本发明实施例中的原理示意图;
图2为本发明实施例中的技能施放过程中的流程图;
图3为本发明实施例中的连招施放流程图;
图4为本发明实施例中异常状态下技能装载流程图;
图5为本发明实施例中技能物件持续结算流程图;
图6为本发明实施例中技能槽控制模块示意图;
图7为本发明实施例中技能配置管理模块示意图;
图8为本发明实施例中技能物件管理模块示意图;
图9为本发明实施例中交互模块示意图。
具体实施方式
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的游戏多技能动态管理方法适用于竞技类游戏,目前的竞技类游戏中,技能位置固定,战斗中各技能切换流程复杂,多技能组合施放受限制,与游戏中其他模块(如移动、碰撞)交互难。
本发明的方法需通过终端设备提供游戏交互界面,基于此,本发明的所述方法包括:
游戏角色初始状态时,所述游戏交互界面中显示角色的M个技能槽,对M个技能槽进行初始技能控件装载,每个技能槽里装载技能控件,所述技能控件为单招控件或连招控件;并重置他们的冷却时间、当前阶段等信息。
游戏角色攻击状态时,响应玩家同时按下的N个技能槽里的技能控件,施放N个技能槽内的技能,完成不同技能效果的叠加;其中,N≤M。
在一定的条件下,每个技能槽中的技能控件能够切换成其他技能控件,以施放其他技能对应的操作指令。
游戏角色攻击状态时,所述响应玩家同时按下的N个技能槽里的技能控件,施放N个技能槽内的技能,完成不同技能效果的叠加包括:检测玩家对N个技能槽内技能控件的操作,当N个技能控件同时被按下时,根据异步指令的先后顺序进行响应,对每个技能控件进行技能施放;所述同时按下是指各个槽位中技能控件按下间隔不超过0.5秒。如图2所示,玩家同时按下不同技能槽的技能控件,这里假设按下A和B两个技能控件,先施放A技能,若A技能被打断(通过目标是否在原位置和/或原状态进行判定),则在当前状态下施放B技能,若A没有被打断(通过目标是否被移动和/或状态是否异常来判定);然后再施放B技能,如果B技能未被打断,则目标被A技能和B技能的技能效果叠加,结束此次攻击,若B技能被打断,则直接结束此次攻击。
如图3所示,技能槽K
所述技能施放包括蓄气阶段、结算阶段和收势阶段中的一个或多个,其中,蓄气阶段和收势阶段为可选阶段,根据不同技能而提前配置;若N个技能控件对应技能中有两个或两个以上需要蓄气,则相互之间不可并行施放;否则,可以并行施放;并行施放为在游戏程序的更新同一帧或相邻两帧之间将所述技能控件对目标的效果进行叠加。
游戏角色处于变身、禁用技能等异常状态时,对游戏角色的多个技能槽内的技能控件进行动态装载,替换成新的技能控件。如图4所示,若角色需要变身或换装,此时也被认定为异常状态,此时判断是否需要重新装载技能控件,若是,则根据配置文件读取新的初始技能,然后将新技能控件替换原技能槽中的技能控件,然后结束流程,否则,直接结束流程。
所述技能施放的结算阶段为瞬时结算阶段或持续结算阶段,所述持续结算通过结算瞬间产生技能物件来实现;所述技能物件区分不同的游戏阵营,能够自主移动或跟随目标移动,和/或能够参加战斗、被攻击和死亡,和/或能够与其他物体发生碰撞,和/或能够代表技能施放方对不同阵营的敌人造成伤害或状态改变。
如图5所示,若某一技能控件产生技能物件,根据技能物件的配置项判定技能物件是否能移动或者能否被攻击,若能够移动或者能够被攻击,则根据技能物件自身的技能指令来呈现此技能的技能效果,包括原地不动/自主速度移动或者参与战斗,然后对应地与目标移动模块发生交互,影响目标移动模块的移动或状态,若不能够移动或者能够被攻击,则结束流程。再判定技能物件是否绑定碰撞盒,若此技能物件不能够被攻击,则直接判定此技能物件是否绑定碰撞盒;若技能物件能够绑定碰撞盒,则和目标碰撞模块发生交互,影响其碰撞判定,然后结束,否则直接结束。
本发明的核心如图2所示,本发明对游戏中的技能施放与技能结算流程进行管理,角色施放技能后,进入技能瞬时结算或持续结算管理流程,通过生产技能物件来管理已施放技能的持续结算结果,并且非常明确的描述了各个模块的组成和技术,解决了目前主流游戏技能管理方法中存在的战斗技能切换复杂,技能位置固定,技能组合施放受限、持续结算管理困难的问题,提高游戏操作性和门槛。
具体地,对于“战斗技能切换复杂”的问题,现有的游戏技能与槽位的概念杂糅,技能概念包含了槽位本身,导致切换时需要做的事情多且杂乱,而不是从槽位中替换技能的方法,此方法在本发明中称为动态加载。
对于“技能组合释放受限”的问题,现有的游戏中,技能释放流程通常是维护了一个当前技能,当前技能在使用过程中,其他技能无法释放,便于客户端表现。本发明提出只要不是在蓄气等表现互斥阶段,技能允许同时使用,在主循环的同一帧或者相邻两帧对异步指令进行响应,并且通知客户端同时展示多个技能的技能效果。
对于“持续结算管理困难”问题,现有的游戏的做法是将持续结算的管理依托技能效果来实现,可以支持定时多次结算(例如游戏中的叠加buff)。但它本身是无实体的,无法与技能目标相互影响产生持续碰撞、自身持续位移等功能,同时一些复杂技能会产生战场实体(召唤宠物、利剑、炮、塔等),该实体拥有产生、战斗、死亡的完整生命周期,主流的技能效果也无法实现。故而一般情况下,游戏中为了实现持续结算管理,会不断的开发新的子系统与技能系统交互,本发明设计的技能物件可以解决持续结算管理的这个问题。
本发明的一实施例公开一种游戏多技能动态管理系统,该系统包括服务器和终端设备,且客户端部署于终端设备上,其中,客户端可以通过浏览器的形式运行于终端设备上,也可以通过独立的应用程序(app l i cat i on,APP)的形式运行于终端设备上等,对于客户端的具体展现形式,此处不做限定。另一种情况下,游戏技能控制系统包括终端设备,即属于单机类的游戏。下面将以游戏技能控制系统包括服务器和终端设备为例进行介绍,然而,这不应理解为对本申请的限定。
本发明的游戏服务器端和游戏客户端,二者之间使用TCP/I P网络进行通信,系统部署技能配置读取模块、技能控件管理模块、技能物件管理模块、交互模块在游戏服务器端,交互模块、游戏页面展示在游戏客户端。
当技能发生切换时、产生技能物件时,由游戏服务器端通过下行消息形式通知游戏客户端进行效果展示。
当玩家施放技能时,由游戏客户端检测按键将命令上行发送至游戏服务器端。
所述系统包括:
技能配置读取模块,通过序列化技术,将游戏配置数据读取到系统中,为服务端其他模块提供配置数据查询服务;游戏配置数据可以存放在Exce l表中(游戏配置数据通常是游戏策划人员在Exce l文档中提前编辑的。),将Exce l表中的游戏配置数据转化为二进制数据,以读取到系统中。如图7所示,游戏在Exce l中配置的数据主要包括:(1)技能配置,主要字段有唯一标识、技能名称、技能描述、蓄气时长、是否产生技能物件、即时结算的技能效果,是游戏策划对技能的基本设计;(2)技能物件配置,主要字段有唯一标识、物件名称、是否可移动、移动速度、产生位置、是否可攻击、初始血量字段、初始阵营、长、宽、更新频率,产生效果类型(例如:伤害或者击退),体现了技能施放后的持续结算设计;三是角色槽位配置,主要有角色标识、槽位1标号、内置技能标识1,槽位2标号、内置技能标识,槽位N标识,内置技能标识,体现了策划对于多槽位内装载技能的设计。
技能控件控制模块,通过指令异步处理、状态机和触发更新技术,对游戏角色界面中的技能槽的状态、当前技能、当前技能阶段等信息进行管理,实现同时响应多个技能、连招子技能的自动切换、自动更新冷却时间等功能;如图6所示,技能控件控制模块包括多个技能槽,图中示意的是6个技能槽,技能槽1中的技能控件为单招技能控件,技能槽2和技能槽3中的技能控件为连招(组合)技能控件,技能槽2中的组合技能控件B的施放技能包括子技能B0和子技能B1。应当理解,图6中的槽位数和子技能数,以及连招控件的子技能数和连招控件的所处槽位只是示例,实际中可以采用其他数字。
所述客户端通过事件响应技术和上行消息通知服务器玩家技能控件施放指令情况,同时接收来自游戏服务端的下行消息,完成在虚拟游戏场景中产生技能物件的模型、效果展示和技能组合施放流程。
客户端用户交互模块,通过事件响应技术和上行消息通知服务器玩家技能槽施放指令情况,同时接收来自游戏服务端的下行消息,完成在虚拟游戏场景中产生技能物件的模型,自行移动、技能特效等效果展示,技能组合施放流程。用户交互模块如图9所示。
技能物件管理模块,通过预分配内存池技术管理内存、软件工厂模式创建相应的对象,在角色技能施放过程中创建技能物件对象,并在游戏主循环中进行每帧更新,记录、更新技能物件的位置、速度、状态(例如血量)等数据属性集合。如图8所示,模块预分配技能物件内存池,在技能施放后,采用工厂模式分配技能物件对象,从产生的技能物件开始每帧更新,每一帧根据配置搜索目标或自主移动,对于范围内或被碰撞的每个目标,进行每帧瞬时结算,直到技能物件死亡、被摧毁或消失。
现有技术是的游戏施放是单个技能控件,或者机制简单,功能受限,本发明基于技能槽的多技能动态管理系统对技能槽进行管理,更好地解决了多技能动态装载、组合施放技能等问题,提高游戏操作性和门槛。本发明的不同技能槽同时施放技能和连招技能施放方法的方法,为实现更多高级操作提供了可能。
现有技术主要通过讨论技能施放按第一路径、第一目标的施放流程、目标筛选方式以及与移动模块交互的方法,本发明主要利用技能物件来实行伤害和与游戏内其他模块交互,利用技能物件当作游戏内实体,拥有血量、碰撞、移动等属性来与游戏内其他模块交互,实现逻辑更加清晰、并且能够与更多地模块交互。
本发明实施例还公开了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器、所述通信接口和所述存储器通过所述通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现如本发明实施例所述的方法。
本发明实施例还公开了一个或多个计算机可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如本发明实施例所述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
可以理解的是,在本申请的具体实施方式中,涉及到用户操作信息等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-on l y memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
- 知识社区中预约问答的管理方法及其装置、电子设备、计算机可读介质
- 储物信息管理方法、电子设备以及计算机可读存介质
- 引导电子设备系统开机的方法,电子设备,可读存储介质
- 一种数据信息动态显示方法、电子设备和可读存储介质
- 签核系统的管理方法、签核系统、可读存储介质及服务器
- 游戏技能组合释放方法、装置、电子设备及可读介质
- 游戏技能的控制方法、装置、电子设备及计算机可读介质