CN102298673A - 一种非玩家控制角色的行为决策方法 - Google Patents
一种非玩家控制角色的行为决策方法 Download PDFInfo
- 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
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的攻击效果定义为以下模型:
其中,Pij(i∈N,j∈M)表示NPCi对PLAYERj造成的攻击效果;pijt为攻击效果的影响因素,比如双方等级差、攻击力、防御力等等属性;T为影响因素的个数; 为攻击效果影响因素pijt的权重值,且 满足 即 所有的权重值的总和为1。
可以是一个预先设定的定值,也可以依据NPCi的自反馈神经网络训练参数计算得到。使用固定值可以简化计算保证效率,而为了更好的体现NPC的特点,使NPC的行为决策更加智能,例如,某个NPC具有一种技能,该技能释放距离很远,这样在多个NPC协同作战中,他的优势就是距离,擅长远距离攻击,这时他的位置影响因素的权重相比较而言就应该比较大,从而突出他的远距离攻击特点和远距离优势,而为了体现这一点,除了人为将该NPC的位置影响因素的权重增大以外,更方便,更好的方法就是自反馈神经网络训练,使得该权重可以根据NPC的历史战绩数据进行修正,使之自动适应为一个合适的值。自反馈神经网络训练在具体实现时,不需要知道每个影响因素之间的评价原理,通过历史战绩结果进行相应的计算,可以直接得到修正后的参数,这样对于数据处理也是最好的选择,不需要在数据库中存储过量的数据。
在本例中,在每次NPC战斗结束时,可以根据NPC战斗的时间和消灭玩家数量来评估NPC的战斗力,存活时间越长,消灭玩家数量越多,便认为是NPC在此次战斗中发挥越为出色(当然这其中存在其他情况,但是长期训练中这种情况的影响因素可以被忽略),通过这种反馈方法对NPC的 进行训练。
训练的具体方法如下:
由于自反馈神经网络实现复杂,代码量较大,对于不同的训练方式,其具体训练的方法都不同,这里仅举例一种简易的自反馈神经网络算法来针对该问题。算法如下:
其中: 表示NPC的参数,αi,βi为自反馈神经网络的训练参数,自反馈神经网络所用函数为简单的求和函数 和 输出有两个值,output1和output2;这两个值对应的意义是NPC战斗时间以及杀死玩家数量。这样通过战斗结果去训练其中的参数αi,βi,使得参数更加准确的描述输入参数和输出的关系。训练方法为解方程组的其中一组任意解:
其中output1’及output2’分别表示上次战斗的output1及output2的值,解出的αi,βi记为新的神经网络参数,更新神经网络参数,并且在现有的新神经网络中求出新的 求解方法为:任意增大其中 的值为任意值,重新放入神经网络中训练,只要输出的值比现有的结果大,则将 结果更新为新的 值。这就是通过神经网络的方法自反馈的训练NPC参数。
对于影响因素pijt的确定,可以根据计算量和网络压力而定。
以下举几个例子:
1.位置影响因素:
dis为玩家和NPC之间的距离。
2.生命力影响因素:
3.属性影响因素:
4.冷却(CD)影响因素,技能CD影响玩家发动技能的频率,可看作反应速度:
根据以上描述可知范围Pij∈[0,1],可以将Pij看作是NPCi对PLAYERj造成的攻击效果的数值表示。
2、模型建立
从上面的分析中可以得出最优化的模型:
NPC希望决策结果能够对玩家造成最大的杀伤效果,因此可以构建以下的决策矩阵:
(sij∈[0,1]表示攻击力度)
并且选择最优策略,我们希望NPC对玩家的伤害最大化,从而我们可以得到如下的目标函数和约束条件:
目标函数:
约束条件:
二、对目标函数最优化求解
最优化求解问题可以利用模拟退火算法使得求解过程以最快速度下降,但是模拟退火算法在求解初期下降比较慢,所以为了提高效率,也可以进一步采用遗传算法和模拟退火算法结合的算法,从而以最快速度得到最优化的解。
模拟退火算法和遗传算法为成熟算法,具体的算法实现这里就不再详述了,通过模拟退火算法或模拟退火算法与遗传算法的结合,可求得到上述决策矩阵中的每个项的值,即可获得每个NPC对每一个玩家的具体配对攻击方式,完成决策。
由上述的实施例可见,本发明的这种NPC的行为决策方法,将NPC的行为决策问题,转化为对目标函数和约束条件进行最优化求解的问题,通过模拟退火算法对目标函数的最优化求解,所得到的决策方案,相比简单的数值判断决策方式,可以得到更加智能的决策方案。另外,通过自反馈神经网络训练参数的引入,则可以进一步加强决策的智能性,在求解过程中结合遗传算法,则还可以提高求解的效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (4)
1.一种非玩家控制角色NPC的行为决策方法,其特征在于,该方法包括:
预先根据NPC行为的目的确定NPC行为决策的目标函数和约束条件;
在进行NPC的行为决策时,根据所述目标函数和约束条件,通过模拟退火算法对所述目标函数进行最优化求解;
根据所述求解过程得到的最优解确定NPC的行为。
2.如权利要求1所述的NPC的行为决策方法,其特征在于,所述对目标函数进行最优化求解时,进一步结合遗传算法。
3.如权利要求1所述的NPC的行为决策方法,其特征在于,该方法进一步包括:
所述确定NPC的行为之后,进一步根据所述行为的结果计算训练参数;
根据所述训练参数对所述目标函数进行修正。
4.如权利要求1所述的NPC的行为决策方法,其特征在于,所述NPC的行为包括:多个NPC对多个玩家的攻击配对。
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)
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)
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 | 北京航空航天大学 | 一种空战决策的粒子群优化方法 |
-
2011
- 2011-09-20 CN CN2011102810279A patent/CN102298673A/zh active Pending
Patent Citations (3)
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)
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)
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 |