CN107019912B - 角色的配置方法和装置 - Google Patents
角色的配置方法和装置 Download PDFInfo
- Publication number
- CN107019912B CN107019912B CN201710261467.5A CN201710261467A CN107019912B CN 107019912 B CN107019912 B CN 107019912B CN 201710261467 A CN201710261467 A CN 201710261467A CN 107019912 B CN107019912 B CN 107019912B
- Authority
- CN
- China
- Prior art keywords
- character
- target
- attribute
- event
- target event
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/45—Controlling the progress of the video game
- A63F13/47—Controlling the progress of the video game involving branching, e.g. choosing one of several possible scenarios at a given point in time
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/56—Computing the motion of game characters with respect to other game characters, game objects or elements of the game scene, e.g. for simulating the behaviour of a group of virtual soldiers or for path finding
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/57—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game
- A63F13/577—Simulating properties, behaviour or motion of objects in the game world, e.g. computing tyre load in a car race game using determination of contact between game characters or objects, e.g. to avoid collision between virtual racing cars
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/55—Controlling game characters or game objects based on the game progress
- A63F13/58—Controlling game characters or game objects based on the game progress by computing conditions of game characters, e.g. stamina, strength, motivation or energy level
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating 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
- A63F13/67—Generating 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 adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/64—Methods for processing data by generating or executing the game program for computing dynamical parameters of game objects, e.g. motion determination or computation of frictional forces for a virtual car
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features 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/60—Methods for processing data by generating or executing the game program
- A63F2300/65—Methods for processing data by generating or executing the game program for computing the condition of a game character
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种角色的配置方法和装置。其中,该方法包括:检测到游戏中与第一角色关联的目标事件,其中,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;获取与目标事件对应的配置信息,其中,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;在生成第二角色时,使用配置信息对第二角色进行配置。本发明解决了相关技术中人工智能角色的运行机制能够被知晓的技术问题。
Description
技术领域
本发明涉及互联网领域,具体而言,涉及一种角色的配置方法和装置。
背景技术
AI的英文全称为Artificial Intelligence,即人工智能,是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。在相关技术中,人工智能在游戏中的应用非常普遍,游戏AI的主要目的是让具有AI的角色看起来非常的智能。
游戏AI即游戏中的人工智能角色,在本申请中指的是游戏中具有智能的角色,模拟真实玩家的各种行为,并且能模拟真人的操作与玩家对战。一般在游戏中,玩家通过和游戏AI对战获得技能和经验的提升。
例如,在对战游戏中,游戏AI相关的实现方法中,主要控制的是对象的行为,在此基础上AI的设计主要包括设定规则和枚举行为两种方法。所谓设定规则就是明确的设定一系列规则,然后给相关的对象进行对应的赋值,然后整个系统就按照规则运行,一旦规则设定好了,智能对象就会按照规则限制的范围循规蹈矩的执行,因为有了现有规则的存在,所以这些AI的行为基本都是可以预测的,用户在多次尝试之后就可能学会如何规避这些规则。对于枚举行为,基本上就是把对应对象所有可能的行为都设想到,然后人工确定好所有的响应。这样就把所有的行为分支构建成为一颗树形的系统,或者使用状态机来维护各个行为之间的触发条件和切换逻辑,因为需要考虑得非常周全,为每个可能的行为设置对应的响应,故此方法的缺陷之一是工作量大,另外一个就是往往给游戏对象相同的刺激,行为是一样的,重复几次就被玩家发现是固定的机器行为了,从而影响用户的体验。
在相关技术的技术方案中,实际游戏设计中是以单个AI个体为设计目标,通过上述的设计方法中的一种或者两种同时使用来达到AI智能的目的。通过构建各种状态机和行为树来完善AI个体的行为,使AI个体看起来尽可能的智能。例如在对战游戏中,AI角色一般会有以下动作:
动作1:未发现玩家时,在一定区域内游荡;
动作2:发现玩家时,追赶玩家并攻击玩家角色;
动作3:自身血量低于一定量时,遭遇玩家就会逃跑。
这里可以针对AI的反应,抽象出巡逻中(Patrolling)、攻击中(Attacking)、逃跑中(Escaping)三个状态,每个状态接口都应该包含进入状态,执行状态动作和退出状态三个逻辑,具体状态图如图1所示,然后AI就会根据环境的触发在各种状态间切换。例如,巡逻中的AI个体遭遇到玩家角色,就会判断自身受到的威胁是否比玩家弱,若是就会逃跑,否则就会对玩家进行攻击;在AI个体处于逃跑状态时,也会实时判断是否恢复安全状态,若是就会进入巡逻状态,否则继续逃跑;处于攻击状态的AI个体也会实时判断自身受到的威胁是否比敌人若,若是则会逃跑,否则继续对玩家角色发起攻击。
当然在实际开发中可以增加状态的种类,可以让状态机更加复杂,对应的AI就会更加智能,可以处理种类更加多的场景情况。
一般情况下的单个个体的AI设计数据结构如图2所示,在此数据结构中会详细描述AI所具有的属性特征(如玩家所在的地理位置等),还可以记载一些概率事件发生的数值范围等等,属性特征主要包括所在的地图位置、屏幕位置、动画信息、军衔等信息。
在现有的技术方案中存在的缺点包括:一方面是套路基本固定,同类AI之间没有差异化,采用相同的运行机制,玩家尝试几次就会明白机器人的运作方式,就可以采用对应的方式进行破解应对。其次,如果要做到非常完善的AI响应机制,穷举所有可能行为的工作量太大,一般小游戏无法做到。
针对相关技术中人工智能角色的运行机制能够被知晓的技术问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种角色的配置方法和装置,以至少解决相关技术中人工智能角色的运行机制能够被知晓的技术问题。
根据本发明实施例的一个方面,提供了一种角色的配置方法,该方法包括:检测到游戏中与第一角色关联的目标事件,其中,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;获取与目标事件对应的配置信息,其中,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;在生成第二角色时,使用配置信息对第二角色进行配置。
根据本发明实施例的另一方面,还提供了一种角色的配置装置,该配置装置包括:检测单元,用于检测到游戏中与第一角色关联的目标事件,其中,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;第一获取单元,用于获取与目标事件对应的配置信息,其中,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;配置单元,用于在生成第二角色时,使用配置信息对第二角色进行配置。
在本发明实施例中,在检测到游戏中对第一角色发起的目标事件时,获取与目标事件对应的配置信息,并通过该配置信息对生成的第二角色进行配置,以使配置后的第二角色在应对目标事件时,减小目标事件对第二角色的目标属性值的修改程度,这样,随着非玩家角色的进化,每一次出生的新角色虽然具备相同的初始外形,但是会具备新的技能属性,对于游戏中的大量非玩家角色,由于出生时间不同,其所具备的技能属性也不尽相同,在应对相同的事件时所使用的技能属性也不相同,使得游戏角色不能通过多次尝试之后,确定非玩家角色在应对固定事件时采用的技能属性,可以解决了相关技术中人工智能角色的运行机制能够被知晓的技术问题,进而达到避免人工智能角色的运行机制被知晓的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中的AI的状态转变的示意图;
图2是相关技术中的AI的数据结构的示意图;
图3是根据本发明实施例的角色的配置方法的硬件环境的示意图;
图4是根据本发明实施例的一种可选的角色的配置方法的流程图;
图5是根据本发明实施例的一种可选的AI蛇的示意图;
图6是根据本发明实施例的一种可选的头部热区的示意图;
图7是根据本发明实施例的一种可选的进化系统的示意图;
图8是根据本发明实施例的一种可选的AI属性的示意图;
图9是根据本发明实施例的一种可选的角色的配置装置的示意图;以及
图10是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种角色的配置方法的方法实施例。
可选地,在本实施例中,上述角色的配置方法可以应用于如图3所示的由服务器302和终端304所构成的硬件环境中。如图3所示,服务器302通过网络与终端304进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端304并不限定于PC、手机、平板电脑等。本发明实施例的方法可以由服务器302来执行,也可以由终端304来执行,还可以是由服务器302和终端304共同执行。其中,终端304执行本发明实施例的方法也可以是由安装在其上的客户端来执行。
图4是根据本发明实施例的一种可选的角色的配置方法的流程图,如图4所示,该方法可以包括以下步骤:
步骤S402,检测到游戏中与第一角色关联的目标事件,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;
步骤S404,获取与目标事件对应的配置信息,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;
步骤S406,在生成第二角色时,使用配置信息对第二角色进行配置。
通过上述步骤S402至步骤S406,在检测到游戏中对第一角色发起的目标事件时,获取与目标事件对应的配置信息,并通过该配置信息对生成的第二角色进行配置,以使配置后的第二角色在应对目标事件时,减小目标事件对第二角色的目标属性值的修改程度,这样,随着非玩家角色的进化,每一次出生的新角色虽然具备相同的初始外形,但是会具备新的技能属性,对于游戏中的大量非玩家角色,由于出生时间不同,其所具备的技能属性也不尽相同,在应对相同的事件时所使用的技能属性也不相同,使得游戏角色不能通过多次尝试之后,确定非玩家角色在应对固定事件时采用的技能属性,可以解决了相关技术中人工智能角色的运行机制能够被知晓的技术问题,进而达到避免人工智能角色的运行机制被知晓的技术效果。
上述的游戏可以为任意类型的游戏;第一角色为受到目标事件攻击的非玩家角色,第二角色为下一代(或者下一等级)出生的非玩家角色;目标事件为能够造成第一角色的某个属性(即目标属性)受到伤害的事件,该目标属性包括但不局限于生命、技能、武器、防御等。
在现在的多人实时在线对战类游戏中,都会需要用到AI对象,用来增加游戏对抗性和乐趣。AI可以用来初期训练玩家熟悉各种操作技能,或者在在线玩家不够的时候来和玩家互动,从而达到吸引更多真实玩家的目的。但是目前的AI由于种种原因会导致互动的效果较差。
本申请实现了一种基于生物进化基本原理的游戏AI(即采用人工智能的非玩家角色)进化方法,通过模拟生物进化的原理,赋予游戏AI系统自我进化的能力,从而使游戏AI获得随时间自然发展而提升的智能以及各种技能属性。此方法的设计思想是以整个游戏AI群体为进化对象,而不是仅仅以单个的AI个体为对象进行进化升级。具体实现方法是,当游戏AI个体被真实玩家杀死时会触发群体的进化逻辑,进化逻辑会根据被杀死的AI当前所在的代(默认从第一代或第一等级开始)的数值,获取此代能够进化出某项属性特性(如技能)的概率,并判断此次进化能否成功。如果进化成功,那么在此时间点之后出生的AI就会默认变成下一代或者下一等级,而这下一代的AI就天生具备了此项属性特性。随着时间的推移,游戏AI将会具备越来越完善的智能和技能属性。
同时,随着被玩家杀死的AI越来越多,AI也会触发已经具有的技能的属性提升,同样也是概率获取,一旦获取成功,之后出生的后一代AI将会默认具备此属性数值。在这样的成长系统中,每个AI成长的曲线都不相同,因此每局对战的体验都会不尽相同。下面结合图4进一步详述本申请的实施例:
在步骤S402提供的技术方案中,检测游戏中第一角色关联的目标事件包括:在第一角色与玩家角色对玩时,检测到玩家角色对第一角色发起攻击产生的目标事件;在第一角色处于游戏的地图中的目标位置时,检测到目标位置的游戏环境对第一角色的目标属性值进行修改的目标事件。
上述的目标属性可以为用于指示生命、技能、武器、防御等的属性例如,对于生命属性而言,目标事件即用于减少生命属性的属性值的事件;对于技能属性而言,目标事件即用于夺取第一角色的技能属性、或者降低该技能属性对玩家角色伤害的事件;再如,对于武器属性而言,目标事件即用于夺取第一角色的武器、降低该武器带来的伤害或者损毁该武器的事件,对于其余属性而言,只要是能造成对应的属性的属性值发生改变的事件均为目标事件,本申请不一一例举。
对于武器属性而言,在第一角色与玩家角色对玩时,检测到玩家角色对第一角色发起攻击以夺取其武器产生的目标事件,若第一角色的武器被夺取成功,则会触发新出生的角色发生进化,使得新出生的角色能够在玩家夺取其武器时及时逃走或者反击,具体是通过配置新出生的角色的逃避技能属性或者防御技能属性等实现。
上述的检测到玩家角色对第一角色发起攻击产生的目标事件主要包括以下两种类型:检测到玩家角色对第一角色发起攻击的第一事件,第一事件用于减少第一角色的目标属性值至第一数值,第一数值小于第一角色的目标属性极大值(即该属性所允许配置的最大值),且不小于第一角色的目标属性极小值(即该属性所允许配置的最小值);检测到玩家角色对第一角色发起攻击的第二事件,第二事件用于将第一角色的目标属性值降低第二数值,第二数值为正数。
上述的第一数值为触发非玩家角色发生进化的触发点,目标属性的属性值会在一定的范围内(即属性极大值和属性极小值间),第一数值即该范围内的数值。例如,检测到玩家角色对第一角色发起攻击的第一事件可以是检测由玩家角色发起的,且用于减少第一角色的目标属性值至目标属性极小值的第一事件,即指定将该属性的属性值降低至极小值时触发进化事件的发生。
例如,目标属性以生命属性为例,该第一数值可以为生命属性值的50%,在第一角色受到第一事件的攻击致使生命数值降低至50%或者以下时,就会触发非玩家角色发生进化,进而进化出抗击第一事件的技能属性,以在下次再遭遇第一事件时,避免或者减少第一事件对第一角色带来的伤害。
上述的第二数值表示当某个事件对第一角色造成固定伤害(即造成属性值减少第二数值的伤害)时,就会触发新出生的非玩家角色针对该事件发生进化,以避免该事件造成的伤害或者减小该事件的伤害。
还是以目标属性以生命属性为例,该第二数值可以为生命属性值的30%,在第一角色受到第二事件的攻击致使生命数值降低了30%或者以上时,就会触发非玩家角色发生进化,进而进化出抗击第二事件的技能属性,以在下次再遭遇第二事件时,避免或者减少第一事件对第一角色带来的伤害。
对于其他属性而言,采用的方法与上述类似,本申请不一一赘述。
在步骤S404提供的技术方案中,在获取与目标事件对应的配置信息之前,若每一次遭遇攻击事件都能为非玩家角色带来进化,那么就会造成非玩家角色过于强大,在游戏玩家角色与非玩家角色对战时,游戏难度过大,从而影响游戏玩家的体验,降低其玩游戏的兴趣。故而可以通过如下随机的方式进行进化。
在获取与目标事件对应的配置信息之前,获取与第一角色的等级对应的进化概率,进化概率为允许第二角色获取用于应对目标事件的属性的概率;在进化概率大于预设概率的情况下,执行获取与目标事件对应的配置信息的步骤。
可选地,可以在游戏中配置一个用于获取0至1之间的随机数的函数,每一次获取与第一角色的等级对应的进化概率时,可以执行一次该函数,将第一角色的等级参数作为该函数的输入参数,利用得到的随机数值作为与第一角色的等级对应的进化概率,然后将该进化概率与阈值(即预设概率,如0.5、0.6、0.9等)相比较,若大于阈值就对下一代出生的非玩家角色进行进化,否则就不进化。
需要说明的是,在获取与第一角色的等级对应的进化概率时,除了上述的方式以外,还可以根据实际需求采用其它方式。
在获取与目标事件对应的配置信息时,可以通过如下方式实现:确定用于应对目标事件第一属性,根据第一属性确定配置信息,第一属性用于指示在目标事件发生的情况下,目标事件对第二角色的目标属性值的修改程度小于对第一角色的目标属性值的修改程度,配置信息用于配置第一属性的各个参数;确定用于应对目标事件第二属性,根据第二属性确定配置信息,第二属性用于指示在目标事件即将发生的情况下,执行用于避免目标事件发生的防御事件,配置信息用于配置第二属性的各个参数。
在实际应用中,可以根据实际需要确定是配置上述的第一属性还是第二属性,具体可以根据具体的目标事件确定。例如,对于由玩家发起的攻击事件(可能会造成非玩家角色掉血),此时就可以配置用户的防御属性(即第一属性),避免在受到攻击时掉血或者减少掉血;再如,对于用户发起的抢夺武器的目标事件,则可以配置非玩家角色的逃跑属性(即第二属性),在通过玩家角色的某些行为判断出其即将发起抢夺武器的目标事件时,触发非玩家角色的逃跑属性,逃跑远离玩家角色(即防御事件);再如,在非玩家角色触碰到障碍物(也即游戏环境对第一角色的目标属性值进行修改的目标事件)时,也可能对玩家的某些属性(如生命值)造成影响,此时也可能触发进化出第二属性,在新出生的非玩家角色触碰到障碍物之前,主动检测确定障碍物的位置,实时避让障碍物(即执行用于避免目标事件发生的防御事件),避免障碍物的伤害。
可选地,上述的配置第一属性和第二属性,可以是指新增第一属性或者第二属性,也可以是重新配置第一属性或者第二属性的属性参数,让对应的防御技能更强,例如加快逃跑的速度等。
在上述实施例中,在确定用于应对目标事件第一属性或第二属性时,可以参考其它玩家遇到相同事件的处理方式,进而确定哪些属性时第一属性或者第二属性。具体方法如下:在检测到关联于玩家角色的目标事件被执行时,在目标事件对玩家角色的目标属性值的修改程度小于对第一角色的目标属性值的修改程度的情况下,保存玩家角色在应对目标事件时所使用的属性为第一属性,并保存玩家角色所使用的属性的各个参数。
可选地,在确定用于应对目标事件第一属性或第二属性时,也可以由游戏开发商自己定义用于应付目标事件的技能属性。
在步骤S406提供的技术方案中,在生成第二角色时,使用配置信息对第二角色进行配置包括:在生成第二角色时,使用配置信息对同时生成的多个第二角色的属性进行配置,其中,多个第二角色归属于同一等级,且多个第二角色用于补充至游戏中。
相关技术中的进化思路都是基于AI个体的设计,每个AI个体在出生时所具备的技能属性都是完全相同的,AI个体在训练过程中提升,随着AI个体在训练中的提升,其外观等也会产生相应的变化,这样用户就可以根据其外观等判断个体AI的战斗力等信息,从而采用针对性的处理方式。
在本申请中,每一代新出生的AI个体都是参照已死亡的AI(或者受到过攻击的AI)的经验进化出相应的技能属性,这就会造成每一代AI的技能属性各不相同,实现了对AI种群进行进化的设计,这样在游戏玩家与AI进行对战时,就无法判断出AI技能的高低。
为了便于进一步了解本申请的技术方案,以贪吃蛇这一对战游戏为例进行详述,对于贪吃蛇而言,通常的设计是让游戏AI的智力随着玩家的长度或者数值的成长而变化,或者是根据游戏AI自己的长度或者数值的提升而变化。这样就导致越长的蛇的智能越高,刚出生的小蛇非常弱智,整个AI蛇的群体没有进化的概率,整体的难度其实并没有随着时间的增加而加大。为了克服上述问题,可以采用本申请的技术方案进行改进。
在此方案中,如图5所示,智能AI蛇由头部和身体组成,头部区域是一个独立的圆形,这样可以支持多种皮肤和样式,身体的碰撞检测区域是由多个圆和多个矩形拼接而成。这样的组成方式的优点就是,用最少的几何形体就可以准确的描述出身体的形状和位置。
给每个智能AI蛇增加了头部热区的概念,通过控制AI蛇主动冲击其它蛇的头部热区,来实现对玩家或其他蛇的攻击,头部热区示意图如图6所示。
上述的头部热区是指贪吃蛇游戏中蛇的头部所在的一定范围。智能AI蛇会主动加速经过此区域,达到让其他蛇的头部撞到自己的身体从而杀死对方的目的。
因为在游戏中的所有蛇都会默认有一个行进速度,如果蛇头撞到了其它玩家的身体,就会死掉。因此头部热区在头部之前一部分,如果以一定的速度快速经过其它玩家的头部热区,如果对方没有及时躲避,那就会被杀死。
智能AI蛇会根据自身的属性(主要由攻击检测频率、视野范围等控制)主动攻击其他蛇头部的头部热区,除此之外,智能AI蛇的智力还包括:
(1)行驶速度,与所在等级相关,具体是指蛇在常规状态下移动的速度;
(2)转向的频率,与所在等级相关,具体是指蛇在常规状态下调整移动方向的时间间隔;
(3)转向最大角度,与所在等级相关,具体是指蛇在常规状态下调整方向的最大角度;
(4)加速行驶速度,与所在等级相关,具体是指蛇在加速状态下移动的速度;
(5)加速转向最大角度,与所在等级相关,具体是指蛇在加速状态下调整方向的最大角度;
(6)视野大小,与所在等级相关,具体是指蛇能检测的范围大小(包括检测范围内的食物和其它蛇);
(7)主动加速争抢高能食物的概率,与所在等级相关,具体是指加速争抢其它蛇死亡尸体的概率;
(8)寻找普通食物的频率,与所在等级相关,具体是指检测普通食物的时间间隔。
在实现上,如果一个AI蛇在一定概率的范围内具有了某项特质,那么它的后代天生就会具有了此项特质,而不再是概率事件。而不同的代别的AI对玩家来说是不可知的,只有在对抗过程中才能感觉到AI智能的差异,因此,本申请的技术方案的设计适用于各种需要玩家和游戏AI对战的游戏场景。
在实现本申请的技术方案时,开发和验证环境可以是Windows(如Win7等版本)、Linux(如Mac OSX、Ubuntu、Debian等)等机器上使用的开发工具软件(如WebStorm),使用的开发语言可以为JavaScript、C++、Java等,使用的游戏引擎可以为cocos2d-js等。
如图7所示,当客户端侧的游戏AI个体被真实玩家杀死时(即AI被杀死的事件)会触发群体的进化逻辑,进化逻辑会根据被杀死的AI当前所在的等级,AI管理模块获取此等级能够进化出的某项特性(技能)的概率,并由进化系统(即Evolution System)判断此次进化能否成功。如果进化成功,那么在此时间点之后出生的AI个体就会默认升级一个等级,而这个等级的AI就天生具备了此项特性或技能(比如快速闪躲、限时无敌、限时隐身等等,可以根据产品需求来配置),具体由属性管理模块管理相关属性,随着时间的推移,游戏AI个体将会具备越来越完善的智能和技能属性,每一代的AI个体的属性会保存在AI配置信息(即AI Config Data)中,AI的部分属性如图8所示,例如,蛇当前所在的等级、蛇的初始移动速度、蛇的初始转弯角速度等。
在完成进化后新出生的蛇就会具备相应的技能。
AI配置信息(也即进化配置)里面的各个属性都是随着AI蛇一代一代的更新而变换的,这里面定义了智能AI蛇的出生的属性。这些属性只是定义刚出生的时候的一些数值,在不断的吃食物和攻击其它蛇的过程中,智能AI蛇也会不断成长,变得更长更快,从而具有更强大的攻击性。如判断蛇在移动过程中是否转向、躲避,或者寻找食物。这里可以用Math.random()函数会获取一个值在0到1的随机小数,在基础之上乘以每一帧的时间和对应的属性配置时间,会得出一个数值,然后利用函数math.round对这个数值取四舍五入,如果小于0.5就为0,如果大于0.5就为1。在这里如果为0那么就会触发对应的转向、寻找食物、或者加速等等智能事件,否则不触发对应的事件。
可选地,智能AI蛇可根据自身的属性判断是否要躲避前面的蛇的身体,如果需要躲避那么首先减速,然后切换移动方向。在本申请的实现方案中,智能AI蛇会智能加速抢夺食物并躲避碰撞,在正常状态下在游戏中游荡吃食物,非常类似真人玩家的操作。
利用本申请的技术方案,根据基因的进化理论,伴随着AI个体被杀死或者受到伤害,从而触发种群的一个进化的概率事件,种群进化的概率由被杀死的AI的属性来决定。一旦进化成功,那么种群就默认具备此相属性或者是在已有属性之上提升数值。在种群进化之后出生的后代都会具有这样的属性和对应的数值。
玩家会不断杀掉哪些移动慢的,技能属性弱的,这样就类似于自然界中的优胜劣汰的淘汰机制。游戏AI的属性会随着玩家的基本属性的提升而提升,而且这个提升是紧随玩家的成长是根据他击杀的游戏对象的难度来判断,而不是预先全部设定好的,这样就可以让玩家获得与真人玩家类似的对战乐趣。由于不需要使用复杂的状态机,无需枚举大量的事件逻辑,开发工作量也会大幅降低。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述角色的配置方法的角色的配置装置。图9是根据本发明实施例的一种可选的角色的配置装置的示意图,如图9所示,该装置可以包括:检测单元92、第一获取单元94以及配置单元96。
检测单元92,用于检测到游戏中与第一角色关联的目标事件,其中,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;
第一获取单元94,用于获取与目标事件对应的配置信息,其中,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;
配置单元96,用于在生成第二角色时,使用配置信息对第二角色进行配置。
需要说明的是,该实施例中的检测单元92可以用于执行本申请实施例1中的步骤S402,该实施例中的第一获取单元94可以用于执行本申请实施例1中的步骤S404,该实施例中的配置单元96可以用于执行本申请实施例1中的步骤S406。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图3所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,在检测到游戏中对第一角色发起的目标事件时,获取与目标事件对应的配置信息,并通过该配置信息对生成的第二角色进行配置,以使配置后的第二角色在应对目标事件时,减小目标事件对第二角色的目标属性值的修改程度,这样,随着非玩家角色的进化,每一次出生的新角色虽然具备相同的初始外形,但是会具备新的技能属性,对于游戏中的大量非玩家角色,由于出生时间不同,其所具备的技能属性也不尽相同,在应对相同的事件时所使用的技能属性也不相同,使得游戏角色不能通过多次尝试之后,确定非玩家角色在应对固定事件时采用的技能属性,可以解决了相关技术中人工智能角色的运行机制能够被知晓的技术问题,进而达到避免人工智能角色的运行机制被知晓的技术效果。
上述的游戏可以为任意类型的游戏;第一角色为受到目标事件攻击的非玩家角色,第二角色为下一代(或者下一等级)出生的非玩家角色;目标事件为能够造成第一角色的某个属性(即目标属性)受到伤害的事件,该目标属性包括但不局限于生命、技能、武器、防御等。
在现在的多人实时在线对战类游戏中,都会需要用到AI对象,用来增加游戏对抗性和乐趣。AI可以用来初期训练玩家熟悉各种操作技能,或者在在线玩家不够的时候来和玩家互动,从而达到吸引更多真实玩家的目的。但是目前的AI由于种种原因会导致互动的效果较差。
本申请实现了一种基于生物进化基本原理的游戏AI(即采用人工智能的非玩家角色)进化装置,通过模拟生物进化的原理,赋予游戏AI系统自我进化的能力,从而使游戏AI获得随时间自然发展而提升的智能以及各种技能属性。此方法的设计思想是以整个游戏AI群体为进化对象,而不是仅仅以单个的AI个体为对象进行进化升级。具体实现方法是,当游戏AI个体被真实玩家杀死时会触发群体的进化逻辑,进化逻辑会根据被杀死的AI当前所在的代(默认从第一代或第一等级开始)的数值,获取此代能够进化出某项属性特性(如技能)的概率,并判断此次进化能否成功。如果进化成功,那么在此时间点之后出生的AI就会默认变成下一代或者下一等级,而这下一代的AI就天生具备了此项属性特性。随着时间的推移,游戏AI将会具备越来越完善的智能和技能属性。
同时,随着被玩家杀死的AI越来越多,AI也会触发已经具有的技能的属性提升,同样也是概率获取,一旦获取成功,之后出生的后一代AI将会默认具备此属性数值。在这样的成长系统中,每个AI成长的曲线都不相同,因此每局对战的体验都会不尽相同。
在上述实施例中,检测单元包括:第一检测模块,用于在第一角色与玩家角色对玩时,检测到玩家角色对第一角色发起攻击产生的目标事件;第二检测模块,用于在第一角色处于游戏的地图中的目标位置时,检测到目标位置的游戏环境对第一角色的目标属性值进行修改的目标事件。
上述的目标属性可以为用于指示生命、技能、武器、防御等的属性例如,对于生命属性而言,目标事件即用于减少生命属性的属性值的事件;对于技能属性而言,目标事件即用于夺取第一角色的技能属性、或者降低该技能属性对玩家角色伤害的事件;再如,对于武器属性而言,目标事件即用于夺取第一角色的武器、降低该武器带来的伤害或者损毁该武器的事件,对于其余属性而言,只要是能造成对应的属性的属性值发生改变的事件均为目标事件,本申请不一一例举。
对于武器属性而言,在第一角色与玩家角色对玩时,检测到玩家角色对第一角色发起攻击以夺取其武器产生的目标事件,若第一角色的武器被夺取成功,则会触发新出生的角色发生进化,使得新出生的角色能够在玩家夺取其武器时及时逃走或者反击,具体是通过配置新出生的角色的逃避技能属性或者防御技能属性等实现。
可选地,第一检测模块包括:第一检测子模块,用于检测到玩家角色对第一角色发起攻击的第一事件,其中,第一事件用于减少第一角色的目标属性值至第一数值,第一数值小于第一角色的目标属性极大值,且不小于第一角色的目标属性极小值;第二检测子模块,用于检测到玩家角色对第一角色发起攻击的第二事件,其中,第二事件用于将第一角色的目标属性值降低第二数值,第二数值为正数。
上述的目标属性可以为用于指示生命、技能、武器、防御等的属性例如,对于生命属性而言,目标事件即用于减少生命属性的属性值的事件;对于技能属性而言,目标事件即用于夺取第一角色的技能属性、或者降低该技能属性对玩家角色伤害的事件;再如,对于武器属性而言,目标事件即用于夺取第一角色的武器、降低该武器带来的伤害或者损毁该武器的事件,对于其余属性而言,只要是能造成对应的属性的属性值发生改变的事件均为目标事件,本申请不一一例举。
对于武器属性而言,在第一角色与玩家角色对玩时,检测到玩家角色对第一角色发起攻击以夺取其武器产生的目标事件,若第一角色的武器被夺取成功,则会触发新出生的角色发生进化,使得新出生的角色能够在玩家夺取其武器时及时逃走或者反击,具体是通过配置新出生的角色的逃避技能属性或者防御技能属性等实现。
上述的第二数值表示当某个事件对第一角色造成固定伤害(即造成属性值减少第二数值的伤害)时,就会触发新出生的非玩家角色针对该事件发生进化,以避免该事件造成的伤害或者减小该事件的伤害。
在一个可选地实施例中,在获取与目标事件对应的配置信息之前,若每一次遭遇攻击事件都能为非玩家角色带来进化,那么就会造成非玩家角色过于强大,在游戏玩家角色与非玩家角色对战时,游戏难度过大,从而影响游戏玩家的体验,降低其玩游戏的兴趣。
为了克服上述问题,本申请的上述装置还可以包括:第二获取单元,用于在第一获取单元获取与目标事件对应的配置信息之前,获取与第一角色的等级对应的进化概率,其中,进化概率为允许第二角色获取用于应对目标事件的属性的概率;其中,在进化概率大于预设概率的情况下,指示第一获取单元获取与目标事件对应的配置信息。
在另一个可选地实施例中,第一获取单元包括:第一确定模块,用于确定用于应对目标事件第一属性,根据第一属性确定配置信息,其中,第一属性用于指示在目标事件发生的情况下,目标事件对第二角色的目标属性值的修改程度小于对第一角色的目标属性值的修改程度,配置信息用于配置第一属性的各个参数;第二确定模块,用于确定用于应对目标事件第二属性,根据第二属性确定配置信息,其中,第二属性用于指示在目标事件即将发生的情况下,执行用于避免目标事件发生的防御事件,配置信息用于配置第二属性的各个参数。
在实际应用中,可以根据实际需要确定是配置上述的第一属性还是第二属性,具体可以根据具体的目标事件确定。例如,对于由玩家发起的攻击事件(可能会造成非玩家角色掉血),此时就可以配置用户的防御属性(即第一属性),避免在受到攻击时掉血或者减少掉血;再如,对于用户发起的抢夺武器的目标事件,则可以配置非玩家角色的逃跑属性(即第二属性),在通过玩家角色的某些行为判断出其即将发起抢夺武器的目标事件时,触发非玩家角色的逃跑属性,逃跑远离玩家角色(即防御事件);再如,在非玩家角色触碰到障碍物(也即游戏环境对第一角色的目标属性值进行修改的目标事件)时,也可能对玩家的某些属性(如生命值)造成影响,此时也可能触发进化出第二属性,在新出生的非玩家角色触碰到障碍物之前,主动检测确定障碍物的位置,实时避让障碍物(即执行用于避免目标事件发生的防御事件),避免障碍物的伤害。
可选地,上述的配置第一属性和第二属性,可以是指新增第一属性或者第二属性,也可以是重新配置第一属性或者第二属性的属性参数,让对应的防御技能更强,例如加快逃跑的速度等。
在上述实施例中,在确定用于应对目标事件第一属性或第二属性时,可以参考其它玩家遇到相同事件的处理方式,进而确定哪些属性时第一属性或者第二属性。具体可以通过第一确定模块实现,第一确定模块还用于在检测到关联于玩家角色的目标事件被执行时,在目标事件对玩家角色的目标属性值的修改程度小于对第一角色的目标属性值的修改程度的情况下,保存玩家角色在应对目标事件时所使用的属性为第一属性,并保存玩家角色所使用的属性的各个参数。
可选地,在确定用于应对目标事件第一属性或第二属性时,也可以由游戏开发商自己定义用于应付目标事件的技能属性。
可选地,配置单元还用于在生成第二角色时,使用配置信息对同时生成的多个第二角色的属性进行配置,其中,多个第二角色归属于同一等级,且多个第二角色用于补充至游戏中。
相关技术中的进化思路都是基于AI个体的设计,每个AI个体在出生时所具备的技能属性都是完全相同的,AI个体在训练过程中提升,随着AI个体在训练中的提升,其外观等也会产生相应的变化,这样用户就可以根据其外观等判断个体AI的战斗力等信息,从而采用针对性的处理方式。
在本申请中,每一代新出生的AI个体都是参照已死亡的AI(或者受到过攻击的AI)的经验进化出相应的技能属性,这就会造成每一代AI的技能属性各不相同,实现了对AI种群进行进化的设计,这样在游戏玩家与AI进行对战时,就无法判断出AI技能的高低。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图3所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例3
根据本发明实施例,还提供了一种用于实施上述角色的配置方法的服务器或终端。
图10是根据本发明实施例的一种终端的结构框图,如图10所示,该终端可以包括:一个或多个(图中仅示出一个)处理器1001、存储器1003、以及传输装置1005(如上述实施例中的发送装置),如图10所示,该终端还可以包括输入输出设备1007。
其中,存储器1003可用于存储软件程序以及模块,如本发明实施例中的角色的配置方法和装置对应的程序指令/模块,处理器1001通过运行存储在存储器1003内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的角色的配置方法。存储器1003可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1003可进一步包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置1005用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置1005包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置1005为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器1003用于存储应用程序。
处理器1001可以通过传输装置1005调用存储器1003存储的应用程序,以执行下述步骤:检测到游戏中与第一角色关联的目标事件,其中,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;获取与目标事件对应的配置信息,其中,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;在生成第二角色时,使用配置信息对第二角色进行配置。
采用本发明实施例,在检测到游戏中对第一角色发起的目标事件时,获取与目标事件对应的配置信息,并通过该配置信息对生成的第二角色进行配置,以使配置后的第二角色在应对目标事件时,减小目标事件对第二角色的目标属性值的修改程度,这样,随着非玩家角色的进化,每一次出生的新角色虽然具备相同的初始外形,但是会具备新的技能属性,对于游戏中的大量非玩家角色,由于出生时间不同,其所具备的技能属性也不尽相同,在应对相同的事件时所使用的技能属性也不相同,使得游戏角色不能通过多次尝试之后,确定非玩家角色在应对固定事件时采用的技能属性,可以解决了相关技术中人工智能角色的运行机制能够被知晓的技术问题,进而达到避免人工智能角色的运行机制被知晓的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图10所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,终端还可包括比图10中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图10所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行角色的配置方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,检测到游戏中与第一角色关联的目标事件,第一角色为在游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,目标事件用于指示修改第一角色的目标属性值;
S2,获取与目标事件对应的配置信息,配置信息用于配置第二角色,以使配置后的第二角色在应对目标事件时,目标事件对第二角色的目标属性值的修改程度小于第一角色在应对目标事件时对第一角色的目标属性值的修改程度,第二角色为游戏中待生成的非玩家角色;
S3,在生成第二角色时,使用配置信息对第二角色进行配置。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (12)
1.一种角色的配置方法,其特征在于,包括:
检测到游戏中与第一角色关联的目标事件,其中,所述第一角色为在所述游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,所述目标事件用于指示修改所述第一角色的目标属性值,所述目标事件为能够造成所述第一角色的目标属性受到伤害的事件;
获取与所述目标事件对应的配置信息,其中,所述配置信息用于配置第二角色,以使配置后的所述第二角色在应对所述目标事件时,所述目标事件对所述第二角色的目标属性值的修改程度小于所述第一角色在应对所述目标事件时对所述第一角色的目标属性值的修改程度,所述第二角色为所述游戏中待生成的非玩家角色,在获取与所述目标事件对应的配置信息之前,获取与所述第一角色的等级对应的进化概率,所述进化概率为允许所述第二角色获取用于应对所述目标事件的属性的概率,在所述进化概率大于预设概率的情况下,执行获取与所述目标事件对应的配置信息的步骤;
在生成所述第二角色时,使用所述配置信息对所述第二角色进行配置,其中,所述第二角色为生成的所述第一角色的下一等级的非玩家角色,不同等级的非玩家角色在应对相同的事件时所使用的技能属性不相同。
2.根据权利要求1所述的方法,其特征在于,获取与所述目标事件对应的配置信息包括:
确定用于应对所述目标事件第一属性,根据所述第一属性确定所述配置信息,其中,所述第一属性用于指示在所述目标事件发生的情况下,所述目标事件对所述第二角色的目标属性值的修改程度小于对所述第一角色的目标属性值的修改程度,所述配置信息用于配置所述第一属性的各个参数;和/或
确定用于应对所述目标事件第二属性,根据所述第二属性确定所述配置信息,其中,所述第二属性用于指示在所述目标事件即将发生的情况下,执行用于避免所述目标事件发生的防御事件,所述配置信息用于配置所述第二属性的各个参数。
3.根据权利要求2所述的方法,其特征在于,确定用于应对所述目标事件第一属性包括:
在检测到关联于所述玩家角色的所述目标事件被执行时,在所述目标事件对所述玩家角色的目标属性值的修改程度小于对所述第一角色的目标属性值的修改程度的情况下,保存所述玩家角色在应对所述目标事件时所使用的属性为所述第一属性,并保存所述玩家角色所使用的属性的各个参数。
4.根据权利要求1所述的方法,其特征在于,在生成所述第二角色时,使用所述配置信息对所述第二角色进行配置包括:
在生成所述第二角色时,使用所述配置信息对同时生成的多个所述第二角色的属性进行配置,其中,多个所述第二角色归属于同一等级,且多个所述第二角色用于补充至所述游戏中。
5.根据权利要求1所述的方法,其特征在于,检测游戏中第一角色关联的目标事件包括:
在所述第一角色与所述玩家角色对玩时,检测到所述玩家角色对所述第一角色发起攻击产生的所述目标事件;
在所述第一角色处于所述游戏的地图中的目标位置时,检测到所述目标位置的游戏环境对所述第一角色的所述目标属性值进行修改的所述目标事件。
6.根据权利要求5所述的方法,其特征在于,检测到所述玩家角色对所述第一角色发起攻击产生的所述目标事件包括:
检测到所述玩家角色对所述第一角色发起攻击的第一事件,其中,所述第一事件用于减少所述第一角色的所述目标属性值至第一数值,所述第一数值小于所述第一角色的目标属性极大值,且不小于所述第一角色的目标属性极小值;和/或,
检测到所述玩家角色对所述第一角色发起攻击的第二事件,其中,所述第二事件用于将所述第一角色的所述目标属性值降低第二数值,所述第二数值为正数。
7.根据权利要求6所述的方法,其特征在于,检测到所述玩家角色对所述第一角色发起攻击的第一事件包括:
检测由所述玩家角色发起的,且用于减少所述第一角色的所述目标属性值至所述目标属性极小值的所述第一事件。
8.一种角色的配置装置,其特征在于,包括:
检测单元,用于检测到游戏中与第一角色关联的目标事件,其中,所述第一角色为在所述游戏中生成的采用人工智能与玩家角色对玩的非玩家角色,所述目标事件用于指示修改所述第一角色的目标属性值,所述目标事件为能够造成所述第一角色的目标属性受到伤害的事件;
第一获取单元,用于获取与所述目标事件对应的配置信息,其中,所述配置信息用于配置第二角色,以使配置后的所述第二角色在应对所述目标事件时,所述目标事件对所述第二角色的目标属性值的修改程度小于所述第一角色在应对所述目标事件时对所述第一角色的目标属性值的修改程度,所述第二角色为所述游戏中待生成的非玩家角色;
配置单元,用于在生成所述第二角色时,使用所述配置信息对所述第二角色进行配置,其中,所述第二角色为生成的所述第一角色的下一等级的非玩家角色,不同等级的非玩家角色在应对相同的事件时所使用的技能属性不相同;
第二获取单元,用于在所述第一获取单元获取与所述目标事件对应的配置信息之前,获取与所述第一角色的等级对应的进化概率,其中,所述进化概率为允许所述第二角色获取用于应对所述目标事件的属性的概率;其中,在所述进化概率大于预设概率的情况下,指示所述第一获取单元获取与所述目标事件对应的配置信息。
9.根据权利要求8所述的装置,其特征在于,所述第一获取单元包括:
第一确定模块,用于确定用于应对所述目标事件第一属性,根据所述第一属性确定所述配置信息,其中,所述第一属性用于指示在所述目标事件发生的情况下,所述目标事件对所述第二角色的目标属性值的修改程度小于对所述第一角色的目标属性值的修改程度,所述配置信息用于配置所述第一属性的各个参数;和/或
第二确定模块,用于确定用于应对所述目标事件第二属性,根据所述第二属性确定所述配置信息,其中,所述第二属性用于指示在所述目标事件即将发生的情况下,执行用于避免所述目标事件发生的防御事件,所述配置信息用于配置所述第二属性的各个参数。
10.根据权利要求9所述的装置,其特征在于,所述第一确定模块还用于在检测到关联于所述玩家角色的所述目标事件被执行时,在所述目标事件对所述玩家角色的目标属性值的修改程度小于对所述第一角色的目标属性值的修改程度的情况下,保存所述玩家角色在应对所述目标事件时所使用的属性为所述第一属性,并保存所述玩家角色所使用的属性的各个参数。
11.根据权利要求8所述的装置,其特征在于,所述配置单元还用于在生成所述第二角色时,使用所述配置信息对同时生成的多个所述第二角色的属性进行配置,其中,多个所述第二角色归属于同一等级,且多个所述第二角色用于补充至所述游戏中。
12.根据权利要求8所述的装置,其特征在于,所述检测单元包括:
第一检测模块,用于在所述第一角色与所述玩家角色对玩时,检测到所述玩家角色对所述第一角色发起攻击产生的所述目标事件;
第二检测模块,用于在所述第一角色处于所述游戏的地图中的目标位置时,检测到所述目标位置的游戏环境对所述第一角色的所述目标属性值进行修改的所述目标事件。
Priority Applications (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710261467.5A CN107019912B (zh) | 2017-04-20 | 2017-04-20 | 角色的配置方法和装置 |
KR1020197020698A KR102348015B1 (ko) | 2017-04-20 | 2018-04-10 | 캐릭터 구성 방법 및 장치, 저장 매체 및 전자 장치 |
PCT/CN2018/082513 WO2018192395A1 (zh) | 2017-04-20 | 2018-04-10 | 角色的配置方法及装置、存储介质以及电子装置 |
EP18788559.5A EP3613482A4 (en) | 2017-04-20 | 2018-04-10 | CHARACTER CONFIGURATION METHOD AND APPARATUS, STORAGE MEDIA AND ELECTRONIC APPARATUS |
MA051444A MA51444A (fr) | 2017-04-20 | 2018-04-10 | Procédé et appareil de configuration de personnage, support de stockage et appareil électronique |
JP2019534753A JP7187460B2 (ja) | 2017-04-20 | 2018-04-10 | キャラクターの配置方法及び装置、記憶媒体並びに電子装置 |
US16/445,694 US11620536B2 (en) | 2017-04-20 | 2019-06-19 | Character configuration method and apparatus, storage medium, and electronic apparatus |
US18/107,918 US12026629B2 (en) | 2017-04-20 | 2023-02-09 | Generation-based evolution of non-player characters in a game |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710261467.5A CN107019912B (zh) | 2017-04-20 | 2017-04-20 | 角色的配置方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107019912A CN107019912A (zh) | 2017-08-08 |
CN107019912B true CN107019912B (zh) | 2020-12-01 |
Family
ID=59526434
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710261467.5A Active CN107019912B (zh) | 2017-04-20 | 2017-04-20 | 角色的配置方法和装置 |
Country Status (7)
Country | Link |
---|---|
US (1) | US11620536B2 (zh) |
EP (1) | EP3613482A4 (zh) |
JP (1) | JP7187460B2 (zh) |
KR (1) | KR102348015B1 (zh) |
CN (1) | CN107019912B (zh) |
MA (1) | MA51444A (zh) |
WO (1) | WO2018192395A1 (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107019912B (zh) * | 2017-04-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 角色的配置方法和装置 |
CN107450957B (zh) * | 2017-08-09 | 2020-10-27 | 网易(杭州)网络有限公司 | 游戏配置的处理方法、装置、存储介质、处理器及终端 |
CN107694091A (zh) * | 2017-08-23 | 2018-02-16 | 杭州电魂网络科技股份有限公司 | 游戏数据处理方法及系统 |
CN107890675A (zh) * | 2017-11-13 | 2018-04-10 | 杭州电魂网络科技股份有限公司 | Ai行为实现方法和装置 |
CN108211357A (zh) * | 2018-01-15 | 2018-06-29 | 腾讯科技(上海)有限公司 | 虚拟控制对象的控制方法、装置、存储介质和电子装置 |
US20190385090A1 (en) * | 2018-06-14 | 2019-12-19 | Honeywell International Inc. | Systems and methods for using artificial intelligence models to identify a current threat scenario |
CN110215710B (zh) * | 2019-06-05 | 2023-04-14 | 网易(杭州)网络有限公司 | 游戏中事件确定方法及装置、电子设备和存储介质 |
CN110292773B (zh) * | 2019-07-04 | 2023-03-21 | 珠海西山居数字科技有限公司 | 一种角色运动跟随方法及装置、计算设备及存储介质 |
KR102579203B1 (ko) * | 2019-12-31 | 2023-09-15 | 한국전자통신연구원 | 게임 결과 예측 장치 및 방법 |
CN111760294B (zh) * | 2020-07-07 | 2023-10-13 | 网易(上海)网络有限公司 | 控制游戏中非玩家游戏角色的方法及装置 |
CN112774200B (zh) * | 2021-01-22 | 2023-05-09 | 北京字跳网络技术有限公司 | 角色交互控制方法、装置、计算机设备以及存储介质 |
US11724194B2 (en) * | 2021-07-28 | 2023-08-15 | Blizzard Entertainment, Inc. | Initial results of a reinforcement learning model using a heuristic |
CN113577781B (zh) * | 2021-07-30 | 2023-06-16 | 腾讯科技(深圳)有限公司 | 非玩家角色npc的控制方法、装置、设备及介质 |
JP7295999B1 (ja) | 2022-07-22 | 2023-06-21 | 株式会社Cygames | プログラム、情報処理装置、方法、及びシステム |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102160080A (zh) * | 2008-07-22 | 2011-08-17 | 索尼在线娱乐有限公司 | 用于在仿真中进展角色能力的系统和方法 |
CN104102522A (zh) * | 2014-07-30 | 2014-10-15 | 厦门大学 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7452279B2 (en) * | 2001-08-09 | 2008-11-18 | Kabushiki Kaisha Sega | Recording medium of game program and game device using card |
KR100850913B1 (ko) * | 2006-12-05 | 2008-08-07 | 한국전자통신연구원 | 게임 캐릭터 형성방법 |
US20100056275A1 (en) * | 2008-09-04 | 2010-03-04 | United States Of America As Represented By The Secretary Of The Army | Massively Multiplayer Online Game Technologies |
KR101231798B1 (ko) * | 2009-04-30 | 2013-02-08 | 한국전자통신연구원 | 게임 난이도 조절 장치 및 방법 |
JP5735472B2 (ja) | 2012-10-26 | 2015-06-17 | 株式会社 ディー・エヌ・エー | ゲーム提供装置 |
CN103472756A (zh) * | 2013-09-27 | 2013-12-25 | 腾讯科技(深圳)有限公司 | 一种实现人工智能的方法、服务器和设备 |
US9452363B2 (en) * | 2013-10-18 | 2016-09-27 | Sony Interactive Entertainment America Llc | Multi-player video game environment for single-player use |
US10926179B2 (en) * | 2015-03-26 | 2021-02-23 | Warner Bros. Entertainment Inc. | Nemesis characters, nemesis forts, social vendettas and followers in computer games |
JP5827434B2 (ja) * | 2015-04-13 | 2015-12-02 | グリー株式会社 | コンピュータプログラム、ゲームシステム、及びその制御方法 |
US10213688B2 (en) * | 2015-08-26 | 2019-02-26 | Warner Bros. Entertainment, Inc. | Social and procedural effects for computer-generated environments |
CN105561578A (zh) * | 2015-12-11 | 2016-05-11 | 北京像素软件科技股份有限公司 | 一种非玩家控制角色npc的行为决策方法 |
CN106371797A (zh) * | 2016-08-31 | 2017-02-01 | 腾讯科技(深圳)有限公司 | 配置音效的方法及装置 |
CN106390456B (zh) * | 2016-09-30 | 2018-09-18 | 腾讯科技(深圳)有限公司 | 游戏中角色行为的生成方法和装置 |
CN107019912B (zh) * | 2017-04-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 角色的配置方法和装置 |
-
2017
- 2017-04-20 CN CN201710261467.5A patent/CN107019912B/zh active Active
-
2018
- 2018-04-10 MA MA051444A patent/MA51444A/fr unknown
- 2018-04-10 WO PCT/CN2018/082513 patent/WO2018192395A1/zh unknown
- 2018-04-10 JP JP2019534753A patent/JP7187460B2/ja active Active
- 2018-04-10 KR KR1020197020698A patent/KR102348015B1/ko active IP Right Grant
- 2018-04-10 EP EP18788559.5A patent/EP3613482A4/en active Pending
-
2019
- 2019-06-19 US US16/445,694 patent/US11620536B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102160080A (zh) * | 2008-07-22 | 2011-08-17 | 索尼在线娱乐有限公司 | 用于在仿真中进展角色能力的系统和方法 |
CN104102522A (zh) * | 2014-07-30 | 2014-10-15 | 厦门大学 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018192395A1 (zh) | 2018-10-25 |
CN107019912A (zh) | 2017-08-08 |
KR102348015B1 (ko) | 2022-01-05 |
US20190303769A1 (en) | 2019-10-03 |
EP3613482A1 (en) | 2020-02-26 |
MA51444A (fr) | 2020-02-26 |
EP3613482A4 (en) | 2020-11-04 |
KR20190097177A (ko) | 2019-08-20 |
JP7187460B2 (ja) | 2022-12-12 |
US11620536B2 (en) | 2023-04-04 |
US20230186110A1 (en) | 2023-06-15 |
JP2020504653A (ja) | 2020-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107019912B (zh) | 角色的配置方法和装置 | |
CN109499068B (zh) | 对象的控制方法和装置、存储介质、电子装置 | |
WO2022033209A1 (zh) | 虚拟角色的控制方法、装置、存储介质及计算机设备 | |
Bakkes et al. | Rapid and reliable adaptation of video game AI | |
CN108228251B (zh) | 游戏应用中控制目标对象的方法和装置 | |
CN107103089A (zh) | 对象的匹配方法和装置 | |
US20170340972A1 (en) | Aggregating and utilizing meta-game data for artificial intelligence in video games | |
CN112870721B (zh) | 一种游戏互动方法、装置、设备及存储介质 | |
CN111450533A (zh) | 虚拟场景中的虚拟对象控制方法、装置、终端及存储介质 | |
CN113134240A (zh) | 游戏成绩更新方法、装置和电子设备 | |
JP5784363B2 (ja) | ゲーム装置、ゲーム制御方法、及びゲーム制御プログラム | |
JP2020074840A (ja) | ゲームプログラム、情報処理装置、ゲーム処理方法、およびゲームシステム | |
CN110102047B (zh) | 游戏操作处理方法和装置、游戏效果展示方法和装置 | |
CN111359207B (zh) | 虚拟道具的操作方法、装置、存储介质及电子装置 | |
US11117059B2 (en) | Non-transitory computer readable media, information processing device, and control method | |
US12026629B2 (en) | Generation-based evolution of non-player characters in a game | |
CN116510300A (zh) | 游戏角色的行为控制方法、装置和电子设备 | |
KR20220157930A (ko) | 가상 보상 자원에 대한 할당 방법 및 장치, 전자 장치, 컴퓨터 판독 가능 저장 매체 및 컴퓨터 프로그램 제품 | |
CN111389010B (zh) | 虚拟机器人训练方法、装置、电子设备和介质 | |
CN112948240A (zh) | 游戏的回归测试方法、装置、设备及存储介质 | |
KR20140032541A (ko) | 온라인 모바일 게임에서 통신장애시 게임인공지능으로 전환하는 방법 | |
CN115193050A (zh) | 基于游戏虚拟环境的团队站位的推荐方法及相关设备 | |
CN111569430B (zh) | 游戏决策模型的训练方法、装置、电子设备和存储介质 | |
US20240226740A9 (en) | Method and apparatus for in-game information interaction, and electronic device | |
US20240131431A1 (en) | Method and apparatus for in-game information interaction, and electronic device |
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 |