CN112546616B - 游戏技能处理方法、系统、装置及电子设备 - Google Patents

游戏技能处理方法、系统、装置及电子设备 Download PDF

Info

Publication number
CN112546616B
CN112546616B CN202011483640.4A CN202011483640A CN112546616B CN 112546616 B CN112546616 B CN 112546616B CN 202011483640 A CN202011483640 A CN 202011483640A CN 112546616 B CN112546616 B CN 112546616B
Authority
CN
China
Prior art keywords
client
node
skill
timeline
time line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202011483640.4A
Other languages
English (en)
Other versions
CN112546616A (zh
Inventor
李高峰
王璞
郭为鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202011483640.4A priority Critical patent/CN112546616B/zh
Publication of CN112546616A publication Critical patent/CN112546616A/zh
Application granted granted Critical
Publication of CN112546616B publication Critical patent/CN112546616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/60Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/538Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for performing operations on behalf of the game client, e.g. rendering
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/57Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of game services offered to the player
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/60Methods for processing data by generating or executing the game program

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例提供一种游戏技能处理方法、系统、装置及电子设备,响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行第一时间线节点的第一运行效果;以及响应基于触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送节点跳转事件对应的其它时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行其它时间线节点的第二运行效果。本申请通过以时间线节点和运行效果为单位的同步方式,并通过技能有向图使逻辑与表现分离,使得逻辑完全控制表现,有效提升技能同步的可靠性以及减轻服务端的负荷。

Description

游戏技能处理方法、系统、装置及电子设备
技术领域
本申请涉及游戏技术领域,尤其是涉及一种游戏技能处理方法、系统、装置及电子设备。
背景技术
动画蓝图(Animation Graph)是一种控制骨架网格体动画的专用可视化脚本,通常用于游戏设计过程中。动画蓝图作为角色复杂动画表现的解决方案,分解了动作表现的编辑和玩法脚本的逻辑编写,动作表现编辑和脚本逻辑之间可以通过约定的变量和信号交互。
动画蓝图的逻辑对于脚本逻辑来说是个纯黑盒,开发者可以通过设置变量来改变动画蓝图的状态,通过监听动画蓝图的信号通知来感知动画蓝图的状态变化和播放的动画内容,但是脚本逻辑设置动画蓝图变量之后不能确定动画蓝图真的能跳转到预期的状态。以玩家角色走跑停为例,动画蓝图的逻辑是播放走跑停相关的动画,玩法脚本负责计算玩家角色移动的速度并将移动参数传入动画蓝图,动画蓝图基于这些移动参数控制玩家角色执行动作,但是执行结果可能不是走跑停。
技能系统的脚本逻辑与动画表现相关性很大,因为技能经常需要在角色播放到指定动画帧的时候触发脚本逻辑,游戏技能的表现是由动画蓝图实现的。以游戏引擎Messiah为例,在技能释放时,客户端需要将角色使用的技能动画导入到动画蓝图中,并在完成一定的状态跳转逻辑后通过动画蓝图播放动画效果。服务器在进行该技能的同步时,也需要脚本逻辑完成技能状态的跳转逻辑的同步,再触发其它客户端上的技能同步。而虚幻4引擎中一般通过蒙太奇实现技能的表现,使用动画的Notify(通知事件)触发脚本逻辑,这种通知事件触发方式需要服务端运行UE4的服务器模式,给服务端带来一些不必要的负载。同时,由于脚本逻辑依赖动画表现,动画表现的准确性会影响脚本逻辑的准确性,而动画蓝图是否能跳转到预期的状态带有不确定性,所以这种方式的脚本逻辑也带有不确定性。对于没有动画蓝图功能的引擎(例如Neox1)的游戏,通常使用定时器调用技能时间线上的Tag(标签)更新脚本逻辑,但是该脚本逻辑没有提供可靠的同步逻辑,服务器很难校验一个技能效果的正确性。
综上,现有游戏的同一个角色技能在不同的客户端的表现可能不一致,技能同步效果较差,并且,由于脚本逻辑依赖动画蓝图的信号通知,导致服务端的逻辑也依赖动画蓝图,这就给服务端增加了运行负荷。
发明内容
本申请的目的在于提供一种游戏技能处理方法、系统、装置及电子设备,以提升角色技能的同步效果。
第一方面,本申请实施例提供一种游戏技能处理方法,包括:响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向该游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行第一时间线节点的第一运行效果;其中,上述技能有向图为针对游戏技能配置的有向图,该技能有向图包括多个时间线节点,该时间线节点预先配置有与游戏技能对应的至少一个运行效果,多个时间线节点之间基于触发条件进行跳转;响应基于触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送节点跳转事件对应的其它时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行其它时间线节点的第二运行效果;其中,上述其它时间线节点为除第一时间线节点之外的时间线节点。
上述技能有向图还包括连接相邻两个时间线节点的条件控制线,触发条件为条件控制线对应的条件。
上述响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息的步骤,包括:响应第一客户端针对于游戏技能的释放操作触发的释放同步请求,验证游戏技能的技能有向图中的第一时间线节点是否满足预设的释放条件;如果是,向第一客户端和游戏技能对应的第二客户端分别发送第一时间线节点的释放允许消息。
上述技能有向图中的时间线节点配置有单位标识信息;其中,单位标识信息包括:时间线节点的节点标识和效果标识;第一时间线节点的释放允许消息携带有第一时间线节点的单位标识信息。
上述技能有向图中的时间线节点配置有技能先行表现;其中,技能先行表现为第一运行效果或第二运行效果中与技能逻辑无关的效果;释放同步请求携带有第一客户端执行第一时间线节点的技能先行表现的执行时间戳;所述向游戏技能对应的第二客户端发送第一时间线节点的释放允许消息的步骤,包括:基于执行时间戳生成第一时间线节点的先行追加时间;向游戏技能对应的第二客户端发送携带有第一时间线节点的单位标识信息和先行追加时间的释放允许消息,以触发第二客户端基于先行追加时间执行第一时间线节点的第一运行效果,实现第二客户端执行第一时间线节点的第一运行效果与第一客户端执行第一时间线节点的第一运行效果同步。
上述方法还包括:如果验证第一时间线节点不满足预设的释放条件,向第一客户端发送先行表现回滚消息,以使第一客户端回退第一时间线节点的技能先行表现;先行表现回滚消息携带有第一时间线节点的节点标识。
上述技能有向图中的时间线节点配置有技能先行表现;其中,技能先行表现为运行效果中与技能逻辑无关的效果,第一客户端和第二客户在执行完当前时间线接的运行效果时预测并执行下一个时间线节点的技能先行表现;
上述向第一客户端和第二客户下发节点跳转事件对应的其它时间线节点的释放允许消息的步骤,包括:根据节点跳转事件确定其它时间线节点;生成携带有其它时间线节点的节点标识的释放允许消息;将其它时间线节点的释放允许消息发送给第一客户端和第二客户端,以使第一客户端和/或第二客户端在最近一次执行的技能先行表现对应的时间线节点与其它时间线节点不一致时进行技能先行表现回退。
上述响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息包括:监听游戏中虚拟角色的游戏技能对应的状态参数;响应于监听到的状态参数满足游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息。
第二方面,本申请实施例提供了一种游戏技能处理系统,该系统包括第一客户端和第二客户端,以及服务器;服务器、第一客户端和第二客户端均预存有游戏技能的技能有向图,技能有向图为针对游戏技能配置的有向图,技能有向图包括多个时间线节点,时间线节点预先配置有与游戏技能对应的至少一个运行效果,多个时间线节点之间基于触发条件进行跳转;上述服务器,用于响应针对于技能有向图中的第一时间线节点的触发事件,向第一客户端和第二客户端分别发送第一时间线节点的释放允许消息;上述第一客户端和第二客户端,均用于接收第一时间线节点的释放允许消息,同步执行第一时间线节点的第一运行效果;上述服务器,还用于响应基于触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送节点跳转事件对应的其它时间线节点的释放允许消息;其中,其它时间线节点为除第一时间线节点之外的时间线节点;以及上述第一客户端和第二客户端,还均用于接收其它时间线节点的释放允许消息,同步执行其它时间线节点的第二运行效果。
第三方面,本申请实施例还提供了一种游戏技能处理装置,包括:第一执行模块,用于响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行第一时间线节点的第一运行效果;其中,技能有向图为针对游戏技能配置的有向图,技能有向图包括多个时间线节点,时间线节点预先配置有与游戏技能对应的至少一个运行效果,多个时间线节点之间基于触发条件进行跳转;第二执行模块,用于响应基于触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送节点跳转事件对应的其它时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行其它时间线节点的第二运行效果;其中,其它时间线节点为除第一时间线节点之外的时间线节点。
第四方面,本申请实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述方法。
第五方面,本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述方法。
本申请实施例提供一种游戏技能处理方法、系统、装置及电子设备,通过以时间线节点和其对应的运行效果为单位的同步方式,能够使第一客户端和第二客户端根据释放允许消息分别执行第一时间线节点和其它时间线节点的运行效果,这种将整个技能的同步问题转换为几个时间线节点的同步问题,每个时间线节点对应的逻辑比较简单,容易保证各个客户端技能同步的可靠性。而各个时间线节点仅需要触发条件对应的节点跳转事件触发,不再需要服务器监听动画蓝图信号,进而有效缓解了脚本逻辑监听动画蓝图信号导致的技能同步效果较差的问题。同时,通过技能有向图使逻辑与表现在代码结构上实现分离,使得逻辑完全控制表现,进一步提高了脚本逻辑的可靠性,减轻了服务端的负担,提升了游戏的运行效率。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种游戏技能处理方法的流程图;
图2为本申请实施例提供的一种技能行为系统的结构示意图;
图3为本申请实施例提供的另一种游戏技能处理方法的流程图;
图4为本申请实施例提供的另一种游戏技能处理方法的流程图;
图5为本申请实施例提供的一种时间线节点执行的时序图;
图6为本申请实施例提供的另一种时间线节点执行的时序图;
图7为本申请实施例提供的一种主客户端先行类型效果图;
图8为本申请实施例提供的一种服务器先行类型效果图;
图9为本申请实施例提供的一种游戏技能处理系统的结构图;
图10为本申请实施例提供的一种技能处理装置的结构示意图;
图11为本申请实施例提供的另一种技能处理装置的结构示意图;
图12为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有游戏(例如:MOBA(Multiplayer Online Battle Arena,即多人在线战术竞技游戏))中通常会为不同的角色配置不同或相同的技能,这些技能在释放时涉及多个逻辑处理过程,多个逻辑处理过程较为复杂且耗时较长,导致不同客户端同一角色技能的释放效果难以同步,为了提升游戏技能的同步效果,本申请实施例提供一种技能处理方法、系统、装置及电子设备,通过以时间线和运行效果为单位的同步方式,并通过技能有向图使逻辑与表现在代码结构上实现分离,使得逻辑完全控制表现,有效避免了脚本逻辑监听动画蓝图信号导致的同步可靠性差的问题。下面通过实施例进行描述。
本实施例提供了一种游戏技能处理方法,该方法应用于服务器,该服务器为游戏服务端设备,其与运行游戏客户端的终端设备通信连接,为了简化描述及相互区分不同的客户端,本发明实施例以第一客户端和第二客户端分别代表游戏的两个不同客户端,第一客户端和第二客户端各自的数量至少为一个,在实际应用场景中,可能会存在多个第一客户端或多个第二客户端。第一客户端可以是玩家操控的客户端,第二客户端可以是与玩家一起进行游戏的其他玩家所操控的客户端。参见图1所示的一种游戏技能处理方法,该方法以应用于服务器进行描述,该方法包括以下步骤:
步骤S102,响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行第一时间线节点的第一运行效果;
其中,上述技能有向图为针对游戏技能配置的有向图,该技能有向图包括多个时间线节点,时间线节点预先配置有与游戏技能对应的至少一个运行效果,多个时间线节点之间基于触发条件进行跳转。
通常,可根据实际需要对虚拟角色的技能配置技能有向图,该技能有向图可理解为技能释放的整个过程中的技能逻辑,比如,虚拟角色的技能为冲锋斩,则可为该技能配置的技能有向图为:先冲锋、后斩。
在本实施例中,可以在时间轴选取指定长度的时间线段,该指定长度的时间线段对应的对应一个时间线节点,通常该指定长度为该时间线节点对应的动画片段的播放时长。可根据技能释放的技能逻辑,在技能有向图上设置对应的时间线节点以触发该技能逻辑,可理解为每个时间线节点对应一个技能逻辑,且,每个时间线节点预先分别配置有技能的至少一个运行效果,该运行效果为在客户端上进行动作表现的效果;例如,上述先冲锋的技能逻辑对应时间线节点1,后斩的技能逻辑对应时间线节点2,则可为时间线节点1配置走和跑的运行效果,对时间线节点2配置横斩、竖斩和斜斩等运行效果。
并且,相邻两个时间线节点之间可以配置触发条件,用于实现时间线节点之间的跳转,时间线节点之间的触发条件与跳转前后的时间线节点对应的技能逻辑关联。
上述第一时间线节点为技能有向图中的第一个时间线节点,也可称为技能开始时间线节点,在实际使用时,第一时间线节点的触发事件可以包括玩家在第一客户端上触发图形用户界面上配置的技能图标事件,或者,为服务器监听游戏中的角色的状态参数,且监听到的状态参数满足游戏技能释放条件的事件,该技能参数的改变可以是由第一客户端发起。或者其它触发游戏技能释放的事件均可以作为上述第一时间线节点的触发事件,在此不进行限定。
当有第一时间线节点的触发事件时,可向该游戏技能对应的第一客户端和第二客户端分别发送上述第一时间线节点的释放允许消息,以在第一客户端和第二客户端提供的游戏图形用户界面上,向玩家自己和其他玩家展示配置在第一时间线节点上的运行效果,该运行效果在图形用户界面上的具体表现可体现在渲染、特效、音效等方面,在此不进行限定。
为了便于理解,图2示出了一种技能行为系统的结构示意图,如图2所示,该技能行为系统包括行为层和表现层,其中,行为层包括技能有向图和运行效果;本实施例中的行为层以仅包括时间线节点1和时间线节点2为例进行说明,两个时间线节点通过触发条件连接,为了直观标识,该触发条件在图2中示意为条件控制线3。时间线节点1配置有EffectSetAnimGraphArg和EffectPlaySound两个运行效果,时间线节点2配置有EffectSetAnimGraphArg和EffectPlaySx两个运行效果,具体地,上述EffectSetAnimGraphArg运行效果对应表现层中的AnimGraph,EffectPlaySound运行效果对应表现层中的音效,EffectPlaySx运行效果对应表现层中的特效,玩家可通过表现层的具体表现看到时间线节点1和时间线节点2的技能逻辑对应的运行效果。
步骤S104,响应基于触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送该节点跳转事件对应的其它时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行其它时间线节点的第二运行效果;其中,其它时间线节点为除第一时间线节点之外的时间线节点。
如果服务器监测到触发条件对应的节点跳转事件发生,则确定该节点跳转事件对应的其它时间线节点为下一个执行运行效果的时间线节点,服务器向第一客户端和第二客户端下发该其它时间线节点的释放允许消息,以使该其它时间线节点上配置的运行效果在第一和第二客户端的图形用户界面上展示。
上述节点跳转事件对应的其它时间线节点为除第一时间线节点之外的节点,因时间线节点之间的触发条件与对应的时间线节点的技能逻辑有关,因此触发条件对应的节点跳转事件也与时间线节点的技能逻辑有关,不同的技能逻辑,可能对应不同的节点跳转事件,服务器根据该节点跳转事件可以确定出下一个需要执行的时间线节点,且该时间线节点对应的技能逻辑已经满足释放条件,因此向第一客户端和第二客户端分别发送该时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行该时间线节点的运行效果。
上述游戏技能处理方法,通过以时间线节点和其对应的运行效果为单位的同步方式,能够使第一客户端和第二客户端根据释放允许消息分别执行第一时间线节点和其它时间线节点的运行效果,这种将整个技能的同步问题转换为几个时间线节点的同步问题,每个时间线节点对应的逻辑比较简单,容易保证各个客户端技能同步的可靠性。而各个时间线节点仅需要触发条件对应的节点跳转事件触发,不再需要服务器监听动画蓝图信号,进而有效缓解了脚本逻辑监听动画蓝图信号导致的技能同步效果较差的问题。同时,通过技能有向图使逻辑与表现在代码结构上实现分离,使得逻辑完全控制表现,进一步提高了脚本逻辑的可靠性,减轻了服务端的负担,提升了游戏的运行效率。
上述技能有向图还包括连接相邻两个所述时间线节点的条件控制线,基于此,上述触发条件为该条件控制线对应的条件,即上述触发条件与条件控制线具有一一对应关系,每个条件控制线基于预先配置的节点跳转事件对应有一个触发条件,该触发条件具体为游戏中的虚拟角色或者游戏应用场景发生了满足该条件控制线的节点跳转事件的事件。因此可利用条件控制线来监测下一时间线节点的节点跳转事件是否发生,继续以上述冲锋斩技能为例进行说明,比如,该条件控制线对应的节点跳转事件为虚拟角色与被攻击角色的距离小于预设距离,则当虚拟角色冲锋到被攻击角色的距离小于预设距离时,则可执行时间线节点2。在本实施例中,技能有向图,以及技能有向图包括的时间线节点、条件控制线和运行效果可根据实际需要进行配置,在此不进行限定。
第一时间线节点的触发事件可以包括多种形式,以第一客户端为游戏技能的主客户端为例,即游戏技能对应的虚拟角色为第一客户端的玩家主控角色,玩家通过第一客户端控制该虚拟角色执行游戏任务,该场景下,可将控制虚拟角色的第一客户端称为主客户端;在主客户端提供的图形用户界面的显示内容上还可以包括游戏技能的技能控件,玩家可以通过操作该技能控件触发该游戏技能的释放请求。相应地,第二客户端为该游戏技能的从客户端或副客户端。
基于第一客户端为主客户端,第二客户端为从客户端的应用场景,上述步骤S102具体可以包括:响应第一客户端针对于游戏技能的释放操作触发的释放同步请求,验证游戏技能的技能有向图中的第一时间线节点是否满足预设的释放条件;如果是(即验证结果为满足预设的释放条件),向第一客户端和该游戏技能对应的第二客户端分别发送第一时间线节点的释放允许消息。如果否(即验证结果为不满足预设的释放条件),可以向第一客户端发送拒绝释放的消息,或者不发送消息。
本实施例的服务器在接收到上述释放同步请求后,可以基于第一客户端对应的虚拟角色的监控参数(例如:虚拟角色当前的状态参数或其它相关数值)验证是否满足第一时间线节点的释放条件,该验证过程可以基于不同的游戏场景和不同的游戏技能检查对应的参数,如果验证通过,则向第一客户端和第二客户端分别发送第一时间线节点的释放允许消息,以触发第一客户端和第二客户端同步执行第一时间线节点的第一运行效果,进而实现第一时间线节点的运行效果同步播放。
为了便于区分各个时间线节点和每个时间线节点对应的运行效果,在设计游戏技能的技能有向图过程中,还可以为技能有向图中的每个时间线节点配置标识信息,因为每个时间线节点和其对应的运行效果为一个同步单位,所以本申请实施例中将该标识信息称为单位标识信息。基于此,上述技能有向图中的时间线节点配置有单位标识信息;其中,该单位标识信息包括:时间线节点的节点标识和效果标识;该效果标识与该时间线节点对应的运行效果对应。通过在技能有向图中引入时间线节点的单位标识信息,在服务器与客户端进行消息交互过程中可以携带上对应的单位标识信息,例如上述第一时间线节点的释放允许消息携带有第一时间线节点的单位标识信息,这样可以使第一客户端和第二客户端均明确该释放允许消息对应于第一时间线节点,进而同步完成第一时间线节点对应的第一运行效果,保证了技能效果的同步性。
为了使上述单位标识信息在游戏内唯一,单位标识信息可以采用静态标识与动态标识相结合的方式,其中,静态标识可以在技能有向图设计过程中配置,动态标识可以在游戏技能被触发释放时生成。
当第一客户端的玩家控制虚拟角色释放某一游戏技能时,玩家可通过点触或长按该技能对应的图标实现,在玩家完成对游戏技能的释放触发操作时,第一客户端可获取技能有向图中的第一时间线节点对应的单位标识信息,具体地,该第一时间线节点对应的单位标识信息的获取是基于技能有向图中的第一时间线节点预先分配的静态标识和动态标识生成方式,生成第一时间线节点的单位标识信息;其中,静态标识包括:第一时间线节点的静态标识和第一时间线节点对应的运行效果的效果静态标识。
在本实施例中,为时间线节点和运行效果的每一次执行都分配了唯一的单位标识信息,以确保技能同步的准确性。为了便于理解,以单位标识信息总共64位为例进行说明,根据实际需要可将64位的唯一标识由低到高划分为3个域分别为:技能域BehaviorId、时间线节点域TimelieId和运行效果域EffectId。64位标识的具体分配可参见表1。
表1
如表1所示,技能域和时间线节点域的标识分为静态标识和动态标识,静态标识通常由编辑器生成,动态标识可在运行时由脚本逻辑生成,静态标识和动态标识组合得到运行时唯一标识时间线节点的目的,而运行效果域只有静态标识,由编辑器分配,技能内部唯一。在表1的第三列中详细给出了在运行时的哪个阶段生成的上述标识,在此不进行赘述。通常,标识的位数和位数的分配可根据实际需要进行设置,并不局限于表1所示的一种实现方式,其它实现方式在此不进行一一罗列。
下面先以第一客户端为主客户端为例进行说明,如图3所示的另一种游戏技能处理方法的流程图,该方法在上述实施例的基础上实现,从客户端与服务器双侧进行说明,本实施例中的游戏技能处理方法包括如下步骤:
步骤S302,第一客户端响应针对于游戏技能的释放操作,获取该游戏技能的技能有向图中的第一时间线节点的单位标识信息;其中,该单位标识信息包括:第一时间线节点的节点标识和第一时间线节点对应的运行效果的效果标识;
步骤S304,第一客户端向游戏的服务器发送第一时间线节点的释放同步请求;其中,该释放同步请求携带有第一客户端标识和上述第一时间线节点的单位标识信息;
上述第一客户端标识可以为该第一客户端对应的玩家身份标识或者终端标识,可用ID号进行表示。
步骤S306,服务器接收上述释放同步请求,根据请求中携带的单位标识信息验证第一时间线节点是否满足预设的释放条件,如果是,执行步骤S308;如果否,结束当前流程。
步骤S308,服务器向第一客户端和该游戏技能对应的第二客户端(即从客户端)分别发送第一时间线节点的释放允许消息;其中,该第一时间线节点的释放允许消息携带有第一时间线节点的单位标识信息。
步骤S310,第一客户端和第二客户端响应于服务器返回的第一时间线节点的释放允许消息,同步执行第一时间线节点的第一运行效果,然后执行步骤S312。
在实际使用时,上述释放同步请求不仅携带有第一客户端标识和单位标识信息,还可以携带有触发第一时间线节点的触发条件,服务器在接收到第一客户端发送的第一时间线节点的释放同步请求时,验证该释放同步请求中的触发条件是否达到,如果该触发条件达到,则生成第一时间线节点的释放允许消息,以使第一客户端和第二客户端执行第一时间线节点的第一运行效果,即玩家可在第一客户端或第二客户端的图形用户界面上看到第一时间线节点的运行效果的表现。
步骤S312,服务器响应基于各个时间线节点间的触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送该节点跳转事件对应的其它时间线节点的释放允许消息;其中,上述其它时间线节点的释放允许消息携带有该其它时间线节点的单位标识信息。
对于技能有向图中任意两两时间线节点间来说,如果当前的节点跳转事件满足这两个时间线节点间的触发条件,则这两个时间线节点中的下游时间线节点即为上述其它时间线节点。而在技能有向图中相邻的两个时间线节点,时序上排在前面的时间线节点为上游时间线节点,时序上排在后面的时间线节点为下游时间线节点。
步骤S314,第一客户端和第二客户端接收到其它时间线节点的释放允许消息后,根据其它时间线节点的单位标识信息同步执行其它时间线节点的第二运行效果。
重复执行上述步骤S312和S314之后,将完成上述游戏技能完整释放过程。
本申请实施例提供的上述技能处理方法,能够在时间线节点和运行效果的同步过程中提供标识时间线节点与运行效果的单位标识信息,将相关单位标识信息发送至服务器,服务器可根据时间线节点的单位标识信息确保技能逻辑触发的正确性和可靠性,从而保障了服务器向客户端下发的时间线节点的释放允许消息的可靠性,且,时间线节点的单位标识信息的具体生成方式包括静态标识和动态标识两种组合,使得标识不占用过多存储空间,且能够唯一,不影响后续使用。
为了使客户端的虚拟角色在释放技能时播放的动画具有连贯性,本申请实施例的技能有向图中的时间线节点配置有技能先行表现,该技能先行表现为第一运行效果或第二运行效果中与技能逻辑无关的效果,属于纯表现的效果,不影响技能参数的值和状态;基于此,上述释放同步请求携带有第一客户端执行第一时间线节点的技能先行表现的执行时间戳;相应地,上述向游戏技能对应的第二客户端发送第一时间线节点的释放允许消息的步骤,包括:基于执行时间戳生成第一时间线节点的先行追加时间;向游戏技能对应的第二客户端发送携带有第一时间线节点的单位标识信息和先行追加时间的释放允许消息,以触发第二客户端基于先行追加时间执行第一时间线节点的第一运行效果,实现第二客户端执行第一时间线节点的第一运行效果与第一客户端执行第一时间线节点的第一运行效果同步。这种方式中,第一客户端通过执行技能先行表现可以使得玩家感觉技能释放的连续性,而服务器通过向第二客户端发送携带有第一时间线节点的单位标识信息和先行追加时间的释放允许消息,可以使第二客户端基于先行追加时间与第一客户端同步播放第一运行效果,保证了客户端间同一技能释放的同步效果。
本实施例提供了另一种游戏技能处理方法,该方法在上述实施例的基础上实现;本实施例重点描述应用技能先行表现的具体实施方式。如图4所示的另一种游戏技能处理方法的流程图,该游戏技能处理方法以从服务器和客户端双侧描述为例进行说明,具体包括如下步骤:
步骤S400,第一客户端响应针对于游戏技能的释放操作,获取技能有向图中的第一时间线节点的单位标识信息;其中,单位标识信息包括:第一时间线节点的节点标识和效果标识。
步骤S401,第一客户端执行第一时间线节点的技能先行表现。
在玩家对游戏技能进行释放操作时,可以先在第一终端的图形用户界面上向玩家显示配置在第一时间线节点上的技能先行表现的效果,比如,虚拟角色进行旋转、虚拟角色的衣服颜色进行改变、释放个特效等与技能逻辑无关的效果呈现给玩家,使玩家在进行技能释放操作后,较为快速地执行技能先行表现,给玩家一种系统反应较为及时的游戏体验。
步骤S402,第一客户端生成第一时间线节点的释放同步请求,在该释放同步请求中添加上述技能先行表现的执行时间戳。
通常,在游戏开始时会同步各个客户端与服务器的时间,并定时刷新同步时间,该技能先行表现的执行时间戳即为第一客户端开始释放技能先行表现的本地时间。
步骤S403,第一客户端向服务器发送添加有上述执行时间戳的释放同步请求。当然,该释放同步请求还携带有上述第一时间线节点的单位标识信息和第一客户端标识。
步骤S404,服务器接收到释放同步请求后,验证允许第一时间线节点释放,向第一客户端返回第一时间线节点的释放允许消息,以及基于上述执行时间戳生成第一时间线节点的先行追加时间,向第二客户端发送第一时间线节点的释放允许消息,该释放允许消息携带有第一时间线节点的先行追加时间。因为第二客户端的释放允许消息与第一客户端的不同,本实施例为了区分,将第二客户端的释放允许消息称为同步释放指示消息。
为了使得虚拟角色释放的技能在第一客户端,以及第二客户端上表现一致,需要服务器向第二客户端发送第一时间线节点的同步释放指示消息,该同步释放指示消息携带了第一时间线节点的先行追加时间。
步骤S405,第一客户端响应于服务器返回的第一时间线节点的释放允许消息,执行第一时间线节点的第一运行效果,第二客户端接收到上述释放允许消息,根据第一时间线节点的先行追加时间执行第一运行效果。
例如第二客户端根据先行追加时间调整第一时间线节点的第一运行效果的播放速度,使第一客户端和第二客户端的第一运行效果的播放同步。
其中,第一时间线节点的释放允许消息为服务器基于释放同步请求验证通过后生成的消息。
为了便于理解,图5示出了一种时间线节点执行的时序图,给出了第一客户端、服务器和其它客户端(指上述第二客户端)对第一时间线节点的执行时序图,具体执行过程如下:
第一、第一客户端触发技能释放操作,执行第一时间线节点的技能先行表现,并向服务器发送第一时间线节点的释放同步请求,该请求除了携带有第一客户端标识和第一时间线节点对应的单位标识信息之外,还携带有第一时间线节点的技能先行表现的执行时间戳。如图5中t0至t3时间段为第一时间线节点的执行时间段,其中,t0为第一客户端执行第一时间线节点的技能先行表现的执行时间戳;
第二、服务器接收到上述第一时间线节点的释放同步请求后,计算该释放同步请求的接收时间t2与上述执行时间戳t0的差值,得到技能先行表现的先行时间为delta_t,其中,delta_t=t2-t0。
第三、在服务器验证释放同步请求通过后,服务器向第一客户端发送第一时间线节点的释放允许消息,向其它客户端发送携带有第一时间线节点的先行追加时间t1的同步释放指示消息。如图5所示,可设定先行追加时间为2倍的delta_t,即t1=2*delta_t。
第四、第一客户端收到上述释放允许消息后,在t1时间时第一客户端开始真正执行第一时间线节点的运行效果,并且,追加从t0到t1技能先行表现时间段内的运行效果。
第五、其它客户端接收到上述同步释放指示消息时,根据同步释放指示消息中携带的先行追加时间t1调整播放运行效果的执行速度,以追加先行追加时间t1时间内的第一时间线节点的运行效果,达到与第一客户端同步运行第一时间线节点的运行效果的目的。
对于后续其它时间线节点的执行过程,第一客户端和其它客户端均可以在上一个时间线执行完成时,进行预测并基于预测结果执行对应的技能先行表现。
步骤S406,第一客户端和第二客户端均响应于当前时间线节点的运行效果的执行完成事件,基于技能有向图预测当前时间线节点的下一个时间线节点的技能先行表现,执行下一个时间线节点的技能先行表现;
步骤S407,服务器响应基于各个时间线节点间的触发条件产生的节点跳转事件,向第一客户端和第二客户端分别发送该节点跳转事件对应的其它时间线节点的释放允许消息;其中,该其它时间线节点的释放允许消息携带有该其它时间线节点的单位标识信息。
步骤S408,第一客户端和第二客户端均响应于服务器下发的其它时间线节点的释放允许消息,执行其它时间线节点的第二运行效果;其中,其它时间线节点为除第一时间线节点之外的时间线节点。
上述方法以服务器验证第一时间线节点允许释放为例进行说明的,上述方法还包括:如果服务器验证第一时间线节点不满足预设的释放条件,向第一客户端发送先行表现回滚消息,以使第一客户端回退第一时间线节点的技能先行表现;该先行表现回滚消息携带有所述第一时间线节点的节点标识。通过这种方式,能够确保第一客户端预测失误时,回退至执行先行表现前的状态。
如图5所示,当第一客户端在t3时刻执行完第一时间线节点上的运行效果时,为了使得技术动画不脱节,第一客户端预测下一步应该执行第二时间线节点,则将以t3时刻为开始时刻,t4结束时刻开始运行第二时间线节点上配置的技能先行表现。
本申请实施例中,其它客户端也会和第一客户端类似,在执行完第一时间线节点上的运行效果时,为了使得技术动画不脱节,进行下一步的预测,图5中以其它客户端预测下一步应该执行第三时间线节点为例进行说明。
如果服务器基于上述技能有向图和虚拟角色对应的参数(坐标参数和/或状态参数等),以及第一时间线节点连接的下一个时间线节点的条件控制线,确定第二时间线节点为第一时间线节点的下一个执行节点,向第一客户端下发第二时间线节点的释放运行消息,向第二客户端下发第二时间线节点的同步释放指示消息。
第一客户端接收到上述第二时间线节点的释放运行消息后,则按照上述第一时间线节点执行的时序进行第二时间线节点的运行,即图5中的开始正在执行第二时间线节点,以及追加上述t3至t4先行时间内的运行效果(如:追加t3至t4先行时间内的逻辑),在此不进行赘述。
图5中,对于其它客户端,因为预测的结果(第三时间线节点)和服务器实际下发对应的时间线节点(第二时间线节点)不一致,因此上述其它客户端侧,回退第三时间线节点的技能先行表现(例如:撤回先前进行的发放物品的表现),开始真正执行第二时间线节点,追加先行时间内的运行效果,以快进方式使动画播放至先行时间等操作。
当然,上面是以第一客户端预测的时间线节点与服务器侧下发释放运行消息中的时间线节点一致的情况,对于第一客户端预测的时间线节点与服务器侧下发的释放运行消息中的时间线节点不一致的情况,上述向第一客户端和第二客户下发节点跳转事件对应的其它时间线节点的释放允许消息的步骤,包括:根据节点跳转事件确定其它时间线节点;生成携带有其它时间线节点的节点标识的释放允许消息;将其它时间线节点的释放允许消息发送给第一客户端和第二客户端,以使第一客户端和/或第二客户端在最近一次执行的技能先行表现对应的时间线节点与其它时间线节点不一致时进行技能先行表现回退。
相应地,第一客户端和第二客户端响应所述服务器下发的释放允许消息,解析所述释放允许消息,得到其它时间线节点标识;判断该其它时间线节点标识与最近一次执行的技能先行表现对应的目标时间线节点的时间线节点标识是否一致,如果不一致,回退目标时间线节点的技能先行表现。第一客户端和第二客户端进行上述回退之后,继续执行服务器下发的释放运行消息中的其它时间线节点标识对应的运行效果。通过这种回退方式,可以使第一客户端和第二客户端实际表现与服务器侧下发的释放运行消息中的时间线节点对应的表现一致。
为了便于理解,图6示出了另一种时间线节点执行的时序图,该时序图为第一客户端执行技能先行表现失败的时序图,以执行第一时间线节点的技能先行表现为例进行说明,第一时间线节点即为上述目标时间线节点。如图6所示,向服务器发送该目标时间线节点对应的释放同步请求的过程同上述第一时间线节点的过程,在此不进行赘述;当服务器验证该释放同步请求不通过时,则向第一客户端下发先行表现回滚消息,以使第一客户端回滚先行表现,即开始回退之前的技能先行表现,并且,服务器也不基于执行时间戳向第二客户端发送第一时间线节点的同步释放指示消息。
本申请实施例提供的上述技能处理方法,在第一客户端为玩家主控虚拟角色的主客户端时,向服务器发送第一时间线节点的释放同步请求之前,第一客户端先执行技能先行表现,以使玩家感受到触发游戏技能后,技能随即释放的效果,提升释放技能的响应速度,并且,在当前时间线节点执行完时,基于技能有向图预测下一个时间线节点的技能先行表现,并提前执行下一个时间线节点的技能先行表现,以使技能释放的视觉效果更具连贯性,且,在服务器未通过验证时进行技能先行表现的回退操作,以保障技能释放的合理性。
考虑到实现技能同步的应用场景中,第一时间线节点的触发事件可能是客户端触发,也可能是服务器触发,本申请实施例对技能的运行效果(Effect)的结构进行了相关限定,比如,将运行效果区分为:主客户端先行或服务器先行,以及对一些需要等待服务器或者客户端结果的运行效果配置相关特定的结构。参见表2,本申请实施例主要把运行效果分为三类:
表2
上述Effect中会包含各端需要执行的代码,代码大致分如表3所述:
表3
名字 描述
Effect_s Effect服务器部分逻辑
Effect_mc Effect主客户端部分逻辑
Effect_oc Effect副客户端部分逻辑
Effect_s_post 服务器等待客户端结果执行部分
Effect_mc_post 主客户端等待服务器结果执行部分
Effect_oc_post 副客户端等待服务器结果执行部分
为了便于说明,图7示出了一种主客户端先行类型效果图,如图7所示,对于需要等待主客户端上报一些参数的运行效果可以标注为这个类型,服务器在使用需求集合结果集的方式匹配上对应的参数之后执行完服务器等待主客户端结果执行部分,并会继续下发消息到其它客户端执行后续逻辑。
具体地,主客户端将Effect_mc(主客户端部分逻辑)加入服务器的需求集合结果集中,服务器在验证Effect_s_post(服务器等待客户端结果执行部分)通过后,分别向主客户端的Effect_mc_post(主客户端等待服务器结果执行部分)和Effect_oc_post(其它客户端等待服务器结果执行部分)下发消息,以执行后续逻辑。
上述实施例多数是以第一客户端触发第一时间线节点为例进行的说明,如果是服务器先行方式,上述响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息包括:监听游戏中虚拟角色的游戏技能对应的状态参数;响应于监听到的状态参数满足游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息。这种方式下,第一客户端和第二客户端直接响应该释放允许消息,执行第一允许效果即可。
上述实施例为服务器先行进行技能同步的实例,为了便于说明,图8示出了一种服务器先行类型效果图,如图8所示,对于需要等待服务端参数的运行效果,可以指定为服务器先行类型效果,在服务器执行完之后会交接过下发到主客户端和副客户端,各客户端会直接执行各自本地的逻辑。
如图8所示,在服务器执行完Effect_s(服务器部分逻辑)之后,将服务器参数分别下发给主客户端和其它客户端(也即上述从客户端或副客户端),以使主客户端执行Effect_mc_post(主客户端等待服务器结果执行部分),使其它客户端执行Effect_oc_post(其它客户端等待服务器结果执行部分)。
在实际使用时,还存在各个客户端分别执行的情况,不需要等待对端的结果进行执行,比如,如果虚拟角色的技能为独立执行技能,响应针对于独立执行技能的技能有向图中的第一时间线节点的触发操作,执行第一时间线节点的运行效果;基于独立执行技能的技能有向图中各个时间线节点间的条件控制线执行下一个时间线节点。
该独立执行技能为不需要与其它副客户端进行同步的技能,比如,查看背包的技能,该类技能可在被触发操作触发时,其释放不需要等待服务器的指示,直接执行第一时间线节点的运行效果,并基于预先设置好的各个时间线节点间的条件控制线顺序执行下一个时间线节点,而在执行的过程中,无需进行技能先行表现。
本实施例还提供了一种游戏技能处理系统,参见图9所示的一种游戏技能处理系统的结构图,如图9所示,该系统包括第一客户端901和第二客户端902,以及服务器900;服务器900、所述第一客户端901和第二客户端902均预存有游戏技能的技能有向图,所述技能有向图为针对所述游戏技能配置的有向图,所述技能有向图包括多个时间线节点,所述时间线节点预先配置有与所述游戏技能对应的至少一个运行效果,所述多个时间线节点之间基于触发条件进行跳转;
所述服务器900,用于响应针对于所述技能有向图中的第一时间线节点的触发事件,向所述第一客户端901和所述第二客户端902分别发送所述第一时间线节点的释放允许消息;
所述第一客户端901和第二客户端902,均用于接收所述第一时间线节点的释放允许消息,同步执行所述第一时间线节点的第一运行效果;
所述服务器900,还用于基于所述触发条件产生的节点跳转事件,向所述第一客户端901和所述第二客户端902分别发送所述节点跳转事件对应的其它时间线节点的释放允许消息;其中,所述其它时间线节点为除所述第一时间线节点之外的时间线节点;
所述第一客户端901和第二客户端902,还均用于接收所述其它时间线节点的释放允许消息,同步执行所述其它时间线节点的第二运行效果。
上述服务器、第一客户端和第二客户端的功能,均与上述游戏技能处理方法中的服务器、第一客户端和第二客户端执行的步骤相对应,这里不再赘述。
对应于上述方法实施例,本发明实施例还提供了一种游戏技能处理装置,参见图10,该装置包括:
第一执行模块10,用于响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向所述游戏技能对应的第一客户端和第二客户端分别发送所述第一时间线节点的释放允许消息,以触发所述第一客户端和所述第二客户端同步执行所述第一时间线节点的第一运行效果;其中,所述技能有向图为针对所述游戏技能配置的有向图,所述技能有向图包括多个时间线节点,所述时间线节点预先配置有与所述游戏技能对应的至少一个运行效果,所述多个时间线节点之间基于触发条件进行跳转;
第二执行模块12,用于基于所述触发条件产生的节点跳转事件,向所述第一客户端和所述第二客户端分别发送所述节点跳转事件对应的其它时间线节点的释放允许消息,以触发所述第一客户端和所述第二客户端同步执行所述其它时间线节点的第二运行效果;其中,所述其它时间线节点为除所述第一时间线节点之外的时间线节点。
上述技能有向图还包括连接相邻两个时间线节点的条件控制线,触发条件为条件控制线对应的条件。
上述第一执行模块10还用于:响应第一客户端针对于游戏技能的释放操作触发的释放同步请求,验证游戏技能的技能有向图中的第一时间线节点是否满足预设的释放条件;如果是,向第一客户端和游戏技能对应的第二客户端分别发送第一时间线节点的释放允许消息。
上述技能有向图中的时间线节点配置有单位标识信息;其中,单位标识信息包括:时间线节点的节点标识和效果标识;第一时间线节点的释放允许消息携带有第一时间线节点的单位标识信息。
上述技能有向图中的时间线节点配置有技能先行表现;其中,技能先行表现为第一运行效果或第二运行效果中与技能逻辑无关的效果;释放同步请求携带有第一客户端执行第一时间线节点的技能先行表现的执行时间戳;所述第一执行模块10还用于:基于执行时间戳生成第一时间线节点的先行追加时间;向游戏技能对应的第二客户端发送携带有第一时间线节点的单位标识信息和先行追加时间的释放允许消息,以触发第二客户端基于先行追加时间执行第一时间线节点的第一运行效果,实现第二客户端执行第一时间线节点的第一运行效果与第一客户端执行第一时间线节点的第一运行效果同步。
参见图11提供的游戏技能处理装置的另一结构示意图,上述装置还包括:先行表现回退模块13,用于如果验证第一时间线节点不满足预设的释放条件,向第一客户端发送先行表现回滚消息,以使第一客户端回退第一时间线节点的技能先行表现;先行表现回滚消息携带有第一时间线节点的节点标识。
上述技能有向图中的时间线节点配置有技能先行表现;其中,技能先行表现为运行效果中与技能逻辑无关的效果,第一客户端和第二客户在执行完当前时间线接的运行效果时预测并执行下一个时间线节点的技能先行表现;
上述第二执行模块12还用于:根据节点跳转事件确定其它时间线节点;生成携带有其它时间线节点的节点标识的释放允许消息;将其它时间线节点的释放允许消息发送给第一客户端和第二客户端,以使第一客户端和/或第二客户端在最近一次执行的技能先行表现对应的时间线节点与其它时间线节点不一致时进行技能先行表现回退。
上述第一执行模块还用于:监听游戏中虚拟角色的游戏技能对应的状态参数;响应于监听到的状态参数满足游戏技能的技能有向图中的第一时间线节点的触发事件,向游戏技能对应的第一客户端和第二客户端分别发送第一时间线节点的释放允许消息。
本申请实施例提供的游戏技能处理装置和系统,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,技能处理装置和系统的实施例部分未提及之处,可参考前述技能处理方法实施例中相应内容。
本申请实施例还提供了一种电子设备,如图12所示,为该电子设备的结构示意图,其中,该电子设备包括处理器121和存储器120,该存储器120存储有能够被该处理器121执行的计算机可执行指令,该处理器121执行该计算机可执行指令以实现上述技能处理方法。
在图12示出的实施方式中,该电子设备还包括总线122和通信接口123,其中,处理器121、通信接口123和存储器120通过总线122连接。
其中,存储器120可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口123(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线122可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线122可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器121可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器121中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器121可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processor,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器121读取存储器中的信息,结合其硬件完成前述实施例的技能处理方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述技能处理方法,具体实现可参见前述方法实施例,在此不再赘述。
本申请实施例所提供的技能处理方法、系统、装置及电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种游戏技能处理方法,其特征在于,包括:
响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向所述游戏技能对应的第一客户端和第二客户端分别发送所述第一时间线节点的释放允许消息,以触发所述第一客户端和所述第二客户端同步执行所述第一时间线节点的第一运行效果;其中,所述技能有向图为针对所述游戏技能配置的有向图,所述技能有向图包括多个时间线节点,所述时间线节点预先配置有与所述游戏技能对应的至少一个运行效果,所述多个时间线节点之间基于触发条件进行跳转;
响应基于所述触发条件产生的节点跳转事件,向所述第一客户端和所述第二客户端分别发送所述节点跳转事件对应的其它时间线节点的释放允许消息,以触发所述第一客户端和所述第二客户端同步执行所述其它时间线节点的第二运行效果;其中,所述其它时间线节点为除所述第一时间线节点之外的时间线节点。
2.根据权利要求1所述的方法,其特征在于,所述技能有向图还包括连接相邻两个所述时间线节点的条件控制线,所述触发条件为所述条件控制线对应的条件。
3.根据权利要求1所述的方法,其特征在于,响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向所述游戏技能对应的第一客户端和第二客户端分别发送所述第一时间线节点的释放允许消息的步骤,包括:
响应第一客户端针对于所述游戏技能的释放操作触发的释放同步请求,验证所述游戏技能的技能有向图中的第一时间线节点是否满足预设的释放条件;
如果是,向所述第一客户端和所述游戏技能对应的第二客户端分别发送所述第一时间线节点的释放允许消息。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述技能有向图中的时间线节点配置有单位标识信息;其中,所述单位标识信息包括:时间线节点的节点标识和效果标识;所述第一时间线节点的释放允许消息携带有所述第一时间线节点的单位标识信息。
5.根据权利要求4所述的方法,其特征在于,所述技能有向图中的时间线节点配置有技能先行表现;其中,所述技能先行表现为第一运行效果或第二运行效果中与技能逻辑无关的效果;所述释放同步请求携带有所述第一客户端执行所述第一时间线节点的技能先行表现的执行时间戳;
向所述游戏技能对应的第二客户端发送所述第一时间线节点的释放允许消息的步骤,包括:
基于所述执行时间戳生成所述第一时间线节点的先行追加时间;
向所述游戏技能对应的第二客户端发送携带有所述第一时间线节点的单位标识信息和所述先行追加时间的释放允许消息,以触发所述第二客户端基于所述先行追加时间执行所述第一时间线节点的第一运行效果,实现所述第二客户端执行所述第一时间线节点的第一运行效果与所述第一客户端执行所述第一时间线节点的第一运行效果同步。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
如果验证所述第一时间线节点不满足预设的释放条件,向所述第一客户端发送先行表现回滚消息,以使所述第一客户端回退所述第一时间线节点的技能先行表现;所述先行表现回滚消息携带有所述第一时间线节点的节点标识。
7.根据权利要求1所述的方法,其特征在于,所述技能有向图中的时间线节点配置有技能先行表现;其中,所述技能先行表现为运行效果中与技能逻辑无关的效果,所述第一客户端和所述第二客户在执行完当前时间线接的运行效果时预测并执行下一个时间线节点的技能先行表现;
向所述第一客户端和所述第二客户下发所述节点跳转事件对应的其它时间线节点的释放允许消息的步骤,包括:
根据所述节点跳转事件确定其它时间线节点;
生成携带有所述其它时间线节点的节点标识的释放允许消息;
将所述其它时间线节点的释放允许消息发送给所述第一客户端和所述第二客户端,以使所述第一客户端和/或所述第二客户端在最近一次执行的技能先行表现对应的时间线节点与所述其它时间线节点不一致时进行技能先行表现回退。
8.根据权利要求1所述的方法,其特征在于,响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向所述游戏技能对应的第一客户端和第二客户端分别发送所述第一时间线节点的释放允许消息包括:
监听游戏中虚拟角色的游戏技能对应的状态参数;
响应于监听到的状态参数满足所述游戏技能的技能有向图中的第一时间线节点的触发事件,向所述游戏技能对应的第一客户端和第二客户端分别发送所述第一时间线节点的释放允许消息。
9.一种游戏技能处理系统,其特征在于,所述系统包括第一客户端和第二客户端,以及服务器;所述服务器、所述第一客户端和第二客户端均预存有游戏技能的技能有向图,所述技能有向图为针对所述游戏技能配置的有向图,所述技能有向图包括多个时间线节点,所述时间线节点预先配置有与所述游戏技能对应的至少一个运行效果,所述多个时间线节点之间基于触发条件进行跳转;
所述服务器,用于响应针对于所述技能有向图中的第一时间线节点的触发事件,向所述第一客户端和所述第二客户端分别发送所述第一时间线节点的释放允许消息;
所述第一客户端和第二客户端,均用于接收所述第一时间线节点的释放允许消息,同步执行所述第一时间线节点的第一运行效果;
所述服务器,还用于响应基于所述触发条件产生的节点跳转事件,向所述第一客户端和所述第二客户端分别发送所述节点跳转事件对应的其它时间线节点的释放允许消息;其中,所述其它时间线节点为除所述第一时间线节点之外的时间线节点;
所述第一客户端和第二客户端,还均用于接收所述其它时间线节点的释放允许消息,同步执行所述其它时间线节点的第二运行效果。
10.一种游戏技能处理装置,其特征在于,包括:
第一执行模块,用于响应针对于游戏技能的技能有向图中的第一时间线节点的触发事件,向所述游戏技能对应的第一客户端和第二客户端分别发送所述第一时间线节点的释放允许消息,以触发所述第一客户端和所述第二客户端同步执行所述第一时间线节点的第一运行效果;其中,所述技能有向图为针对所述游戏技能配置的有向图,所述技能有向图包括多个时间线节点,所述时间线节点预先配置有与所述游戏技能对应的至少一个运行效果,所述多个时间线节点之间基于触发条件进行跳转;
第二执行模块,用于响应基于所述触发条件产生的节点跳转事件,向所述第一客户端和所述第二客户端分别发送所述节点跳转事件对应的其它时间线节点的释放允许消息,以触发所述第一客户端和所述第二客户端同步执行所述其它时间线节点的第二运行效果;其中,所述其它时间线节点为除所述第一时间线节点之外的时间线节点。
11.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至8任一项所述的方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至8任一项所述的方法。
CN202011483640.4A 2020-12-15 2020-12-15 游戏技能处理方法、系统、装置及电子设备 Active CN112546616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011483640.4A CN112546616B (zh) 2020-12-15 2020-12-15 游戏技能处理方法、系统、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011483640.4A CN112546616B (zh) 2020-12-15 2020-12-15 游戏技能处理方法、系统、装置及电子设备

Publications (2)

Publication Number Publication Date
CN112546616A CN112546616A (zh) 2021-03-26
CN112546616B true CN112546616B (zh) 2024-01-12

Family

ID=75063956

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011483640.4A Active CN112546616B (zh) 2020-12-15 2020-12-15 游戏技能处理方法、系统、装置及电子设备

Country Status (1)

Country Link
CN (1) CN112546616B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113633970B (zh) * 2021-08-18 2024-03-08 腾讯科技(成都)有限公司 动作效果的显示方法、装置、设备及介质

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739608A (zh) * 2011-04-07 2012-10-17 腾讯科技(深圳)有限公司 游戏特效实现方法、游戏客户端
KR20130143163A (ko) * 2012-06-20 2013-12-31 주식회사 엔씨소프트 온라인 게임에서의 스킬 판정방법 및 시스템
US9744440B1 (en) * 2012-01-12 2017-08-29 Zynga Inc. Generating game configurations
CN108983969A (zh) * 2018-06-26 2018-12-11 魔力小鸟(北京)信息技术有限公司 虚拟形象交互式控制及可视化管理的系统
CN109947993A (zh) * 2019-03-14 2019-06-28 百度国际科技(深圳)有限公司 基于语音识别的情节跳转方法、装置及计算机设备
CN110354503A (zh) * 2019-04-28 2019-10-22 深圳市腾讯网域计算机网络有限公司 事件触发方法、装置以及终端
CN110882534A (zh) * 2019-12-20 2020-03-17 网易(杭州)网络有限公司 一种游戏技能的编辑方法和装置
CN110898425A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 信息同步方法和装置、存储介质及电子装置
CN111314276A (zh) * 2019-11-09 2020-06-19 北京长亭未来科技有限公司 一种对多个攻击行为检测的方法、装置及系统
CN111659107A (zh) * 2020-06-09 2020-09-15 网易(杭州)网络有限公司 游戏技能释放方法、装置及电子设备
CN111888759A (zh) * 2020-07-27 2020-11-06 腾讯科技(深圳)有限公司 一种游戏技能释放方法、数据处理方法及装置
CN111888766A (zh) * 2020-08-11 2020-11-06 网易(杭州)网络有限公司 一种游戏中的信息处理方法、装置、电子设备及存储介质
CN112052173A (zh) * 2020-09-04 2020-12-08 完美世界(北京)软件科技发展有限公司 技能效果修改方法、装置、设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8705195B2 (en) * 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
US11794108B2 (en) * 2016-06-13 2023-10-24 Sony Interactive Entertainment LLC Method and system for saving a snapshot of game play and used to begin later execution of the game play by any user as executed on a game cloud system
US11045737B2 (en) * 2016-06-13 2021-06-29 Sony Interactive Entertainment LLC In-game location based game play companion application

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102739608A (zh) * 2011-04-07 2012-10-17 腾讯科技(深圳)有限公司 游戏特效实现方法、游戏客户端
US9744440B1 (en) * 2012-01-12 2017-08-29 Zynga Inc. Generating game configurations
KR20130143163A (ko) * 2012-06-20 2013-12-31 주식회사 엔씨소프트 온라인 게임에서의 스킬 판정방법 및 시스템
CN108983969A (zh) * 2018-06-26 2018-12-11 魔力小鸟(北京)信息技术有限公司 虚拟形象交互式控制及可视化管理的系统
CN109947993A (zh) * 2019-03-14 2019-06-28 百度国际科技(深圳)有限公司 基于语音识别的情节跳转方法、装置及计算机设备
CN110354503A (zh) * 2019-04-28 2019-10-22 深圳市腾讯网域计算机网络有限公司 事件触发方法、装置以及终端
CN111314276A (zh) * 2019-11-09 2020-06-19 北京长亭未来科技有限公司 一种对多个攻击行为检测的方法、装置及系统
CN110898425A (zh) * 2019-11-27 2020-03-24 腾讯科技(深圳)有限公司 信息同步方法和装置、存储介质及电子装置
CN110882534A (zh) * 2019-12-20 2020-03-17 网易(杭州)网络有限公司 一种游戏技能的编辑方法和装置
CN111659107A (zh) * 2020-06-09 2020-09-15 网易(杭州)网络有限公司 游戏技能释放方法、装置及电子设备
CN111888759A (zh) * 2020-07-27 2020-11-06 腾讯科技(深圳)有限公司 一种游戏技能释放方法、数据处理方法及装置
CN111888766A (zh) * 2020-08-11 2020-11-06 网易(杭州)网络有限公司 一种游戏中的信息处理方法、装置、电子设备及存储介质
CN112052173A (zh) * 2020-09-04 2020-12-08 完美世界(北京)软件科技发展有限公司 技能效果修改方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN112546616A (zh) 2021-03-26

Similar Documents

Publication Publication Date Title
CN110124307B (zh) 操作控制方法和装置、存储介质及电子装置
CN106582020B (zh) 一种游戏关卡处理方法和装置
JPH06139107A (ja) ブレイクアドレス検出回路
CN112642143B (zh) 一种实现信息同步的方法、装置、存储介质和电子设备
CN112546616B (zh) 游戏技能处理方法、系统、装置及电子设备
CN105354040A (zh) 双引擎游戏内置工具栏的方法、装置及终端
CN111444103A (zh) 一种Web页面自动化测试方法及相关设备
CN111298434B (zh) 业务处理方法、装置、设备及存储介质
CN110702346B (zh) 一种振动测试方法、装置、存储介质及终端
CN113379876A (zh) 动画数据处理方法、装置、计算机设备和存储介质
CN113705179A (zh) 文档协同编辑方法、装置及电子设备
CN109800124A (zh) Cpu使用率监控方法、装置、电子设备及存储介质
CN112346935A (zh) 渲染耗时的获取、显示方法、性能监控方法、装置及设备
CN110719493A (zh) 弹幕显示方法、装置、电子设备及可读存储介质
CN111405297B (zh) 活动榜单结算方法、装置及存储介质
CN113181637B (zh) 游戏回放方法和系统
CN112631949B (zh) 一种调试方法、装置、计算机设备及存储介质
CN106407016A (zh) 一种多线程争抢资源的模拟方法及装置
CN113821443A (zh) 应用程序的功能检测方法、装置、设备及存储介质
CN108829824B (zh) 互联网运营活动中的资源处理方法及装置
CN113134234A (zh) 信息显示方法、装置、终端及存储介质
CN111068315A (zh) 一种帧同步问题的定位方法、装置及电子设备
CN112099879A (zh) 配置信息管理方法、装置、计算机设备及存储介质
CN111026371A (zh) 一种游戏开发方法、装置、电子设备及存储介质
CN113617032B (zh) 游戏剧情的编辑方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant