CN102298673A - 一种非玩家控制角色的行为决策方法 - Google Patents

一种非玩家控制角色的行为决策方法 Download PDF

Info

Publication number
CN102298673A
CN102298673A CN2011102810279A CN201110281027A CN102298673A CN 102298673 A CN102298673 A CN 102298673A CN 2011102810279 A CN2011102810279 A CN 2011102810279A CN 201110281027 A CN201110281027 A CN 201110281027A CN 102298673 A CN102298673 A CN 102298673A
Authority
CN
China
Prior art keywords
npc
behavior
objective function
decision making
player
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.)
Pending
Application number
CN2011102810279A
Other languages
English (en)
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.)
Beijing Pixel Software Technology Co Ltd
Original Assignee
Beijing Pixel Software Technology 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 Beijing Pixel Software Technology Co Ltd filed Critical Beijing Pixel Software Technology Co Ltd
Priority to CN2011102810279A priority Critical patent/CN102298673A/zh
Publication of CN102298673A publication Critical patent/CN102298673A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种非玩家控制角色NPC的行为决策方法,该方法包括:预先根据NPC行为的目的确定NPC行为决策的目标函数和约束条件;在进行NPC的行为决策时,根据所述目标函数和约束条件,通过模拟退火算法对所述目标函数进行最优化求解;根据所述求解过程得到的最优解确定NPC的行为。该方法能够使NPC的互动行为更加智能。

Description

一种非玩家控制角色的行为决策方法
技术领域
本发明涉及计算机技术领域,特别涉及一种非玩家控制角色(NPC)的行为决策方法。 
背景技术
当前网络游戏中大量存在NPC;这些NPC是根据游戏内容的需要设计的一些能够与玩家进行互动的虚拟角色;其任务是与玩家进行一些互动行为,对玩家的行为进行响应,例如帮助玩家共同作战或者是攻击接近的玩家等等。 
要实现NPC与玩家互动,现有方法一般是在进行NPC的行为决策时,根据某一个或多个决策参数作为行为决策依据,预先设置这些决策参数的数值与具体行为之间的对应关系,当前决策参数的值对应哪个行为,就执行哪个行为,从而实现互动。 
然而,这样的行为决策过于简单,通常不够智能,最终实现的互动效果比较固定和单一,容易被玩家掌握规律,从而使玩家失去互动的兴趣,降低玩家的游戏体验。 
发明内容
有鉴于此,本发明提供了一种NPC的行为决策方法,能够使NPC的互动行为更加智能。 
为达上述目的,本发明的技术方案具体是这样实现的: 
一种非玩家控制角色NPC的行为决策方法,该方法包括: 
预先根据NPC行为的目的确定NPC行为决策的目标函数和约束条件; 
在进行NPC的行为决策时,根据所述目标函数和约束条件,通过模拟退火算法对所述目标函数进行最优化求解; 
根据所述求解过程得到的最优解确定NPC的行为。 
较佳地,所述对目标函数进行最优化求解时,进一步结合遗传算法。 
较佳地,该方法进一步包括: 
所述确定NPC的行为之后,进一步根据所述行为的结果计算训练参数; 
根据所述训练参数对所述目标函数进行修正。 
较佳地,所述NPC的行为包括:多个NPC对多个玩家的攻击配对。 
由上述技术方案可见,本发明的这种NPC的行为决策方法,将NPC的行为决策问题,转化为对目标函数和约束条件进行最优化求解的问题,通过模拟退火算法对目标函数的最优化求解,所得到的决策方案,相比简单的数值判断决策方式,可以得到更加智能的决策方案。 
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明进一步详细说明。 
本发明主要是预先根据NPC行为的最终目的确定NPC行为决策的目标函数和约束条件,在进行NPC的行为决策时,根据所述目标函数和约束条件,通过模拟退火算法进行最优化求解,并根据求得的解确定NPC的行为。 
例如在游戏中,若干个玩家进入某副本,与其中的若干个NPC对战,此时所有的NPC都需要与若干个玩家进行战斗行为的决策,例如哪个NPC攻击哪个玩家等等,战斗行为的最终目的是对玩家造成最大的伤害,从而击败玩家;那么NPC如何才能对玩家造成最大的伤害就是NPC行为的最终目的,NPC具体采用什么攻击配对方式(哪个NPC攻击哪个玩家)才会对玩家造成最大的伤害就是要解决的最优化问题。 
对于这个问题,现有的方法一般是简单地根据玩家的血量、攻击力、防御力等参数进行简单判断来决策,比如多个玩家中,优先以当前血量数值最低作为选择攻击的目标。 
而在本发明中,则要确定伤害最大化问题的目标函数时,可以对NPC及玩 家对战的态势进行分析,将协同多目标攻击的决策问题转化为NPC对玩家攻击配对方式的最优化问题,通过建立攻击效能评估模型来确定目标函数和约束条件。再通过模拟退火算法对确定的目标函数进行最优化,寻找最优解;通过求得最优解确定多个NPC与多个玩家之间如何分配攻击目标,从而得到NPC攻击配对方式的决策方案。 
另外,在确定目标函数时,还可以引入自反馈神经网络训练参数,自反馈神经网络训练参数是一种根据NPC历史数据为基础得到的可变参数,该参数会根据NPC历史数据的变化而变化。在每次决策完毕,即通过目标函数求得最优解之后,可以根据实施决策得到的战斗结果计算新的训练参数,根据新的训练参数对原目标函数进行修正,得到修正后的目标函数;这样就可以使NPC通过以往行为的结果所积累下的经验,不断强化自身优势,使得不同NPC可以根据不同的行为经历拥有不同的行为特点,如同人的不同性格,使得NPC的行为更加智能。 
对于上述攻击配对决策的具体决策实现方式如下: 
一、确定目标函数 
1、行为目的分析 
假设副本中各种不同类型NPC数量和为N个;玩家数量为M个。N、M均为正整数。现在需要进行攻击配对的决策,即哪个NPC攻击哪个玩家,NPC行为的为使所有NPC对于所有玩家的攻击效果最大化; 
其中,NPC标记为NPC={NPCi,i=1,2...N}; 
玩家标记为PLAYER={PLAYERj,j=1,2...M} 
在对战中,可以把NPC的攻击效果定义为以下模型: 
Figure BSA00000577828700031
其中,Pij(i∈N,j∈M)表示NPCi对PLAYERj造成的攻击效果;pijt为攻击效果的影响因素,比如双方等级差、攻击力、防御力等等属性;T为影响因素的个数; 
Figure BSA00000577828700032
为攻击效果影响因素pijt的权重值,且 
Figure BSA00000577828700033
满足 
Figure BSA00000577828700034
即 所有的权重值的总和为1。 
Figure BSA00000577828700041
可以是一个预先设定的定值,也可以依据NPCi的自反馈神经网络训练参数计算得到。使用固定值可以简化计算保证效率,而为了更好的体现NPC的特点,使NPC的行为决策更加智能,例如,某个NPC具有一种技能,该技能释放距离很远,这样在多个NPC协同作战中,他的优势就是距离,擅长远距离攻击,这时他的位置影响因素的权重相比较而言就应该比较大,从而突出他的远距离攻击特点和远距离优势,而为了体现这一点,除了人为将该NPC的位置影响因素的权重增大以外,更方便,更好的方法就是自反馈神经网络训练,使得该权重可以根据NPC的历史战绩数据进行修正,使之自动适应为一个合适的值。自反馈神经网络训练在具体实现时,不需要知道每个影响因素之间的评价原理,通过历史战绩结果进行相应的计算,可以直接得到修正后的参数,这样对于数据处理也是最好的选择,不需要在数据库中存储过量的数据。 
在本例中,在每次NPC战斗结束时,可以根据NPC战斗的时间和消灭玩家数量来评估NPC的战斗力,存活时间越长,消灭玩家数量越多,便认为是NPC在此次战斗中发挥越为出色(当然这其中存在其他情况,但是长期训练中这种情况的影响因素可以被忽略),通过这种反馈方法对NPC的 
Figure BSA00000577828700042
进行训练。 
训练的具体方法如下: 
将 
Figure BSA00000577828700043
作为自反馈神经网络的输入端,并且以坚持时间以及杀死玩家数量同时作为两个输入参数进行训练,而输出参数只要通过归一化后则是新的 
Figure BSA00000577828700044
通过此种自反馈神经网络进行数据训练。 
由于自反馈神经网络实现复杂,代码量较大,对于不同的训练方式,其具体训练的方法都不同,这里仅举例一种简易的自反馈神经网络算法来针对该问题。算法如下: 
Figure BSA00000577828700051
Figure BSA00000577828700053
其中: 
Figure BSA00000577828700055
表示NPC的参数,αi,βi为自反馈神经网络的训练参数,自反馈神经网络所用函数为简单的求和函数 
Figure BSA00000577828700056
和 
Figure BSA00000577828700057
输出有两个值,output1和output2;这两个值对应的意义是NPC战斗时间以及杀死玩家数量。这样通过战斗结果去训练其中的参数αi,βi,使得参数更加准确的描述输入参数和输出的关系。训练方法为解方程组的其中一组任意解: 
其中output1’及output2’分别表示上次战斗的output1及output2的值,解出的αi,βi记为新的神经网络参数,更新神经网络参数,并且在现有的新神经网络中求出新的 
Figure BSA00000577828700059
求解方法为:任意增大其中 
Figure BSA000005778287000510
的值为任意值,重新放入神经网络中训练,只要输出的值比现有的结果大,则将 
Figure BSA000005778287000511
结果更新为新的 
Figure BSA000005778287000512
值。这就是通过神经网络的方法自反馈的训练NPC参数。 
对于影响因素pijt的确定,可以根据计算量和网络压力而定。 
以下举几个例子: 
1.位置影响因素: 
Figure BSA000005778287000513
dis为玩家和NPC之间的距离。 
2.生命力影响因素: 
p ij 2 = Pr i Pr i + Pr j (Pr表示生命) 
p ij 3 = Pb i Pb i + Pb j (Pb表示法力) 
p ij 4 = Pw i Pw i + Pw j (Pw表示体力) 
3.属性影响因素: 
Figure BSA00000577828700064
(Pn表示属性),属性可以包括NPC的力量,体魄,元神,筋骨,定神,迷惑,流失,削弱等等属性数据或状态,可扩充为填表勾选是否参与计算。 
4.冷却(CD)影响因素,技能CD影响玩家发动技能的频率,可看作反应速度: 
p ijn = 1 - T i T i + T j (T表示CD时长) 
根据以上描述可知范围Pij∈[0,1],可以将Pij看作是NPCi对PLAYERj造成的攻击效果的数值表示。 
2、模型建立 
从上面的分析中可以得出最优化的模型: 
NPC希望决策结果能够对玩家造成最大的杀伤效果,因此可以构建以下的决策矩阵: 
(sij∈[0,1]表示攻击力度) 
Figure BSA00000577828700067
表示NPCi对所有玩家造成的伤害值。 
Figure BSA00000577828700071
表示所有NPC对玩家造成的伤害值。 
并且选择最优策略,我们希望NPC对玩家的伤害最大化,从而我们可以得到如下的目标函数和约束条件: 
目标函数: 
MAX ( &Sigma; i = 1 i < N &Sigma; j = 1 j < M P ij * s ij )
约束条件: 
Figure BSA00000577828700073
(i=1,2...N),表示NPC总攻击力为1。 
二、对目标函数最优化求解 
最优化求解问题可以利用模拟退火算法使得求解过程以最快速度下降,但是模拟退火算法在求解初期下降比较慢,所以为了提高效率,也可以进一步采用遗传算法和模拟退火算法结合的算法,从而以最快速度得到最优化的解。 
模拟退火算法和遗传算法为成熟算法,具体的算法实现这里就不再详述了,通过模拟退火算法或模拟退火算法与遗传算法的结合,可求得到上述决策矩阵中的每个项的值,即可获得每个NPC对每一个玩家的具体配对攻击方式,完成决策。 
由上述的实施例可见,本发明的这种NPC的行为决策方法,将NPC的行为决策问题,转化为对目标函数和约束条件进行最优化求解的问题,通过模拟退火算法对目标函数的最优化求解,所得到的决策方案,相比简单的数值判断决策方式,可以得到更加智能的决策方案。另外,通过自反馈神经网络训练参数的引入,则可以进一步加强决策的智能性,在求解过程中结合遗传算法,则还可以提高求解的效率。 
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。 

