CN112619148A - 虚拟角色控制方法、装置、计算设备及存储介质 - Google Patents

虚拟角色控制方法、装置、计算设备及存储介质 Download PDF

Info

Publication number
CN112619148A
CN112619148A CN202110094562.7A CN202110094562A CN112619148A CN 112619148 A CN112619148 A CN 112619148A CN 202110094562 A CN202110094562 A CN 202110094562A CN 112619148 A CN112619148 A CN 112619148A
Authority
CN
China
Prior art keywords
virtual character
action
clicked
target behavior
virtual
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.)
Granted
Application number
CN202110094562.7A
Other languages
English (en)
Other versions
CN112619148B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110094562.7A priority Critical patent/CN112619148B/zh
Publication of CN112619148A publication Critical patent/CN112619148A/zh
Application granted granted Critical
Publication of CN112619148B publication Critical patent/CN112619148B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/55Controlling game characters or game objects based on the game progress
    • 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/80Special adaptations for executing a specific game genre or game mode
    • A63F13/822Strategy games; Role-playing games

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

公开了一种虚拟角色控制方法和装置、计算设备及可读介质。该虚拟角色控制方法包括:获取虚拟角色的当前状态和针对虚拟角色的攻击操作;根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略;控制虚拟角色实施所述目标行为策略。

Description