Claims (4)

1.一种非玩家控制角色NPC的行为决策方法,其特征在于,该方法包括:
预先根据NPC行为的目的确定NPC行为决策的目标函数和约束条件;
在进行NPC的行为决策时,根据所述目标函数和约束条件,通过模拟退火算法对所述目标函数进行最优化求解;
根据所述求解过程得到的最优解确定NPC的行为。
2.如权利要求1所述的NPC的行为决策方法,其特征在于,所述对目标函数进行最优化求解时,进一步结合遗传算法。
3.如权利要求1所述的NPC的行为决策方法,其特征在于,该方法进一步包括:
所述确定NPC的行为之后,进一步根据所述行为的结果计算训练参数;
根据所述训练参数对所述目标函数进行修正。
4.如权利要求1所述的NPC的行为决策方法,其特征在于,所述NPC的行为包括:多个NPC对多个玩家的攻击配对。
CN2011102810279A 2011-09-20 2011-09-20 一种非玩家控制角色的行为决策方法 Pending CN102298673A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011102810279A CN102298673A (zh) 2011-09-20 2011-09-20 一种非玩家控制角色的行为决策方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011102810279A CN102298673A (zh) 2011-09-20 2011-09-20 一种非玩家控制角色的行为决策方法

Publications (1)

Publication Number Publication Date
CN102298673A true CN102298673A (zh) 2011-12-28

Family

ID=45359084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011102810279A Pending CN102298673A (zh) 2011-09-20 2011-09-20 一种非玩家控制角色的行为决策方法

Country Status (1)

Country Link
CN (1) CN102298673A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446742A (zh) * 2015-12-11 2016-03-30 珠海金山网络游戏科技有限公司 一种人工智能执行任务的优化方法
CN105561578A (zh) * 2015-12-11 2016-05-11 北京像素软件科技股份有限公司 一种非玩家控制角色npc的行为决策方法
CN107890674A (zh) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 Ai行为调用方法和装置
CN109107159A (zh) * 2018-08-13 2019-01-01 深圳市腾讯网络信息技术有限公司 一种应用对象属性的配置方法、装置、设备及介质
CN110141867A (zh) * 2019-04-23 2019-08-20 广州多益网络股份有限公司 一种游戏智能体训练方法及装置
CN111372661A (zh) * 2017-09-29 2020-07-03 索尼互动娱乐有限责任公司 用好友虚拟形象增强虚拟现实视频游戏

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350673A (ja) * 2005-06-15 2006-12-28 Fuji Electric Systems Co Ltd 最適化計算システム
CN101158897A (zh) * 2007-10-09 2008-04-09 南京大学 交互式游戏中智能非玩家角色的实现方法及系统
CN101908097A (zh) * 2010-07-13 2010-12-08 北京航空航天大学 一种空战决策的粒子群优化方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006350673A (ja) * 2005-06-15 2006-12-28 Fuji Electric Systems Co Ltd 最適化計算システム
CN101158897A (zh) * 2007-10-09 2008-04-09 南京大学 交互式游戏中智能非玩家角色的实现方法及系统
CN101908097A (zh) * 2010-07-13 2010-12-08 北京航空航天大学 一种空战决策的粒子群优化方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
《全国第20届计算机技术与应用学术会议(CACIS•2009)暨全国第1届安全关键技术与应用学术会议论文集(上册)》 20091231 左宏涛 等 基于改进遗传算法的足球机器人角色分配 第313-317页 1-4 , *
左宏涛 等: "基于改进遗传算法的足球机器人角色分配", 《全国第20届计算机技术与应用学术会议(CACIS•2009)暨全国第1届安全关键技术与应用学术会议论文集(上册)》, 31 December 2009 (2009-12-31), pages 313 - 317 *
罗德林 等: "无人机协同多目标攻击空战决策研究", 《系统仿真学报》, vol. 20, no. 24, 31 December 2008 (2008-12-31), pages 6778 - 6782 *
韩双 等: "舰艇编队作战系统的武器目标分配问题", 《火力与指挥控制》, vol. 34, no. 2, 28 February 2009 (2009-02-28), pages 32 - 35 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105446742A (zh) * 2015-12-11 2016-03-30 珠海金山网络游戏科技有限公司 一种人工智能执行任务的优化方法
CN105561578A (zh) * 2015-12-11 2016-05-11 北京像素软件科技股份有限公司 一种非玩家控制角色npc的行为决策方法
CN105446742B (zh) * 2015-12-11 2019-02-12 珠海金山网络游戏科技有限公司 一种人工智能执行任务的优化方法
CN111372661A (zh) * 2017-09-29 2020-07-03 索尼互动娱乐有限责任公司 用好友虚拟形象增强虚拟现实视频游戏
CN111372661B (zh) * 2017-09-29 2024-04-19 索尼互动娱乐有限责任公司 用好友虚拟形象增强虚拟现实视频游戏
CN107890674A (zh) * 2017-11-13 2018-04-10 杭州电魂网络科技股份有限公司 Ai行为调用方法和装置
CN109107159A (zh) * 2018-08-13 2019-01-01 深圳市腾讯网络信息技术有限公司 一种应用对象属性的配置方法、装置、设备及介质
CN109107159B (zh) * 2018-08-13 2019-12-10 深圳市腾讯网络信息技术有限公司 一种应用对象属性的配置方法、装置、设备及介质
CN110141867A (zh) * 2019-04-23 2019-08-20 广州多益网络股份有限公司 一种游戏智能体训练方法及装置

Similar Documents

Publication Publication Date Title
CN102298673A (zh) 一种非玩家控制角色的行为决策方法
van den Herik et al. Opponent modelling and commercial games
CN105561578A (zh) 一种非玩家控制角色npc的行为决策方法
CN108211362A (zh) 一种基于深度q学习网络的非玩家角色战斗策略学习方法
CN104090573A (zh) 一种基于蚁群算法的机器人足球动态决策装置及其方法
CN111450533B (zh) 虚拟场景中的虚拟对象控制方法、装置、终端及存储介质
Cui et al. Using social cognitive optimization algorithm to solve nonlinear equations
Furtak et al. On the complexity of two-player attrition games played on graphs
Recio et al. AntBot: Ant colonies for video games
Trenbath et al. Threats to sustainability in intensified agricultural systems: analysis and implications for management
Perez-Liebana et al. Generating diverse and competitive play-styles for strategy games
Tsay et al. Evolving intelligent mario controller by reinforcement learning
Kohler et al. Sociopolitical evolution in midrange societies: The pre-Hispanic Pueblo case
Ji et al. Effects of dynamical grouping on cooperation in n-person evolutionary snowdrift game
Liu et al. Evolving effective micro behaviors in RTS game
Andersen et al. Towards a deep reinforcement learning approach for tower line wars
Svensson et al. Influence Map-based controllers for Ms. PacMan and the ghosts
Nakashima et al. An evolutionary approach for strategy learning in robocup soccer
Nogueira et al. An analysis of hall-of-fame strategies in competitive coevolutionary algorithms for self-learning in RTS games
Seltzer The evolution of tribalism: A social-ecological model of cooperation and inter-group conflict under pastoralism
Mozgovoy et al. Building a believable and effective agent for a 3D boxing simulation game
Romero et al. A Genetic Programming-Based Low-Level Instructions Robot for Realtimebattle
CN113705828A (zh) 一种基于集群影响度的战场博弈策略强化学习训练方法
Iwasaki et al. A Framework for Generating Playstyles of Game AI with Clustering of Play Logs.
Ma et al. Playing Angry Birds with a Neural Network and Tree Search

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20111228