虚拟角色控制方法、装置、计算设备及存储介质
技术领域
本公开涉及游戏技术领域,更具体地涉及一种虚拟角色控制方法和装置、计算设备及计算机可读存储介质。
背景技术
随着计算机技术和互联网技术的发展,电子游戏(例如电脑游戏、手机游戏),尤其是网络游戏得到快速发展。在诸如MMORPG(大型多人在线游戏,Massive MultiplayerOnline Role-Playing Game)之类的角色扮演类电子游戏中,玩家或机器(例如通过AI(Artificial Intelligence,人工智能))可以控制虚拟角色,例如虚拟人物、虚拟动物、怪物等,在虚拟环境中活动,特别是相互对战。在战斗中,玩家控制的虚拟角色通过攻击操作,可以使得被攻击的对象呈现某种被击表现或效果(例如被击飞、击倒、扣血等),从而增加玩家的成就感和自豪感,提升玩家的游戏体验。
然而,相关技术的电子游戏中,战斗中被攻击虚拟角色的被击表现或效果往往采用统一的控制策略。这种统一的处理方式,尽管逻辑相对简单,但是所得到的被击表现和效果不够自然,而且效果切换或过渡比较简单粗暴,容易造成跳变的感觉。
发明内容
出于用户体验的需要,希望得到的被击表现和效果更加自然,然而这通常会使得游戏逻辑更加复杂,给游戏处理过程带来极大的资源负担。
有鉴于此,本公开提供了一种虚拟角色控制方法和装置、计算设备及计算机可读存储介质,期望可以缓解、减轻或甚至消除上述问题中的一些或全部以及其它可能的问题。
根据本公开的一个方面,提出了一种虚拟角色控制方法,包括:获取虚拟角色的当前状态和针对虚拟角色的攻击操作;根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略;控制虚拟角色实施所述目标行为策略。
在根据本公开一些实施例的虚拟角色控制方法中,虚拟角色的当前状态包括:待机状态、移动状态、技能释放状态、被击状态、死亡状态。
在根据本公开一些实施例的虚拟角色控制方法中,根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略,包括:获取所述攻击操作中释放的第一技能;根据第一技能,确定虚拟角色的预设被击动作;根据虚拟角色的预设被击动作和虚拟角色的当前状态,确定虚拟角色的目标行为策略。
在根据本公开一些实施例的虚拟角色控制方法中,根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略,包括:获取所述攻击操作中释放的第一技能;根据第一技能和虚拟角色的属性,确定虚拟角色的预设被击动作;根据虚拟角色的预设被击动作和虚拟角色的当前状态,确定虚拟角色的目标行为策略。
在根据本公开一些实施例的虚拟角色控制方法中,预设被击动作包括下述各项中至少一个:原地被击、被击退、被击倒、被击飞、原地眩晕或被抓取。
在根据本公开一些实施例的虚拟角色控制方法中,根据虚拟角色的预设被击动作和虚拟角色的当前状态,确定虚拟角色的目标行为策略,包括:响应于虚拟角色的当前状态为死亡状态,将虚拟角色的目标行为策略确定为保持死亡状态;响应于虚拟角色的当前状态为待机状态,将虚拟角色的目标行为策略确定为执行预设被击动作;响应于虚拟角色的当前状态为移动状态,根据预设被击动作和与移动状态对应的当前移动动作,确定虚拟角色的目标行为策略;响应于虚拟角色的当前状态为技能释放状态,根据预设被击动作对应的第一技能和技能释放状态对应的第二技能,确定虚拟角色的目标行为策略;响应于虚拟角色的当前状态为被击状态,根据预设被击动作与被击状态对应的当前被击动作,确定虚拟角色的目标行为策略。
在根据本公开一些实施例的虚拟角色控制方法中,响应于虚拟角色的当前状态为移动状态,根据预设被击动作和与移动状态对应的当前移动动作,确定虚拟角色的目标行为策略,包括:响应于预设被击动作满足合成条件,将预设被击动作与当前移动动作进行合成处理以得到合成被击动作,并将目标行为策略确定为执行合成被击动作;响应于预设被击动作不满足合成条件,将目标行为策略确定为执行预设被击动作。
在根据本公开一些实施例的虚拟角色控制方法中,合成条件包括:设被击动作为原地被击、原地眩晕、被击退中至少一个。
在根据本公开一些实施例的虚拟角色控制方法中,响应于虚拟角色的当前状态为技能释放状态,根据预设被击动作对应的第一技能和技能释放状态对应的第二技能,确定虚拟角色的目标行为策略,包括:获取第一技能的第一等级以及第二技能的第二等级;响应于第二等级高于第一等级,将虚拟角色的目标行为策略确定为保持技能释放状态,响应于第二等级低于或等于第一等级,将虚拟角色的目标行为策略确定为执行预设被击动作。
在根据本公开一些实施例的虚拟角色控制方法中,响应于虚拟角色的当前状态为被击状态,根据预设被击动作与被击状态对应的当前被击动作,确定虚拟角色的目标行为策略,包括:获取预设被击动作的第一优先级和当前被击动作的第二优先级;响应于第一优先级高于或等于第二优先级,将虚拟角色的目标行为策略确定为执行预设被击动作;响应于第一优先级低于第二优先级,将虚拟角色的目标行为策略确定为保持所述被击状态。
在根据本公开一些实施例的虚拟角色控制方法中,根据虚拟角色的预设被击动作和虚拟角色的当前状态确定虚拟角色的目标行为策略可以包括:根据预设被击动作和虚拟角色的当前状态,设定虚拟角色的移动硬直时间和技能硬直时间中至少一个;在移动硬直时间期间,虚拟角色的目标行为策略被确定为包括禁止虚拟角色主动移动;响应于设定虚拟角色的移动硬直时间,将虚拟角色的目标行为策略确定为包括在移动硬直时间期间禁止虚拟角色主动移动;响应于设定虚拟角色的技能硬直时间,将虚拟角色的目标行为策略确定为包括在技能硬直时间期间禁止虚拟角色主动释放技能。
在根据本公开一些实施例的虚拟角色控制方法中,根据预设被击动作和虚拟角色的当前状态,确定虚拟角色的目标行为策略,包括:根据被击状态对应的当前被击动作,确定当前被击动作的被击硬直时间;响应于攻击操作的发起时刻处于被击硬直时间之内,获取预设被击动作的第一优先级和当前被击动作的第二优先级;响应于第一优先级低于第二优先级,将虚拟角色的目标行为策略确定为保持所述被击状态;响应于攻击操作的发起时刻处于被击硬直时间之外或者第一优先级高于或等于第二优先级,将虚拟角色的目标行为策略确定为执行预设被击动作。
在根据本公开一些实施例的虚拟角色控制方法中,进一步包括:将虚拟角色的目标行为策略发送至服务器以供校验并形成校验信息,所述校验信息包括用于表明所述目标行为策略是否异常的校验结果,并且在校验结果为所述目标行为策略异常的情况下,所述校验信息进一步包括经校正的目标行为策略;从服务器接收校验信息;响应于所述校验信息中的校验结果为所述目标行为策略是异常的,控制虚拟角色实施所述经校正的目标行为策略。
根据本公开的另一方面,提出一种虚拟角色控制装置,包括:获取模块,配置成获取虚拟角色的当前状态和针对虚拟角色的攻击操作;确定模块,配置成根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略;控制模块,配置成控制虚拟角色实施所述目标行为策略。
根据本公开的另一个方面,提出一种计算设备,包括:存储器和处理器,其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行根据本公开一些实施例的虚拟角色控制方法的步骤。
根据本公开的另一方面,提出一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现根据本公开一些实施例的虚拟角色控制方法。
根据本公开的另一方面,提出一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行根据本公开一些实施例的虚拟角色控制方法中至少一个步骤的程序代码。
利用根据本公开一些实施例的虚拟角色控制方法和装置,在虚拟角色被击时,基于攻击方虚拟角色的攻击操作和被击虚拟角色的当前不同状态(例如待机、移动、释放技能、被击、死亡等)二者,确定被击虚拟角色相应的目标行为策略,从而实现适用于不同状态的被击虚拟角色的多种被击效果或表现,丰富虚拟角色的被击行为表现形式、显著提升了虚拟角色被击行为或效果的仿真精度和逼真程度,使得被击行为表现自然流畅,不同状态或动作的过渡或切换平滑连贯,避免跳变或突变。因此,一方面,本公开充分利用了游戏资源(例如,虚拟角色的实时状态信息)并优化了资源调度以提升游戏的(例如,虚拟角色被击时的)动画效果,显著增强了用户体验。另一方面,通过监视并获取虚拟角色当前状态并基于所述当前状态确定目标行为策略,使得在提升游戏动画效果的同时整个过程所涉及计算量较小,数据处理效率较高。
附图说明
根据以下详细描述和附图,将容易理解本公开的各个不同的方面、特征和优点,在附图中:
图1示意性示出根据本公开一些实施例的虚拟角色控制方法的示例实施环境;
图2示意性示出根据本公开一些实施例的虚拟角色控制方法在图1的示例实施环境中实现的示例交互流程图;
图3A示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图3B和3C分别示出根据本公开一些实施例的虚拟角色控制方法所得到的目标行为策略在终端设备上实施的示例界面;
图4A示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图4B示意性示出了图4A所示的虚拟角色控制方法在图1所示的实施环境中实现的示例交互流程图;
图4C示意性示出了根据本公开一些实施例的虚拟角色控制方法在图1所示的实施环境中的示例交互流程图;
图5示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图6A-6B示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图7A-7F示出根据本公开一些实施例的虚拟角色控制方法的目标行为策略的实施示意图;
图8A-8E示出根据本公开另一些实施例的虚拟角色控制方法的目标行为策略的实施示意图;
图9示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图10示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图11A和11B分别示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图;
图12示意性示出根据本公开一些实施例的虚拟角色控制装置的结构框图;以及
图13示意性示出根据本公开一些实施例的计算设备。
应当指出,上述附图仅仅是示意性的和说明性的,且并不一定按照比例绘制。
具体实施方式
下面将参照附图更详细地描述本公开的若干个实施例以便使得本领域技术人员能够实现本公开。本公开可以体现为许多不同的形式和目的并且不应局限于本文所阐述的实施例。提供这些实施例以使得本公开全面且完整,并充分地向本领域技术人员传达本公开的范围。所述实施例并不限定本公开。
将理解的是,尽管术语第一、第二、第三等在本文中可以用来描述各种元件、部件和/或部分,但是这些元件、部件和/或部分不应当由这些术语限制。这些术语仅用来将一个元件、部件或部分与另一个元件、部件或部分相区分。因此,下面讨论的第一元件、部件或部分可以被称为第二元件、部件或部分而不偏离本公开的教导。
本文中使用的术语仅出于描述特定实施例的目的并且不意图限制本公开。如本文中使用的,单数形式“一个”、“一”和“该”意图也包括复数形式,除非上下文清楚地另有指示。将进一步理解的是,术语“包括”和/或“包含”当在本说明书中使用时指定所述及特征、整体、步骤、操作、元件和/或部件的存在,但不排除一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组的存在或添加一个或多个其他特征、整体、步骤、操作、元件、部件和/或其群组。如本文中使用的,术语“和/或”包括相关联的列出项目中的一个或多个的任意和全部组合。
除非另有定义,本文中使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员所通常理解的相同含义。将进一步理解的是,诸如那些在通常使用的字典中定义的之类的术语应当被解释为具有与其在相关领域和/或本说明书上下文中的含义相一致的含义,并且将不在理想化或过于正式的意义上进行解释,除非本文中明确地如此定义。
在详细介绍本公开的实施例之前,为了清楚起见,首先对一些相关的概念进行解释:
1、虚拟角色:是指可在虚拟环境(例如游戏或应用环境)中活动的虚构对象,例如虚构的人物、动物、怪物等。虚拟角色可以包括:由用户或玩家(例如通过终端设备或客户端应用)操控的虚拟角色;以及机器或服务器(例如通过AI)控制的虚拟角色。
2、虚拟角色的技能:是指虚拟角色在游戏之类的虚拟环境中所具备的用于攻击其他虚拟角色的技术,例如攻击招式。玩家可以通过操控虚拟角色释放技能来实现对其他虚拟角色的攻击。
3、虚拟角色的目标行为策略;是指虚拟角色在被攻击时根据攻击操作和虚拟角色的当前状态得到的虚拟角色的预期行为信息或行为响应方案,目标行为策略可以包括执行被击虚拟角色的预期(被击或攻击)动作,还可以包括虚拟角色的被击动画特效、音效、被击伤害情况等。
在电子游戏领域的角色扮演类游戏(包括单机游戏或网络游戏)中,虚拟角色可以被控制(例如由玩家或用户或AI)实施技能释放操作实现针对被攻击对象(另一个玩家或AI控制的被攻击虚拟角色)的攻击,并且相应地被击虚拟角色将会展示相应的被击行为或被击表现(例如被击虚拟角色被击倒、受到伤害(如扣血)、显示被击特效(技能特效)等)以体现玩家攻击操作的威力和效果。然而,现今,电子游戏中被攻击虚拟角色的被击行为或表现通常采用统一的处理方式,而不管被攻击虚拟角色被攻击时本身所处的状态(例如虚拟角色正在静止待机、移动或攻击其他虚拟角色等)如何,这样就造成所产生的被击行为或表现(包括对应于攻击技能的特效(例如声效和/或动画效果)、动作、伤害等)单调乏味、不够自然;进一步地,尤其在被击行为与当前状态存在较大差异时(例如当前正在攻击其他角色或被其他角色攻击),被击行为需要打断原有状态并进入新的被击状态,这种被击行为与原有状态之间的切换或过渡往往是简单粗暴的,易产生跳变或突变。因此,相关技术的虚拟角色在电子游戏之类的虚拟环境中的被击行为或表现与真实世界的相应行为表现(或用户玩家期望的表现)存在较大差距,其逼真程度和仿真精度有待提高。
针对虚拟角色被击行为表现力较差、逼真程度和仿真精度不够的问题,本公开提出了一种虚拟角色控制方法,该方法通过在虚拟角色被攻击时针对被攻击的虚拟角色当前的不同状态(例如待机、移动、释放技能、被击、死亡等5种状态)采用相应的(不同的或相同的)的被击行为控制方式,从而实现适用于处于不同状态的被击虚拟角色的被击效果或表现。
人工智能(Artificial Intelligence, AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
图1示意性示出了根据本公开一些实施例的虚拟角色控制方法的示例实施环境100。如图1所示,实施环境100可以包括终端设备110和服务器120以及用于连接终端设备110和服务器120的网络130。在一些实施例中,终端设备110可以用于实现根据本公开的虚拟角色控制方法。例如该终端设备110可以部署有用于执行本公开提供的各种方法的相应程序或指令。可选地,服务器120也可以用于实现根据本公开的各种方法。
可选地,实施环境100也可以包括与服务器120通过网络130连接的一个或多个第三方终端设备140。第三方终端设备140可以是与终端设备110的用户共同参与同一在线游戏的其他玩家所使用的终端设备。
终端设备110和第三方终端设备140可以是任何类型的移动计算设备,包括移动计算机(例如,Microsoft® Surface®设备、个人数字助理(PDA)、膝上型计算机、笔记本计算机、诸如Apple iPadTM的平板计算机、上网本等)、如图1所示的移动电话(例如,蜂窝电话、诸如Microsoft Windows®电话的智能手机、Apple iPhone、实现了Google® AndroidTM操作系统的电话、Palm®设备,Blackberry®设备等)、可穿戴式计算设备(例如智能手表、头戴式设备,包括智能眼镜,如Google® GlassTM,等)或其他类型的移动设备。在一些实施例中,终端设备110也可以是固定式计算设备,例如台式计算机、游戏机、智能电视等。
服务器120可以是单个服务器或服务器集群,或者可以是能够提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器或云服务器集群。应理解,本文所提及的服务器典型地为具有大量存储器和处理器资源的服务器计算机,但是其他实施例也是可能的。可选地,服务器120也可以是普通的台式计算机,其包括主机、显示器等。
网络130的示例包括局域网(LAN)、广域网(WAN)、个域网(PAN)、和/或诸如因特网之类的通信网络的组合。服务器120以及终端设备110可以包括能够通过网络130进行通信的至少一个通信接口(未示出)。这样的通信接口可以是下列各项中的一个或多个:任何类型的网络接口(例如,网络接口卡(NIC))、有线或无线(诸如IEEE 802.11无线LAN(WLAN))无线接口、全球微波接入互操作(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、BluetoothTM接口、近场通信(NFC)接口等。
如图1所示,终端设备110可以包括显示屏以及终端用户可以经由显示屏与终端应用或游戏进行交互。终端设备110可以例如经由网络130与服务器120,例如向其发送数据或从其接收数据。终端应用或游戏可以为本地应用程序、网页(Web)应用程序或者作为轻量化应用的小程序(LiteApp,例如手机小程序、微信小程序)。在终端应用为需要安装的本地应用程序的情况下,可以将终端应用或游戏安装在终端设备110中。在终端应用或游戏为Web应用程序的情况下,可以通过浏览器访问终端应用或游戏。在终端应用或游戏为小程序的情况下,可以通过搜索终端应用的相关信息(如终端应用的名称等)、扫描终端应用的图形码(如条形码、二维码等)等方式来在终端设备110上直接打开终端应用或游戏,而无需安装终端应用或游戏。
图2示出了根据本公开一些实施例的虚拟角色控制方法在图1所示的示例实施环境100中实现的示例交互流程图。下面参考图2所示的示例交互流程图简要描述根据本公开一些实施例的虚拟角色控制方法在实施环境100中的工作原理。
首先,终端设备110可以配置成:获取虚拟角色的当前状态和针对虚拟角色的攻击操作。例如,当相关游戏为单机游戏时,可以直接在终端设备本地获取虚拟角色的当前状态;可选地,如图2所示,当相关游戏为网络游戏时,终端设备可以通过服务器120监视虚拟角色的当前状态,即从服务器120实时接收虚拟角色的当前状态。进一步地,终端设备110可以接收用户利用输入设备(例如鼠标、键盘、麦克风等)实施的针对虚拟角色的攻击操作,该攻击操作可以是例如用户控制的其他虚拟角色针对被攻击虚拟角色释放攻击技能。
再次,如图2所示,终端设备110可以配置成:根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略。该虚拟角色是指被攻击的虚拟角色。
最后,如图2所示,终端设备110可以配置成:控制虚拟角色实施所述目标行为策略。
如图2所示,服务器120可以被配置成:实时获取(待攻击)虚拟角色的当前状态并将其发送给终端设备110以实现对虚拟角色的当前状态的实时监视。在终端设备110处实现攻击操作的过程中,因为待攻击虚拟角色往往不是终端设备110的用户所控制的,因此通常需要通过服务器120从待攻击角色对应的其他终端设备获取其当前状态以实现实时监控。
可选地,例如当虚拟角色所在的游戏为多人在线网络游戏时,如图2所示,服务器120可以进一步配置成:从终端设备110接收所确定的虚拟角色的目标行为策略;随后,将目标行为策略发送至与该虚拟角色相关的第三方终端设备140,例如控制该被攻击虚拟角色的用户所使用的终端设备110以及在线参与相应游戏的其他用户的第三方终端设备140,以供这些第三方终端设备140实施目标行为策略,从而将最终的攻击效果和/或被攻击虚拟角色的被击表现展示给参与游戏的相关玩家或用户。
图1和图2的实施环境和交互流程图仅仅是示意性的,根据本公开的虚拟角色控制方法并不限于所示出的示例实施环境和交互流程。应理解,虽然在本文中,服务器120与终端设备110、第三方设备140被示出和描述为分离的结构,但它们中的任意两个或三个也可以是同一计算设备的不同组成部分。可选地,根据本公开一些实施例的虚拟角色控制方法的应用场景或实施环境也可以仅包括终端设备110而不涉及服务器120,例如当虚拟角色相关游戏或应用是单机游戏或应用时,如图2中的实线所示,终端设备110可以在自主完成虚拟角色的状态监视、攻击操作获取、目标行为策略确定以及实施等步骤,从而实现虚拟角色的控制。
另外可选地,根据本公开一些实施例的虚拟角色的控制方法的应用场景或实施环境也可以仅包括服务器而不涉及终端设备,例如相关游戏中发起攻击的虚拟角色为计算机或AI(人工智能)控制的角色,则服务器可以不通过终端设备自主完成被攻击虚拟角色的目标行为的控制。例如可以参见图4C。
进一步可选地,例如所涉及的游戏和应用为单人网络游戏时,根据本公开一些实施例的虚拟角色控制方法的应用场景或实施环境也可以仅包括终端设备110和服务器120,而不涉及第三方终端设备140,这时,根据本公开一些实施例的虚拟角色控制方法可以参照图2由终端设备110和服务器120协同完成,并去掉如图2所示的涉及可选第三方终端设备140的步骤。
图3A示意性示出了根据本公开一些实施例的虚拟角色控制方法的流程图。
在一些实施例中,根据本公开的虚拟角色控制方法可以在终端设备(例如,图1和图2所示的终端设备110)上执行。在另一些实施例中,根据本公开的虚拟角色控制方法也可以由图1和图2所示的终端设备110和服务器120相组合地执行。如图3A所示,根据本公开一些实施例的虚拟角色控制方法可以包括步骤S310-S330。
在步骤S310处,获取虚拟角色的当前状态和针对虚拟角色的攻击操作。
根据上文所述的本公开的构思,为了提升虚拟环境中被攻击对象或虚拟角色的被击行为表现力,需要考虑被攻击角色的当前状态。这就要求在电子游戏运行期间实时获得各个虚拟角色的当前状态。
在根据本公开的一些实施例中,虚拟角色的当前状态是指虚拟角色在电子游戏之类的虚拟环境中表现出来的实时形态,即虚拟角色当前正在干什么。在根据本公开的一些实施例中,虚拟角色的当前状态可以包括但不限于:待机状态、移动状态、技能释放状态、被击状态、死亡状态等。
在一些实施例中,虚拟角色的待机状态表示该角色活着但并未进行任何实质性操作或活动的状态,也可以称为静止状态;移动状态表示虚拟角色正在行走或奔跑的状态;技能释放状态表示虚拟角色正在通过释放技能攻击其他虚拟角色的状态;被击状态表示虚拟角色正在被其他虚拟角色(例如通过技能释放)击中(即攻击生效)的状态,例如正在被击倒、被击飞、眩晕的过程中的状态;死亡状态表示虚拟角色已经死亡的状态,在该状态下虚拟角色不能进行任何主动或被动操作。
如图1所示,游戏玩家在通过终端设备110运行的客户端参与游戏的过程中,终端设备110与后台服务器120之间可以实时进行数据同步,终端设备110将本地客户端的游戏数据同步至后台服务器120,后台服务器120也将参与游戏的其它终端设备140的客户端的游戏数据同步至终端设备110。因此,在电子游戏运行过程中,本地终端设备可以通过服务器的数据同步(例如包括虚拟角色的当前状态的实时数据的同步)来监视游戏中各个虚拟角色的当前状态,从而实现被攻击虚拟角色的当前状态的实时监视。例如,在如图1所示的示例实施环境中,即多人在线网络游戏中,各个在线终端设备(例如终端设备110和第三方终端设备140)都可以通过服务器120实时监视或获取被攻击虚拟角色的当前状态。可选地,针对单机游戏,由于游戏仅在本地运行,可以仅通过本地终端设备110实时监视被攻击虚拟角色的当前状态。此外,在图1所示的示例实施环境中,针对单人网络游戏(忽略第三方终端设备140),攻击方角色所属的终端设备110可以通过服务器的数据同步监视被攻击虚拟角色的当前状态,或者在某些条件下(例如被攻击虚拟角色由本地程序控制而并不受服务器控制时)也可以直接通过本地运行的状态监控系统实现虚拟角色的当前状态的监视。
根据上文所述的本公开的构思,虚拟角色在被攻击时的目标行为可以取决于两个因素,即除了取决于虚拟角色的当前状态之外,还取决于针对虚拟角色的攻击操作。因此,在确定虚拟角色的目标行为策略之前需要获取针对该虚拟角色的攻击操作。
在一些实施例中,攻击操作是指玩家控制的作为攻击方的虚拟角色(可以简称为攻击方虚拟角色或攻击者)对作为被攻击方的虚拟角色(下文中也可以称为目标虚拟角色、被攻击对象、被攻击虚拟角色、被攻击者等)进行攻击的操作。操控攻击方的玩家或用户可以通过终端设备上的输入装置(例如键盘或鼠标、触摸屏等)触发攻击方的攻击操作。例如,在计算机游戏中用户可以通过鼠标点击技能释放按钮触发攻击操作,或者在移动终端(例如智能手机、平板电脑)游戏中,用户可以通过触摸屏触摸技能释放按钮触发攻击操作。因此,在攻击方的终端设备上,用户可以通过人机交互(即用户在终端设备上点击按键、按钮等动作)来控制虚拟角色的进行相应的攻击操作。
可选地,攻击操作也可以是由游戏自动控制的攻击方虚拟角色发起的针对被攻击的目标虚拟角色的进行攻击的操作,这时可以直接从游戏运行后台(例如服务器或本地终端设备)获得攻击操作数据。
在一些实施例中,攻击操作可以包括例如劈、砍、推、抓、踢、踹等简单的攻击动作,也可以包括这些简单动作的任意组合,如组合大招,用于实现更好的攻击效果或对被击对象更大的伤害(例如一招制敌)。这些攻击动作也可以被定义为虚拟角色的(攻击)技能,这样攻击操作可以被认为是技能释放过程。攻击操作可以通过虚拟角色的(攻击)技能触发,不同攻击技能可以对应于不同的攻击效果,包括技能特效动画、声音效果、被击对象的被击动作(例如被击飞等)、造成的伤害(例如扣血)。因此,获取攻击操作可以包括获取攻击操作中所使用的技能。
在步骤S320处,根据攻击操作和当前状态,确定虚拟角色的目标行为策略。
根据本公开的构思,在得到针对虚拟角色的攻击操作和当前状态之后,可以根据二者来确定虚拟角色的目标行为策略,即针对本次攻击操作,被攻击虚拟角色在当前状态下的预期行为信息或行为响应方案。虚拟角色的目标行为可以包括虚拟角色的预期(被击或攻击)动作,并且可选地还可以包括虚拟角色的被击动画特效、音效、被击伤害等。
下面简单介绍基于攻击操作和当前状态确定目标行为策略的过程:
首先,如上文所述,在不考虑被攻击对象状态的情况下,不同的攻击操作或攻击技能可以产生不同的攻击效果。例如“徒手推”的攻击操作与“用武器砍”的操作相比,前者对被击对象(被击虚拟角色)的打击可能比后者要小很多,因而后者相应的被击伤害更大,被击对象的被击动作也更夸张。例如“徒手推”对应的被击动作可能只是被击对象被击退,而“用武器砍”则可能使得被击对象被直接击晕甚至砍死。因此,可以在游戏开发时,预先设定各种攻击操作与相应的被击动作(可以称为预设被击动作)之间的对应关系表,随后在需要根据攻击操作确定预设被击动作时直接查表完成。可选地,在本公开一些实施例中,除了预设被击动作之外,攻击操作或技能还可以与其他预设被击效果对应,如各种特效和音效对应。例如,在进行攻击操作或技能释放时,可以在被击虚拟角色周围出现闪电、霹雳等特效,或者产生吼声、喷火声等音效。
于是,在获取攻击操作之后,可以根据预先设定的攻击操作与预设被击动作关系表(和/或预设被击效果)确定被击虚拟角色的潜在行为动作或效果(即目标行为策略的决定因素之一),即与攻击操作对应的预设被击动作或效果。随后可以在潜在行为动作的基础上,结合虚拟角色的当前状态(即目标行为策略的决定因素之二)最终确定目标行为策略。
其次,根据攻击操作对应的预设被击动作或潜在行为,针对被攻击虚拟角色被击时的不同状态(即当前状态)确定目标行为策略。在虚拟环境(例如游戏环境)中,为了增强逼真效果或仿真精度,可以将攻击方的攻击操作对应的预设被击动作和被击对象的当前状态对应的当前动作相结合来获取目标行为。
在一些实施例中,关于预设被击动作和当前状态对应的当前动作(例如当前攻击动作、当前被击动作或当前移动动作等)的结合,可以例如通过在适当条件下将预设被击动作与虚拟角色的当前状态进行动作融合的方式完成,也可以例如条件性地通过预设被击动作打断当前状态的方式完成,可选地,还可以例如通过在一定条件下保持当前状态的方式完成或者预设被击动作和当前状态二者同时起作用,等等。具体结合方式,可以参见图9的相关描述。
步骤S320可以在操控攻击方虚拟角色的玩家所使用的终端设备上完成。
在步骤S330处,控制虚拟角色实施目标行为策略。
在确定了被击虚拟角色的目标行为策略之后,可以实施该目标行为策略,即在游戏的虚拟环境中展示目标行为策略对应的目标行为,例如被击动作、被击特效、或伤害程度等。例如,可以通过攻击方终端设备实施目标行为策略,即在该终端设备上通过显示器向用户或玩家展示虚拟角色的目标行为或表现。
在根据本公开一些实施例的虚拟角色控制方法中,在虚拟角色被击时,基于攻击方虚拟角色的攻击操作和被击虚拟角色的当前不同状态(例如待机、移动、释放技能、被击、死亡等)二者,确定被击虚拟角色相应的目标行为策略或行为控制方式(例如动作合成、基于优先级的动作切换等),从而实现适用于不同状态的被击虚拟角色的多种被击效果或表现,丰富虚拟角色的被击行为表现形式、显著提升虚拟角色被击行为或效果的仿真精度和逼真程度,使得被击行为表现自然流畅,不同状态或动作的过渡或切换平滑连贯,避免跳变或突变。
进一步地,根据本公开一些实施例的虚拟角色控制方法充分利用游戏资源(例如虚拟角色的实时状态信息)并优化资源调度以提升游戏的(虚拟角色被击行为的)动画效果、画面质量,显著增强了用户体验(例如身临其境的沉浸感),提高了用户粘性且进一步激发了用户或玩家参与游戏的积极性。
另一方面,根据本公开实施例的虚拟角色控制方法中,虚拟角色当前状态可以直接从游戏后台的游戏状态实时监控系统获得,而虚拟角色的目标行为策略的确定步骤所涉及计算(例如预设被击动作和当前状态的择一或二者的合成)并不复杂,因而计算开销较小,整体计算性能和数据处理效率较高。
图3B和3C分别示出了根据本公开一些实施例的虚拟角色控制方法在终端设备上实施时的示例界面。
如图3B所示,在玩家的终端设备的显示器上显示的游戏或虚拟环境示例界面中,存在两个虚拟角色,即玩家操控的攻击方虚拟角色321和被击虚拟角色322;右下角为可选的攻击技能323;正下方为攻击方321的血量324和被击虚拟角色322的血量325。假设被击虚拟角色322正在处于移动状态,其沿着箭头326方向后退移动,并且攻击方虚拟角色321所采用的攻击操作或攻击技能只能造成被击虚拟角色322“原地被击(例如上身后仰)”。如图3B所示,这时依据被击虚拟角色322的当前状态(即移动状态)和针对其的攻击操作(对应于其原地被击)两个因素,可以得到被击虚拟角色322最终的目标行为是:即(对应于移动状态的)沿虚线方向移动,又产生(对应于攻击操作的原地被击的)后仰动作,即被击虚拟角色322在通过攻击操作和移动状态合成之后得到移动且被击中的虚拟角色322'。
与“原地被击”直接打断“移动状态”相比,图3B所示的目标行为表现同时考虑了“被击”和“当前状态”两个因素,通过二者的动作合成达到了更符合真实世界的攻击效果,显著提升了虚拟角色被击行为或效果的仿真精度和逼真程度,使得被击行为表现自然流畅。
如图3C所示,与图3B类似,在游戏或虚拟环境示例界面中,存在玩家操控的攻击方虚拟角色331,被击虚拟角色332,可选的攻击技能333,攻击方331的血量334和被击虚拟角色332的血量335。图3C所示的场景是:被击虚拟角色322正在处于待机状态,攻击方虚拟角色321所采用的攻击操作或攻击技能对被击虚拟角色322造成的被击动作为“击飞”。这时如图3C所示,依据被击虚拟角色332的当前状态(即待机状态)和攻击操作(对应于击飞动作)两个因素,可以得到被击虚拟角色332最终的目标行为动作是:沿虚线336方向被击飞出去,即与攻击操作对应的“击飞”动作直接打断待机状态。这也是符合真实战斗场景的,被击动作直接可以打断静止的待机状态。
图4A示意性示出根据本公开一些实施例的虚拟角色控制方法的流程图。如图4A所示,该虚拟角色控制方法包括步骤S410-S470,其中步骤S410-S430分别与图3A的步骤S310-330完全一致。
如图4A所示,除了步骤S410-S430之外,根据本公开一些实施例的虚拟角色控制方法可以进一步包括以下步骤S440-S470。
在步骤S440处,将目标行为策略发送至服务器以形成校验信息。该校验信息可以包括用于表明所述目标行为策略是否异常的校验结果,并且在校验结果为所述目标行为策略异常的情况下,所述校验信息进一步包括经校正的目标行为策略。
在一些实施例中,对于网络游戏,尤其对于多人在线网络游戏,在操控攻击方虚拟角色的用户通过其终端设备确定了被击虚拟角色的目标行为策略之后,可能需要服务器对该目标行为策略进行校验以防止玩家作弊。因此,如步骤S440所述,在步骤S430之后,攻击方玩家可以通过终端设备将目标行为策略发送至服务器供其校验,并等待服务器返回校验信息以用于更正异常的目标行为策略。
在一些实施例中,服务器对攻击方玩家的终端设备所确定的目标行为策略的校验过程如下:首先,在攻击方虚拟角色通过例如技能释放对目标虚拟角色进行攻击的过程中,攻击方玩家的终端设备可以根据攻击操作和目标虚拟角色的当前状态确定目标行为策略,并在该终端设备上控制目标虚拟角色先行实施目标行为策略;其次,在终端设备确定了目标行为策略之后,在终端设备先行实施目标行为策略的同时,将目标行为策略发送至服务器进行校验;再次,服务器接收到目标行为策略之后,根据攻击方的攻击操作或释放的技能和目标虚拟角色的当前状态验证终端设备所得到的目标行为策略是否异常(即是否存在作弊行为),并且生成相应的校验结果;接着,当校验结果为目标行为策略异常的情况下,服务器还需要对其进行校正,即生成经校正的(正确的)目标行为策略,因此,当校验结果为目标行为策略异常的情况下,经校正的目标行为策略和校验结果可以构成的校验信息,而当校验结果为目标行为策略正常的情况下,校验信息仅包括校验结果,最后,将校验信息发送至终端设备。
在步骤S450处,从服务器接收校验信息。
在服务器完成校验并发送校验信息之后,终端设备可以接收得到校验信息以查看其中的校验结果。
在步骤S460处,判断校验结果是否为所述目标行为策略是异常的。
如果校验结果显示目标行为策略是正常的,则无需校正目标行为策略,校验过程结束;否则需要转到步骤S470,对已经按照目标行为策略实施的目标行为进行校正。
在步骤S470处,响应于校验结果为所述目标行为策略是异常的,控制虚拟角色实施经校正的目标行为策略。
当校验结果显示目标行为策略异常的情况下,例如玩家攻击操作所能达到的实际攻击效果与目标行为策略不符,说明玩家可能存在作弊行为。这时,校验信息中必定包含经校正的目标行为策略,终端设备被强制实施经校正的目标行为策略,即按照校正后的正确的目标行为对已经按照目标行为策略实施的被击行为或动作进行校正,以达到公平的目的。
一般地,为了避免由于数据通信造成的游戏延迟,终端设备在确定了目标行为策略之后,直接实施该策略,即在其显示器上展示相应的被击效果;而校验过程与目标行为策略实施过程同时进行。因此,在校验结果异常时,通常需要对已经实施的(由于例如玩家作弊等)错误的(例如与攻击操作或技能和/或被击虚拟角色的当前状态不符)被击效果按照服务器给出的正确的目标行为策略(即经校正的目标行为策略)进行校正。为了避免重复或冗长,这种校正可以是部分校正,例如可以仅校正攻击造成造成的伤害情况(例如扣血量),而被击效果中的已经完成的特效动画、声效、甚至被击对象的被击动作都无需校正或重新显示,因为这些效果仅仅在攻击过程中起作用,对最后的攻击结果没有本质影响。
图4B示出了图4A所示的虚拟角色控制方法在图1所示的实施环境中的示例交互流程图。
如图4B所示,与图2类似,终端设备110可以配置成:例如通过从服务器120获取虚拟角色的当前状态,并获取针对虚拟角色的攻击操作;根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略:控制虚拟角色实施所述目标行为策略。
与图2相比,图4B所示的虚拟角色控制方法中增加了服务器120的校验过程。如图4B所示,服务器120可以被配置成:从终端设备110接收所确定的虚拟角色的目标行为策略;随后,对目标行为策略进行校验以形成校验信息,该校验信息可以包括用于表明所述目标行为策略是否异常的校验结果,并且在校验结果为所述目标行为策略异常的情况下,所述校验信息进一步包括经校正的目标行为策略;最后将校验信息发送至终端设备110并将经校验的目标行为信息(可能是原目标行为策略或者经校正的目标行为策略)发送至第三方终端设备140。
可选地,如图4B所示,终端设备110可以配置成在校验结果为目标行为策略是异常的情况下,控制实施经校正的目标行为策略,即校正已实施的目标行为。
图4C示意性示出根据本公开一些实施例的虚拟角色控制方法在图1所示的实施环境中的示例交互流程图。
如图4C所示,在一些实施例中,在服务器120控制的虚拟角色进行攻击操作或释放技能时,例如服务器120控制的AI释放技能打到目标虚拟角色或者怪物时,服务器120可以直接监控并获取虚拟角色的当前状态和针对虚拟角色的攻击操作;并根据攻击操作和目标虚拟角色的当前状态确定目标行为策略;随后将目标行为策略发送至各个相关终端设备110、140以供其控制实施目标行为策略,即在相应终端设备110、140的显示器上展示目标行为策略对应的被击动作或效果。在这种情况下,由于目标行为策略是服务器确定的,不存在玩家作弊的可能,因而无需图4A和4B所示的校验步骤。
图5示出图3A所示的根据本公开一些实施例的确定虚拟角色的目标行为策略的示例性流程图,其可以用于实现虚拟角色控制方法中的步骤S330,并且可以包括下述步骤S510-S530。
在步骤S510处,获取所述攻击操作中释放的第一技能。
如上文所述,在一些实施例中,攻击操作可以被认为是通过释放攻击方虚拟角色所具备的技能触发的,即诸如劈、砍、推、抓、踢、踹等简单的攻击动作或这些简单动作的任意组合以及特定招式(比如一招制敌的大招)都可以被定义为虚拟角色所具备的技能。因而,攻击操作也可以被认为是虚拟角色的技能释放过程。针对不同技能,可以预先设定相应的攻击效果,例如包括技能特效动画、声音效果、被击对象或虚拟角色的被击动作(例如被击飞等)、造成的伤害(例如扣血)。因此,要想确定被击对象的目标行为策略,需要得知攻击操作中释放的技能,从而得到相应的预期被击效果。
在一些实施例中,攻击方虚拟角色的各种攻击技能可以预先设定其各种参数,例如伤害范围、攻击(也即攻击操作的技能)等级、以及攻击技能所触发的对应的被攻击对象(即被攻击虚拟角色)的预设被击动作等。伤害范围是指攻击技能对应的覆盖范围,例如以攻击方虚拟角色为中心的方圆3米范围,只要被击对象进入这个范围中,攻击技能就会对其起作用。攻击等级可以用于表征攻击技能的伤害程度的大小或被击效果的强弱;等级可以用于处理在被击对象同时受到两种技能攻击的情况,例如等级高的技能生效;也可以用于在某个虚拟角色作为攻击方正在攻击其他对象时遭到第三方虚拟角色攻击的情况,这时技能等级高的攻击生效,等级低的不生效或(正在实施时)被打断。预设被击动作可以用于表示与攻击者的技能对应的(用于被击对象的)潜在被击动作。
在步骤S520处,根据第一技能,确定虚拟角色的预设被击动作。
由于预设被击动作或潜在被击动作是根据相应技能预先设定的,例如相关信息可以被存储为预设被击动作与相应技能的对应关系表,因此在获取攻击方虚拟角色的第一技能之后,可以直接从对应关系表中查找与第一技能对应的预设被击动作,从而完成预设被击动作的确定步骤。
在一些实施例中,预设被击动作可以包括但不限于:眩晕、原地被击、击退、击倒、击飞、被抓取等。眩晕可以指虚拟角色被击后在原地或者在移动(例如击退)中做一个眩晕动作。原地被击可以指虚拟角色被击后在原地做被击动作(例如上半身前、后、左、右的移动),原地被击根据攻击攻击方向包括更多方向的被击动作。击倒可以指虚拟角色被击后倒地动作,然后起身回到待机,可以配置其位移曲线;可选地,击倒动作可以与例如击退结合,合成为在击退的同时后倒,最后停住后恢复待机状态。其他预设被击动作可以参见图7A-7F和8A-8E。
可选地,预设被击动作除了与攻击操作的技能相关之外,还可以结合被击对象(即被击虚拟角色)本身的属性(例如种类、外形、年龄、性别等)设定。例如,针对不同种类的被击虚拟角色(例如人物、怪物、动物等),可以构造不同类别的预设被击动作。例如,对于怪物,被击动作可以设置被击碎,而人物或普通动物则不太适合这样的动作。因此,也可以根据第一技能和被击虚拟角色的属性,确定适用于被击虚拟角色的预设被击动作。
在步骤S530处,根据预设被击动作和当前状态,确定目标行为策略。
在一些实施例中,步骤S530可以例如通过下述方式实现:当虚拟角色在待机状态(即活着静止)被击时,目标行为可以被直接确定为攻击操作对应的预设被击动作,即目标行为策略为执行预设被击动作;当在移动状态下被击时,可以有条件地(例如根据攻击操作对应的具体预设被击动作确定是否可以进行合成)将预设被击动作与当前移动的动作进行合成(例如进行上半身按比例的融合),从而得到移动被击效果或动作,因而目标行为策略可以是执行所合成的移动被击动作;当在攻击状态(例如释放技能攻击其他虚拟角色时)下被击时,可以用与针对目标虚拟角色的攻击操作对应的预设被击动作打断被击虚拟角色的攻击状态,或者保持其攻击状态而忽略针对其的攻击操作,这例如可以取决于攻击状态中攻击动作和针对目标虚拟角色的攻击操作对应的攻击动作的等级,等级高的攻击动作或技能可以打断等级低的攻击动作或技能,如普通攻击会被一个强力攻击技能打断。当在被击状态或被击中生效过程中再次被击时,可以用新的攻击操作对应的预设被击动作直接打断当前被击状态,或者也可以根据攻击操作的等级来判定执行新的被击对应的预设被击动作还是保持当前被击状态。例如,当新的被击对应的攻击操作的等级比旧的被击对应的攻击操作的等级高时,则新的攻击操作对应的新的攻击动作(即预设被击动作)可以打断原有的被击状态,如可以使用一个击飞(预设被击动作)打断原有的原地被击的动作(当前被击状态)。
应当注意,除了上述方式之外,步骤S530也可以通过其他方式实现,例如当被击虚拟角色的当前状态为被击或技能释放(攻击)状态时,目标行为策略可以被确定为保留当前状态,即被击或攻击状态,同时执行预设被击动作。换言之,目标行为策略可以为:新的攻击和旧的被击或攻击同时起作用,即被击对象同时受到两个攻击方或两个技能攻击,或者在攻击其他角色的同时也被第三方角色攻击。
图6A示意性示出用于实施图5所示的步骤S530的示例过程,其可以包括步骤S601-S609。
在一些实施例中,可以根据虚拟角色的当前状态的不同类型(例如待机、移动、技能释放、被击、死亡等)分别结合预设被击动作确定目标行为策略。具体地,如图6A所示,可以先判断当前状态的类型,之后根据类型依据不同处理方式形成目标行为策略。
在S601处,判断虚拟角色的当前状态是否为死亡状态。
在一些实施例中,虚拟角色处于死亡状态时,生命已经终止,于是可以设定在该状态下虚拟角色无法进行任何主动或被动操作。
在S602处,响应于虚拟角色的当前状态为死亡状态,将虚拟角色的目标行为策略确定为保持死亡状态。
处于死亡状态的虚拟角色在受到攻击时不会有任何反应,因而不执行任何预设被击动作。换言之,针对死亡状态的虚拟角色的攻击操作或技能释放操作不会真正触发任何攻击或被击动作或效果。
在S603处,判断当前状态是否为待机状态,若是,转到步骤S604,否则转到步骤S605。
待机状态也可以称为静止状态,即虚拟角色在虚拟环境中没有执行任何操作而静静地等待(玩家或AI操控,或其他虚拟角色的攻击)。待机状态与死亡状态的区别在于:待机状态的虚拟角色还活着,还可以被玩家或AI操控、攻击等。
在S604处,响应于虚拟角色的当前状态为待机状态,将虚拟角色的目标行为策略确定为执行预设被击动作。
由于待机状态下的虚拟角色是静止的且没有进行任何主动或被动操作,因此它在受到攻击时,其预期的被击行为或目标行为应当完全取决于与攻击操作或攻击技能对应的预设被击动作,即预设被击动作就是虚拟角色的目标行为。于是,在一些实施例中,待机状态的虚拟角色被击时可以直接执行预设被击动作,因而目标行为策略可以包括执行预设被击动作。可选地,预设行为策略还可以包括执行预设被击动作相关的特效、音效或其他效果。
在S605处,判断当前状态是否为移动状态,若是转到步骤S606,否则转到步骤S607。
在S606处,响应于虚拟角色的当前状态为移动状态,根据预设被击动作和当前移动动作,确定虚拟角色的目标行为策略。其中虚拟角色的当前移动动作表示虚拟角色的当前移动状态对应的移动动作。
当虚拟角色在移动状态下被击时,可以为虚拟角色构建多种目标行为策略。在一些实施例中,目标行为可以被设定为攻击操作或攻击技能对应的预设被击动作直接打断移动状态。或者,也可以在一定条件下将预设被击动作与当前移动状态的移动动作合成,表现出移动被击的效果,更符合真实场景中移动中被攻击的效果。关于移动状态下目标行为策略的更具体的确定方式可以参见图9。
在S607处,判断当前状态是否为技能释放状态,若是转到步骤S608,否则转到步骤S609。
技能释放状态也可以被称为攻击状态,即通过释放技能对其他虚拟角色(例如第三方虚拟角色)进行攻击的状态。该技能释放状态可以表示虚拟角色的攻击已经生效的状态,也可以表示该攻击正在释放技能但并未生效的状态。
在S608处,响应于虚拟角色的当前状态为技能释放状态,根据第一技能和第二技能,确定虚拟角色的目标行为策略。其中第一技能表示预设被击动作对应的技能,而第二技能表示虚拟角色的技能释放状态对应的第二技能。
在一些实施例中,处于攻击状态的虚拟角色被击时,可以根据虚拟角色的攻击状态对应的第二技能与针对该虚拟角色的(即对应于预设被击动作的)第一技能进行比较,通过比较结果来确定虚拟角色的目标行为策略。在一些实施例中,可以通过比较预先设定的技能等级确定虚拟角色的目标行为。例如,等级高的技能优先释放生效;等级低的技能被忽略或被打断;等级相同的技能可以同时释放生效。
在S609处,判断当前状态是否为被击状态,若是转到步骤S610,否则结束。
在一些实施例中,被击状态可以表示虚拟角色正在被第三方虚拟角色(例如通过技能释放)击中(即攻击生效)的状态,例如正在被击倒、被击飞、被击晕或眩晕的过程中。
在S610处,响应于虚拟角色的当前状态为被击状态,根据预设被击动作和当前被击动作,确定虚拟角色的目标行为策略。其中,当前被击动作表示虚拟角色当前被击状态对应的被击动作。
在一些实施例中,当处于被击状态的虚拟角色再次被击时,可以基于两次被击的相应被击动作确定目标行为策略。当前被击状态的被击动作可以称为当前被击动作,再次被击对应的被击动作为预设被击动作。在一些实施例中,可以根据预设被击动作和当前被击动作的预先设定的优先级确定目标行为,优先级高的被执行,优先级低的被忽略或打断;若优先级相同,可以保持虚拟角色的当前被击状态,也可以用预设被击动作打断当前被击状态,还可以让当前被击状态和预设被击动作同时生效。
图6B示意性示出图3A所示的步骤S530的另一示例过程。
在一些实施例中,可以在虚拟角色被击期间,为被击虚拟角色添加不同的硬直效果。硬直是指在动作类游戏中虚拟角色由于某种原因(例如正在被攻击,如被其他虚拟角色释放的技能命中)进入僵硬状态(例如只能被动执行被击动作或效果,或执行规定的动作)、玩家无法对其进行主动操作(即指令无效)的持续过程。虚拟角色处于硬直过程的持续时间段可以称为硬直时间。
在一些实施例中,虚拟角色在被击期间,硬直时间可以根据虚拟角色被击期间的被击动作或行为或对应的技能来确定。例如,可以设定虚拟角色被技能击中且执行被击动作开始进入硬直过程或硬直时间,该硬直过程或硬直时间直到被击动作结束为止,即硬直时间的长度可以等于被击动作的持续时长。可选地,硬直时间也可以根据需要任意设定。
在一些实施例中,硬直可以包括移动硬直、技能硬直、被击硬直等。移动硬直是指:在虚拟角色处于移动硬直期间,该虚拟角色不能主动的移动;技能硬直是指:在虚拟角色处于技能硬直期间,该虚拟角色不能主动释放技能。关于被击硬直,请参见图11B及其相应描述。
如图6B所示,步骤S530-根据虚拟角色的预设被击动作和虚拟角色的当前状态确定虚拟角色的目标行为策略可以包括:
S611,根据预设被击动作和虚拟角色的当前状态,设定虚拟角色的移动硬直时间和技能硬直时间中至少一个;
S612,响应于设定虚拟角色的移动硬直时间,将虚拟角色的目标行为策略确定为包括在移动硬直时间期间禁止虚拟角色主动移动;
S613,响应于设定虚拟角色的技能硬直时间,将虚拟角色的目标行为策略确定为包括在技能硬直时间期间禁止虚拟角色主动释放技能。
如S611所示,为虚拟角色添加硬直时,可以根据预设被击动作和当前状态设定硬直种类和硬直时间。因为虚拟角色被击之后的预期动作取决于攻击操作和虚拟角色的当前操作,因此可以基于预设被击动作和当前状态对应的当前动作确定硬直时间,以确保在预期动作执行时虚拟角色处于硬直过程,不受主动操作的影响。
针对不同种类的硬直可以定义相应的硬直时间。在一些实施例中,由于硬直可以包括移动硬直和技能硬直,因此硬直时间相应地也可以包括移动硬直时间和技能硬直时间。移动硬直时间可以指虚拟角色处于移动硬直过程的持续时间段,即从虚拟角色进入移动硬直开始到移动硬直过程结束所经历的时间区间或时间间隔,例如虚拟角色从第一时刻t1开始进入移动硬直,直到第二时刻t2结束移动硬直,则移动硬直时间为第一时刻t1到第二时刻t2的时间区间或时间间隔[t1, t2]。技能硬直时间可以指虚拟角色处于技能硬直过程的持续时间段,例如假设虚拟角色从第三时刻t3开始进入技能硬直,直到第四时刻t4结束技能硬直,则技能硬直时间为第三时刻t3到第四时刻t4的时间区间或时间间隔[t3,t4]。
如S612和S613所示,在移动硬直时间期间,该虚拟角色处于移动硬直过程,因而不能主动的移动;在技能硬直时间期间,该虚拟角色处于技能硬直过程,因而不能主动释放技能。在一些实施例中,移动硬直时间和技能硬直时间二者可以间隔开或者也可以部分重叠或完全重叠。在重叠时,虚拟角色既处于技能硬直过程又处于移动硬直过程中,同时屏蔽主动的移动和技能释放。
通过上述实施例,可以在虚拟角色被击期间,为被击虚拟角色添加不同的硬直效果,并可以根据被击动作自由配置硬直效果的时长,实现良好的被击表现效果,以及舒服的被击手感。
图7A-7F示出根据本公开一些实施例的虚拟角色控制方法的目标行为策略的实施示意图。当目标行为被确定为预设被击动作中的“被击退”时,可以通过下述方式实施“被击退”动作或效果:被击虚拟角色做出后退动作(例如动画),同时有一段后退的位移,位移曲线跟动画相匹配。击退过程中虚拟角色是贴着地面进行位移。
图7A和7B分别示意性示出虚拟角色“被击退”动作两种不同表现形式的俯视图。如图7A所示,攻击方虚拟角色701沿其实线箭头704(即攻击方虚拟角色701的正朝向)攻击位于三角形区域的攻击范围703中的被击虚拟角色702。假设被击虚拟角色702在被攻击时都转向攻击者,即面对攻击方虚拟角色701,则如图7A所示,被击虚拟角色702沿着虚线箭头705方向(即被击虚拟角色702各自与攻击者的连线方向)被击退后移,移动过程中被击虚拟角色702在地面上。如图7B所示,与图7B类似,攻击方虚拟角色701沿实线箭头704(即攻击方虚拟角色701的正朝向)攻击位于三角形区域的攻击范围703中的被击虚拟角色702。当被击虚拟角色702在被攻击时并未转向攻击者,即并未面对攻击方虚拟角色701,则如图7B所示,被击虚拟角色702沿着虚线箭头706方向(与箭头704方向相同,即攻击者正朝向)被击退后移,移动过程中被击虚拟角色702在地面上。
图7C-7F分别示意性示出虚拟角色“被击退”动作不同表现形式的侧视图。
如图7C所示,当被击虚拟角色702在“被击退”过程中从起点700a沿虚线箭头708方向后退但尚未到达“被击退”动作对应的后退终点700b时,遇到障碍物707,可以根据障碍物高度H1以及虚拟角色702可翻越最大高度来确定虚拟角色702是否可以翻越障碍物707。例如,可以预先设定虚拟角色702可翻越最大高度为h,则可以比较h与障碍物高度H1,如果h>=H1,则虚拟角色可以翻越障碍物,否则虚拟角色702被挡住。
如图7D所示,当被击虚拟角色702在“被击退”过程中从起点700c后退但尚未到达“被击退”动作对应的后退终点700d时,遇到斜坡710,可以根据斜坡的角度θ以及虚拟角色702可爬升的最大斜坡角度来确定虚拟角色702是否可以爬上斜坡710。例如,可以预先设定虚拟角色702可爬升的最大角度为θ0,则可以比较θ0与障碍物角度θ,如果θ0>=θ,则虚拟角色可以沿着虚线箭头708方向爬升该斜坡710到达终点700d,否则虚拟角色702被斜坡710阻挡,停止后退。
如图7E和7F所示,当被击虚拟角色702在沿着虚线箭头711被击过程中遇到高度为H2的悬崖713(例如,如果移动过程中遇到的下落高度大于某个阈值,则判定为移动过程中遇到了悬崖)时,可以采取图7E或7F中所示的两种处理方式,实现不同的被击退效果。如图7E所示,第一种方式为虚拟角色702停在悬崖713边缘,不会继续后退;表现效果为:类似于虚拟角色702停靠的竖直虚线712可以想象成空气墙,将虚拟角色702阻挡住无法继续后退。如图7F所示,虚拟角色702将从悬崖713以抛物线714下落,冲出悬崖713后中断被击效果,同时转为保持原有速度坠落。
图8A-8E示出根据本公开另一些实施例的虚拟角色控制方法的目标行为策略的实施示意图。当目标行为被确定为预设被击动作中的“被击飞”时,目标行为策略可以为执行“被击飞”动作。在一些实施例中,“被击飞”是指被击虚拟角色在被击中之后在空中后退过程,虚拟角色可以沿着被击飞的曲线进行位移。“被击飞”过程中的角色的位移曲线是3D的,即包含 Z 轴的位移。“被击飞”过程可以包括:起飞、上升、下降、落地四个阶段。
图8A-8B分别示意性示出虚拟角色“被击飞”动作两种不同表现形式的俯视图。如图8A所示,攻击方虚拟角色801沿其实线箭头804(即攻击方虚拟角色801的正朝向)攻击位于三角形区域的攻击范围803中的被击虚拟角色802。假设被击虚拟角色802在被攻击时都转向攻击者,即面对攻击方虚拟角色801,则如图8A所示,被击虚拟角色802(在水平方向)沿着虚线箭头805方向(即被击虚拟角色802各自与攻击者的连线方向)被击飞,移动过程中被击虚拟角色802在空中。
如图8B所示,与图8A类似,攻击方虚拟角色801沿实线箭头804(即攻击方虚拟角色801的正朝向)攻击位于三角形区域的攻击范围803中的被击虚拟角色802。当被击虚拟角色802在被攻击时并未转向攻击者,即并未面对攻击方虚拟角色801,则如图8B所示,被击虚拟角色802(在水平方向)沿着虚线箭头806方向(与箭头804方向相同,即攻击者正朝向)被击飞,移动过程中被击虚拟角色802在空中。
图8C-8E分别示意性示出虚拟角色“被击飞”动作不同表现形式的侧视图。
如图8C所示,当被击虚拟角色802在沿着虚线箭头807“被击飞”过程中,在空中遇到障碍物808时,可以进行碰撞检测以检测被阻挡的方向。随后,将虚拟角色802的当前速度v分解为被阻挡方向的速度v1和与速度v1垂直的方向的速度v0。由于碰撞的缘故,被阻挡方向的速度v1变为0,即被阻挡;另一方向的分量速度v0不受影响,正常移动。因此如图8C所示,虚拟角色802在被障碍物808阻挡之后沿着虚线箭头809方向(即与阻挡平面垂直的方向)向下移动,直到离开障碍物;在离开障碍物之后v1方向的速度再次变为被阻挡前的速度值,于是v1与v0再次合成,虚拟角色802沿着虚线箭头810方向再次呈抛物线运动直到落地为止。
如图8D所示,当被击虚拟角色802沿着虚线811“被击飞”过程中遇到向上的斜坡800a时,可以根据斜坡的角度等因素计算虚拟角色落在斜坡上的第一位置812,随后根据落地瞬间的速度v的分解,即分解为与斜坡垂直的速度v0和平行于斜坡的速度v1,可以确定在落地后的v0变为零,而v1速度继续保持,虚拟角色802继续沿着虚线箭头813方向(即沿着斜坡800a)行进;随后由于重力和摩擦力的缘故,v1速度持续衰减,最终停留在斜坡的第二位置814处。
如图8E所示,当被击虚拟角色802沿着虚线815“被击飞”过程中遇到向下的斜坡800b时,可以根据首先根据“被击飞”过程的起始点和初速度确定虚拟角色802在平面上应当落地的第一位置816(事实上由于下坡的缘故并未落地),随后通过斜坡的角度等因素判断实际落在下坡817上的第二位置。可以根据第一位置816处时虚拟角色的速度v确定从第一位置816到第二位置817的抛物线轨迹81。
图9示意性示出实施图6A所示的步骤S606的示例过程。
如图9所示,步骤S606-响应于虚拟角色的当前状态为移动状态,根据预设被击动作和当前移动动作,确定虚拟角色的目标行为策略可以包括:
S910,判断预设被击动作是否满足合成条件,若是转到步骤S920,否则转到步骤S930;
S920,响应于预设被击动作满足合成条件,将预设被击动作与当前移动动作进行合成处理以得到合成的被击动作,并将目标行为策略确定执行合成的被击动作;
S930,响应于预设被击动作不满足合成条件,将目标行为策略确定为执行预设被击动作。
为了实现更连贯、更真实的被击效果,在虚拟角色移动状态下被击时,可以在预设被击动作满足预定条件的情况下,将当前移动状态与攻击操作对应的预设被击动作进行合成处理以得到目标行为。该预定条件可以称为合成条件,其可以包括预设被击动作为:原地被击、被击退、原地眩晕中至少一个等。而被击飞、被击倒等被击动作不适合与移动状态中的当前移动动作合成,因为这些被击动作本身就是移动的,而且移动方式与普通移动(例如跑、走等)并不相同。因而,在一些实施例中,如图9所示,可以根据合成条件是否满足来确定目标行为策略,若满足条件,则进行预设被击动作与当前移动动作的合成处理,并将合成后的被击动作作为目标行为;否则,预设被击动作打断当前移动动作,即目标行为策略为执行预设被击动作。
当前移动动作和预设被击动作的合成处理可以通过例如UE4(Unreal Engine 4虚幻引擎4)之类的游戏开发引擎来实现。例如当预设被击动作为原地被击时,可以将原地被击动画与当前移动动画的主体(即虚拟角色)进行按比例的融合,以表现出移动被击的效果,提升被击过程的整体表现力;例如当预设被击动作为被击退时,除了被击退动画与当前移动动画的主体进行上半身按比例的融合之外,还需要根据被击退的移动速度和当前移动动作的速度来通过计算矢量和的方式确定融合后的虚拟角色的移动被击动画中的移动速度,以充分逼近真实的移动被击效果。
图10示意性示出实施图6A所示的步骤S608的示例过程。
如图10所示,步骤S608-响应于虚拟角色的当前状态为技能释放状态,根据第一技能和第二技能,确定虚拟角色的目标行为策略可以包括下述步骤:
S1010,获取第一技能的第一等级以及第二技能的第二等级;
S1020,判断第二等级是否高于第一等级,若是,则转到步骤S1030,否则转到步骤S1040;
S1030,响应于第二等级高于第一等级,将虚拟角色的目标行为策略确定为保持技能释放状态;
S1040,响应于第二等级低于或等于第一等级,将虚拟角色的目标行为策略确定为执行预设被击动作。
在一些实施例中,当处于技能释放状态(即攻击状态)的虚拟角色被攻击时,可以通过比较被击虚拟角色释放的技能的等级和被攻击操作对应的技能的等级来确定目标行为策略。技能等级可以在游戏开发时预先根据其伤害程度等因素预先确定,并将所确定技能与相应等级的对应关系信息利用表格形式预先存储在游戏数据库中。因此在游戏进行过程中需要时通过在数据库中查表直接获得技能的等级。如图10所示,当预设被击动作(即被击虚拟角色的被攻击操作)的第一技能的第一等级高于技能释放状态(即被击虚拟角色的攻击操作)对应的第二技能时,可以优先考虑第一技能的攻击操作,即第一技能对应的预设被击动作将被执行,同时打断虚拟角色的当前技能释放状;而当第一等级低于或等于第二等级时,虚拟角色可以保持第二技能对应的技能释放状态,忽略第一技能对应的被攻击操作。
可选地,当第一等级等于第二等级二者相等时,虚拟角色可以保持当前攻击状态,忽略第一技能的被攻击操作,也可以使得第一技能攻击打断当前技能释放状态,还可以既保持攻击状态,又被第二技能攻击击中生效,执行对应的预设被击动作。
图11A示意性示出实施图6A所示的步骤S610的示例过程。
如图11A所示,步骤S610-响应于虚拟角色的当前状态为被击状态,根据预设被击动作和虚拟角色的被击状态对应的当前被击动作,确定虚拟角色的目标行为策略可以包括下述步骤:
S1110,获取预设被击动作的第一优先级和当前被击动作的第二优先级;
S1120,判断第一优先级是否高于或等于第二优先级,若是转到S1130,否则转到S1140;
S1130,响应于第一优先级高于或等于第二优先级,将虚拟角色的目标行为策略确定为执行预设被击动作;
S1140,响应于第一优先级低于第二优先级,将虚拟角色的目标行为策略确定为保持所述被击状态。
在一些实施例中,当处于被击状态的虚拟角色再次被攻击时,可以比较当前被击动作和预设比较动作的优先级来确定目标行为。被击动作的优先级可以在游戏开发时预先根据多种因素(例如动作的幅度、被击对象的类型、被击动作对应的技能等)预先确定。例如可以将预先设定的各种被击动作与相应优先级的对应关系存储在二维表中,在需要时直接从预先存储的二维表中获得各种被击动作的优先级。如表1所示,在一些实施例中,依据被击动作的幅度和伤害程度,被击动作:原地被击、眩晕、被击倒、被击退、被击飞的优先级可以设定为依次递增,即分别为5级、4级、3级、2级和1级。
表1-被击动作的优先级示例表
被击动作 原地被击 原地眩晕 被击倒 被击退 被击飞
优先级 5 4 3 2 1
如图11A所示,当二次被攻击操作对应的预设被击动作的第一优先级高于或等于被击状态对应的当前被击动作的第二优先级时,可以优先考虑预设被击动作,即预设被击动作将被执行,同时打断虚拟角色的当前被击状态;而当第一优先级低于第二优先级时,虚拟角色可以保持当前被击状态,而忽略二次被击操作,即不执行预设被击动作。例如,如表1所示,如果二次被攻击操作的被击动作为“被击飞”,则它可以打断作为当前被击动作的其他四种被击动作。当第一优先级等于第二优先级时,虚拟角色也可以既保持当前被击状态,又被二次被击操作击中生效,执行对应的预设被击动作。可选地,目标行为策略也可以被确定为直接用新的被击动作,即预设被击动作,打断当前被击动作。
在一些实施例中,被击动作的优先级可以预先根据其对应的技能的等级设定,因此,预设被击动作和当前被击动作的优先级的比较等价于它们各自对应的技能的等级的比较,即预设被击动作对应的第一技能的等级和当前被击动作对应的第二技能的等级比较。
图11B示意性示出图6A所示的步骤S610的另一个示例过程。
如前文所述,除了移动硬直和技能硬直之外,硬直还可以包括被击硬直。与移动硬直时间和技能硬直时间类似,与被击硬直对应的被击硬直时间可以指虚拟角色处于被击硬直过程的持续时间段。在一些实施例中,被击硬直是指虚拟角色进入被击状态时再次被击时被击虚拟角色的行为限制。被击硬直时间仅仅是相对于虚拟角色的被击状态而言的,即被击状态中可以包含被击硬直时间和非被击硬直时间。例如当虚拟角色被击中的瞬间,进入被击硬直时间,直到攻击完成或被击动作完成,被击硬直时间结束;或者在被击动作进入尾声时,被击硬直时间结束,进入非被击硬直时间。在被击硬直时间,虚拟角色处于被击硬直,这时再次被击时,按照相应处理方式(例如图11A所示的步骤S1110-1140)确定目标行为策略;在非被击硬直时间,虚拟角色再次被击时,目标行为策略可以被确定为针对虚拟角色的新的攻击对应的被击动作直接打断旧的被击动作。
如图11B所示,步骤S610-响应于虚拟角色的当前状态为被击状态,根据预设被击动作和虚拟角色的被击状态对应的当前被击动作,确定虚拟角色的目标行为策略可以包括下述步骤S1101-S1106。
S1101,根据被击状态对应的当前被击动作,确定当前被击动作的被击硬直时间。
在一些实施例中,被击硬直时间一般是与被击状态的被击动作对应的,于是可以在游戏开发时,预先设定各个被击动作对应的被击硬直时间并存储在游戏数据库中以供随时取用。因此,步骤S1101中可以通过下述方式完成:首先,识别被击状态对应的当前被击动作;其次在数据库中查询当前被击动作对应的被击硬直时间。
S1102,判断攻击操作的发起时刻是否处于当前动作的被击硬直时间之内,若是,转到S1103,否则转到S1105。
在一些实施例中,被击硬直时间对应于当前被击动作,从而对应于当前被击状态,被击硬直时间可以小于被击状态的持续时间。例如,当虚拟角色进入被击状态时,虚拟角色随即进入被击硬直时间,直到被击硬直时间过去为止;这时仍然处于被击状态的虚拟角色进入非被击硬直时间。因此,如步骤S1102所示,要在被击状态下再次被击之后确定目标行为策略,需要首先判定再次被击对应的攻击操作发起时刻是否处于当前被击状态的被击硬直时间,因为在被击硬直时间和非被击硬直时间,预期被击行为或动作确定方式是不同的。具体不同参见步骤S1103-S1106。
S1103,响应于攻击操作的发起时刻处于当前动作的被击硬直时间之内,获取预设被击动作的第一优先级和当前被击动作的第二优先级。
S1104,判断第一优先级是否高于或等于第二优先级,若是,转到S1105,否则转到S1106。
S1105,响应于攻击操作的发起时刻处于被击硬直时间之外或者第一优先级高于或等于第四优先级或者,将虚拟角色的目标行为策略确定为执行预设被击动作。
S1106,响应于第一优先级低于第二优先级,将虚拟角色的目标行为策略确定为保持所述被击状态。
在一些实施例中,如上述步骤S1103-S1106所示,当攻击操作的发起时刻处于当前动作的被击硬直时间之内时,执行类似如图11A所示的S1110-1140的步骤,即首先比较预设被击动作和当前被击动作的优先级,随后根据优先级确定目标行为策略,即执行预设被击动作还是当前被击动作。当攻击操作的发起时刻处于当前动作的被击硬直时间之外时,即在非被击硬直时间期间,目标行为策略可以被确定为预设被击动作直接打断并取代当前被击动作。
与图11A类似,图11B也是图6A所示的步骤S610的一个示例过程,区别在于图11B所示的示例过程为被击状态增加了被击硬直时间的概念,其目的是通过配置被击硬直时间,即被击硬直的持续时间段或时间间隔,实现在一个高优先级被击快结束的阶段就可以触发一个低优先级的被击。例如,“被击飞”相对于“原地被击”可能是高优先级的被击,现在可以预先将“被击飞”的被击硬直的时间长度设置成小于“被击飞”的整个被击动作持续时间;这样可以让在“被击飞”过程尾声(即将回到待机阶段)时,被击虚拟角色就可以执行“原地被击”,从而使得被击动作或被击画面的更加连贯、过渡更加平滑自然,产生更好的表现效果。
图12示意性示出了根据本公开一些实施例的虚拟角色控制装置1200的示例框图。虚拟角色控制装置1200可以包括获取模块1210、确定模块1220和控制模块1230。
获取模块1210可以配置成获取虚拟角色的当前状态和针对虚拟角色的攻击操作。确定模块1220可以配置成根据攻击操作和虚拟角色的当前状态,确定虚拟角色的目标行为策略。控制模块1230可以配置成控制虚拟角色实施所述目标行为策略。
本公开提供的虚拟角色控制装置聚焦于:在虚拟角色被击时,基于攻击方虚拟角色的攻击操作和被击虚拟角色的当前不同状态(例如待机、移动、释放技能、被击、死亡等)二者,确定被击虚拟角色相应的目标行为策略或行为控制方式(例如动作合成、基于优先级的动作切换等),从而实现适用于不同状态的被击虚拟角色的多种被击效果或表现,丰富虚拟角色的被击行为表现形式、显著提升了虚拟角色被击行为或效果的仿真精度和逼真程度,使得被击行为表现自然流畅,不同状态或动作的过渡或切换平滑连贯,避免跳变或突变。进一步地,根据本公开一些实施例的虚拟角色控制装置可以充分利用游戏资源(例如虚拟角色的实时状态信息)并优化资源调度以提升游戏的(虚拟角色被击行为的)动画效果、画面质量,显著增强了用户体验(例如身临其境的沉浸感),提高了用户粘性且进一步激发了用户或玩家参与游戏的积极性。
应注意,上述各种模块可以以软件或硬件或两者的组合来实现。多个不同模块可以在同一软件或硬件结构中实现,或者一个模块可以由多个不同的软件或硬件结构实现。
图13示意性示出了根据本公开一些实施例的计算设备1300的示例框图。计算设备1300可以代表用以实现本文描述的各种装置或模块和/或执行本文描述的各种方法的设备。计算设备1300可以是例如服务器、台式计算机、膝上型计算机、平板、智能电话、智能手表、可穿戴设备或任何其它合适的计算设备或计算系统,其可以包括从具有大量存储和处理资源的全资源设备到具有有限存储和/或处理资源的低资源设备的各种级别的设备。在一些实施例中,上面关于图12描述的虚拟角色控制装置1200可以分别在一个或多个计算设备1300中实现。
如图13所示,示例计算设备1300包括彼此通信耦合的处理系统1301、一个或多个计算机可读介质1302以及一个或多个I/O接口1303。尽管未示出,但是计算设备1300还可以包括将各种组件彼此耦合的系统总线或其他数据和命令传送系统。系统总线可以包括不同总线结构的任何一个或组合,所述总线结构可以是诸如存储器总线或存储器控制器、外围总线、通用串行总线和/或利用各种总线架构中的任何一种的处理器或局部总线。或者,还可以包括诸如控制和数据线。
处理系统1301代表使用硬件执行一个或多个操作的功能。因此,处理系统1301被图示为包括可被配置为处理器、功能块等的硬件元件1304。这可以包括在硬件中实现作为专用集成电路或使用一个或多个半导体形成的其它逻辑器件。硬件元件1304不受其形成的材料或其中采用的处理机构的限制。例如,处理器可以由(多个)半导体和/或晶体管(例如,电子集成电路(IC))组成。在这样的上下文中,处理器可执行指令可以是电子可执行指令。
计算机可读介质1302被图示为包括存储器/存储装置1305。存储器/存储装置1305表示与一个或多个计算机可读介质相关联的存储器/存储装置。存储器/存储装置1305可以包括易失性介质(诸如随机存取存储器(RAM))和/或非易失性介质(诸如只读存储器(ROM)、闪存、光盘、磁盘等)。存储器/存储装置1305可以包括固定介质(例如,RAM、ROM、固定硬盘驱动器等)以及可移动介质(例如,闪存、可移动硬盘驱动器、光盘等)。示例性地,存储器/存储装置1305可以用于存储上文实施例中提及的第一类别用户的第一音频、请求的排队列表等。计算机可读介质1302可以以下面进一步描述的各种其他方式进行配置。
一个或多个I/O(输入/输出)接口1303代表允许用户向计算设备1300键入命令和信息并且还允许使用各种输入/输出设备将信息显示给用户和/或发送给其他组件或设备的功能。输入设备的示例包括键盘、光标控制设备(例如,鼠标)、麦克风(例如,用于语音输入)、扫描仪、触摸功能(例如,被配置为检测物理触摸的容性或其他传感器)、相机(例如,可以采用可见或不可见的波长(诸如红外频率)将不涉及触摸的运动检测为手势)、网卡、接收机等等。输出设备的示例包括显示设备(例如,监视器或投影仪)、扬声器、打印机、触觉响应设备、网卡、发射机等。示例性地,在上文描述的实施例中,第一类别用户以及第二类别用户可以通过其各自的终端设备上的输入接口来进行输入以发起请求以及录入音频和/或视频等,并且可以通过输出接口来查看各种通知以及观看视频或聆听音频等。
计算设备1300还包括虚拟角色控制策略1306。虚拟角色控制策略1306可以作为计算程序指令存储在存储器/存储装置1305中,也可以是硬件或固件。虚拟角色控制策略1306可以连同处理系统1301等一起实现关于图12描述的虚拟角色控制装置1200的各个模块的全部功能。
本文可以在软件、硬件、元件或程序模块的一般上下文中描述各种技术。一般地,这些模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元素、组件、数据结构等。本文所使用的术语“模块”、“功能”等一般表示软件、固件、硬件或其组合。本文描述的技术的特征是与平台无关的,意味着这些技术可以在具有各种处理器的各种计算平台上实现。
所描述的模块和技术的实现可以存储在某种形式的计算机可读介质上或者跨某种形式的计算机可读介质传输。计算机可读介质可以包括可由计算设备1300访问的各种介质。作为示例而非限制,计算机可读介质可以包括“计算机可读存储介质”和“计算机可读信号介质”。
与单纯的信号传输、载波或信号本身相反,“计算机可读存储介质”是指能够持久存储信息的介质和/或设备,和/或有形的存储装置。因此,计算机可读存储介质是指非信号承载介质。计算机可读存储介质包括诸如易失性和非易失性、可移动和不可移动介质和/或以适用于存储信息(诸如计算机可读指令、数据结构、程序模块、逻辑元件/电路或其他数据)的方法或技术实现的存储设备之类的硬件。计算机可读存储介质的示例可以包括但不限于RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字通用盘(DVD)或其他光学存储装置、硬盘、盒式磁带、磁带,磁盘存储装置或其他磁存储设备,或其他存储设备、有形介质或适于存储期望信息并可以由计算机访问的制品。
“计算机可读信号介质”是指被配置为诸如经由网络将指令发送到计算设备1300的硬件的信号承载介质。信号介质典型地可以将计算机可读指令、数据结构、程序模块或其他数据体现在诸如载波、数据信号或其它传输机制的调制数据信号中。信号介质还包括任何信息传递介质。作为示例而非限制,信号介质包括诸如有线网络或直接连线的有线介质以及诸如声、RF、红外和其它无线介质的无线介质。
如前所述,硬件元件1304和计算机可读介质1302代表以硬件形式实现的指令、模块、可编程器件逻辑和/或固定器件逻辑,其在一些实施例中可以用于实现本文描述的技术的至少一些方面。硬件元件可以包括集成电路或片上系统、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、复杂可编程逻辑器件(CPLD)以及硅中的其它实现或其他硬件设备的组件。在这种上下文中,硬件元件可以作为执行由硬件元件所体现的指令、模块和/或逻辑所定义的程序任务的处理设备,以及用于存储用于执行的指令的硬件设备,例如,先前描述的计算机可读存储介质。
前述的组合也可以用于实现本文所述的各种技术和模块。因此,可以将软件、硬件或程序模块和其它程序模块实现为在某种形式的计算机可读存储介质上和/或由一个或多个硬件元件1304体现的一个或多个指令和/或逻辑。计算设备1300可以被配置为实现与软件和/或硬件模块相对应的特定指令和/或功能。因此,例如通过使用处理系统的计算机可读存储介质和/或硬件元件1304,可以至少部分地以硬件来实现将模块实现为可由计算设备1300作为软件执行的模块。指令和/或功能可以由例如一个或多个计算设备1300和/或处理系统1301执行/可操作以实现本文所述的技术、模块和示例。
本文描述的技术可以由计算设备1300的这些各种配置来支持,并且不限于本文所描述的技术的具体示例。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机程序。例如,本公开的实施例提供一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行本公开的方法实施例中的至少一个步骤的程序代码。
在本公开的一些实施例中,提供了一种或多种计算机可读存储介质,其上存储有计算机可读指令,该计算机可读指令在被执行时实现根据本公开一些实施例的虚拟角色控制方法。根据本公开一些实施例所述的虚拟角色控制方法的各个步骤可以通过程序设计被转化为计算机可读指令,从而存储在计算机可读存储介质中。当这样的计算机可读存储介质被计算设备或计算机读取或访问时,其中的计算机可读指令被计算设备或计算机上的处理器执行以实现根据本公开一些实施例所述的虚拟角色控制方法。
在本说明书的描述中,术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点被包含于本公开的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序(包括根据所涉及的功能按基本同时的方式或按相反的顺序)来执行功能,这应被本公开的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
应当理解,本公开的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,则可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路、具有合适的组合逻辑门电路的专用集成电路、可编程门阵列(Programmable Gate Array)、现场可编程门阵列(Field Programmable Gate Array)等。
本技术领域的普通技术人员可以理解上述实施例方法的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括执行方法实施例的步骤之一或其组合。
此外,在本公开各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。

Claims (15)

1.一种虚拟角色控制方法,包括:
获取虚拟角色的当前状态和针对所述虚拟角色的攻击操作;
根据所述攻击操作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略;
控制所述虚拟角色实施所述目标行为策略。
2.根据权利要求1所述的方法,其中,所述根据所述攻击操作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略,包括:
获取所述攻击操作中释放的第一技能;
根据所述第一技能,确定所述虚拟角色的预设被击动作;
根据所述虚拟角色的预设被击动作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略。
3.根据权利要求1所述的方法,其中,所述根据所述攻击操作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略,包括:
获取所述攻击操作中释放的第一技能;
根据所述第一技能和所述虚拟角色的属性,确定所述虚拟角色的预设被击动作;
根据所述虚拟角色的预设被击动作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略。
4.根据权利要求2或3所述的方法,其中所述预设被击动作包括下述各项中至少一个:原地被击、被击退、被击倒、被击飞、原地眩晕、被抓取。
5.根据权利要求2或3所述的方法,其中所述虚拟角色的当前状态包括:待机状态、移动状态、技能释放状态、被击状态或死亡状态。
6.根据权利要求5所述方法,其中,所述根据所述虚拟角色的预设被击动作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略,包括:
响应于所述虚拟角色的当前状态为死亡状态,则将所述虚拟角色的目标行为策略确定为保持死亡状态;
响应于所述虚拟角色的当前状态为待机状态,则将所述虚拟角色的目标行为策略确定为执行预设被击动作;
响应于所述虚拟角色的当前状态为移动状态,则根据所述预设被击动作和与所述移动状态对应的当前移动动作,确定所述虚拟角色的目标行为策略;
响应于所述虚拟角色的当前状态为技能释放状态,则根据所述预设被击动作对应的第一技能和所述技能释放状态对应的第二技能,确定所述虚拟角色的目标行为策略;
响应于所述虚拟角色的当前状态为所述被击状态,则根据所述预设被击动作和与所述被击状态对应的当前被击动作,确定所述虚拟角色的目标行为策略。
7.根据权利要求6所述的方法,其中,所述响应于所述虚拟角色的当前状态为移动状态,则根据所述预设被击动作和与所述移动状态对应的当前移动动作,确定所述虚拟角色的目标行为策略,包括:
响应于所述预设被击动作满足合成条件,将所述预设被击动作与当前移动动作进行合成处理以得到合成被击动作,并将目标行为策略确定为执行所述合成被击动作;
响应于所述预设被击动作不满足合成条件,将目标行为策略确定为执行所述预设被击动作。
8.根据权利要求7所述的方法,其中,所述合成条件包括:预设被击动作为原地被击、原地眩晕、被击退中至少一个。
9.根据权利要求6所述的方法,其中,所述响应于所述虚拟角色的当前状态为技能释放状态,则根据所述预设被击动作对应的第一技能和所述技能释放状态对应的第二技能,确定所述虚拟角色的目标行为策略,包括:
获取所述第一技能的第一等级以及所述第二技能的第二等级;
响应于所述第二等级高于所述第一等级,将所述虚拟角色的目标行为策略确定为保持技能释放状态,
响应于所述第二等级低于或等于所述第一等级,将所述虚拟角色的目标行为策略确定为执行所述预设被击动作。
10.根据权利要求2或3所述的方法,其中,所述根据所述虚拟角色的预设被击动作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略包括:
根据所述预设被击动作和所述虚拟角色的当前状态,设定所述虚拟角色的移动硬直时间和技能硬直时间中至少一个;
响应于设定所述虚拟角色的移动硬直时间,将所述虚拟角色的目标行为策略确定为包括在移动硬直时间期间禁止所述虚拟角色主动移动;
响应于设定所述虚拟角色的技能硬直时间,将所述虚拟角色的目标行为策略确定为包括在技能硬直时间期间禁止所述虚拟角色主动释放技能。
11.根据权利要求5所述的方法,其中,所述根据所述虚拟角色的预设被击动作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略,包括:
根据所述被击状态对应的当前被击动作,确定所述当前被击动作的被击硬直时间;
响应于所述攻击操作的发起时刻处于被击硬直时间之内,获取所述预设被击动作的第一优先级和所述当前被击动作的第二优先级;
响应于所述第一优先级低于所述第二优先级,将所述虚拟角色的目标行为策略确定为保持所述被击状态;
响应于所述攻击操作的发起时刻处于被击硬直时间之外或者所述第一优先级高于或等于所述第二优先级,将所述虚拟角色的目标行为策略确定为执行所述预设被击动作。
12.根据权利要求1所述的方法,进一步包括:
将所述虚拟角色的目标行为策略发送至服务器以供校验并形成校验信息,所述校验信息包括用于表明所述目标行为策略是否异常的校验结果,并且在校验结果为所述目标行为策略异常的情况下,所述校验信息进一步包括经校正的目标行为策略;
从服务器接收所述校验信息;
响应于所述校验信息中的校验结果为所述目标行为策略是异常的,控制所述虚拟角色实施所述经校正的目标行为策略。
13.一种虚拟角色控制装置,包括:
获取模块,配置成获取虚拟角色的当前状态和针对所述虚拟角色的攻击操作;
确定模块,配置成根据所述攻击操作和所述虚拟角色的当前状态,确定所述虚拟角色的目标行为策略;
控制模块,配置成控制所述虚拟角色实施所述目标行为策略。
14.一种计算设备,包括:
存储器和处理器,
其中所述存储器中存储有计算机程序,所述计算机程序在被所述处理器执行时促使所述处理器执行权利要求1-12中任一项所述的方法的步骤。
15.一种计算机可读存储介质,其上存储计算机可读指令,所述计算机可读指令在被执行时实现权利要求1-12中任一项所述的方法。
CN202110094562.7A 2021-01-25 2021-01-25 虚拟角色控制方法、装置、计算设备及存储介质 Active CN112619148B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110094562.7A CN112619148B (zh) 2021-01-25 2021-01-25 虚拟角色控制方法、装置、计算设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110094562.7A CN112619148B (zh) 2021-01-25 2021-01-25 虚拟角色控制方法、装置、计算设备及存储介质

Publications (2)

Publication Number Publication Date
CN112619148A true CN112619148A (zh) 2021-04-09
CN112619148B CN112619148B (zh) 2023-04-07

Family

ID=75294925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110094562.7A Active CN112619148B (zh) 2021-01-25 2021-01-25 虚拟角色控制方法、装置、计算设备及存储介质

Country Status (1)

Country Link
CN (1) CN112619148B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113476845A (zh) * 2021-07-08 2021-10-08 网易(杭州)网络有限公司 游戏中的交互控制方法、装置、电子设备及计算机介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006051402A (ja) * 2005-10-31 2006-02-23 Namco Ltd ゲーム装置及び情報記憶媒体
CN110694261A (zh) * 2019-10-21 2020-01-17 腾讯科技(深圳)有限公司 控制虚拟对象进行攻击的方法、终端及存储介质
CN111467804A (zh) * 2020-04-30 2020-07-31 网易(杭州)网络有限公司 一种游戏中的受击处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006051402A (ja) * 2005-10-31 2006-02-23 Namco Ltd ゲーム装置及び情報記憶媒体
CN110694261A (zh) * 2019-10-21 2020-01-17 腾讯科技(深圳)有限公司 控制虚拟对象进行攻击的方法、终端及存储介质
CN111467804A (zh) * 2020-04-30 2020-07-31 网易(杭州)网络有限公司 一种游戏中的受击处理方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GAMERES游资网: "《https://weibo.com/ttarticle/p/show?id=2309404311261520265069》", 28 November 2018 *
小棉花: "《https://page.om.qq.com/page/O1q0ODucNhjA7ybsPNnYXC4Q0》", 23 June 2019 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113476845A (zh) * 2021-07-08 2021-10-08 网易(杭州)网络有限公司 游戏中的交互控制方法、装置、电子设备及计算机介质

Also Published As

Publication number Publication date
CN112619148B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
CN112691377B (zh) 虚拟角色的控制方法、装置、电子设备及存储介质
CN111282279B (zh) 模型训练的方法、基于交互式应用的对象控制方法及装置
CN111744201B (zh) 视频游戏中的自动玩家控制接管
US10449458B2 (en) Skill matching for a multiplayer session
US11395971B2 (en) Auto harassment monitoring system
CN109154948B (zh) 用于提供内容的方法和装置
CN112619148B (zh) 虚拟角色控制方法、装置、计算设备及存储介质
CN115581922A (zh) 游戏角色控制方法、装置、存储介质以及电子设备
JP2020195768A (ja) 空間二元化を利用してスポーツゲームのプレイヤーキャラクタを育成する方法およびシステム
CN113164817B (zh) 游戏对象的交互控制系统、方法、服务器及计算机可读存储介质
CN111389007B (zh) 一种游戏控制方法、装置、计算设备及存储介质
CN117085314A (zh) 云游戏的辅助操控方法、装置和存储介质及电子设备
JP6379077B2 (ja) ゲームプログラムおよびゲーム装置
CN113018862B (zh) 虚拟对象的控制方法、装置、电子设备及存储介质
JP2023548922A (ja) 仮想対象の制御方法、装置、電子機器、及びコンピュータプログラム
CN116943204A (zh) 虚拟对象的控制方法、装置和存储介质及电子设备
JP5296732B2 (ja) オンラインゲームシステム、及びサーバ装置群
JP2024514763A (ja) ゲームの情報処理方法、装置、電子機器および記憶媒体
US20240342607A1 (en) Virtual object interaction method and apparatus, device, storage medium, and program product
CN118036694B (zh) 一种训练智能体的方法、装置和设备及计算机存储介质
CN112933600B (zh) 虚拟对象控制方法、装置、计算机设备和存储介质
WO2024060376A1 (zh) 力反馈装置的降噪方法、游戏手柄和存储介质
WO2024021792A1 (zh) 虚拟场景的信息处理方法、装置、设备、存储介质及程序产品
WO2024021750A1 (zh) 虚拟场景中的交互方法、装置、电子设备、计算机可读存储介质及计算机程序产品
Cai et al. Cognitive gaming

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40042029

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant