CN104102522B - 交互式游戏中智能非玩家角色的人工情感驱动方法 - Google Patents
交互式游戏中智能非玩家角色的人工情感驱动方法 Download PDFInfo
- Publication number
- CN104102522B CN104102522B CN201410369468.8A CN201410369468A CN104102522B CN 104102522 B CN104102522 B CN 104102522B CN 201410369468 A CN201410369468 A CN 201410369468A CN 104102522 B CN104102522 B CN 104102522B
- Authority
- CN
- China
- Prior art keywords
- emotion
- game
- player
- knowledge base
- multiple agent
- 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.)
- Expired - Fee Related
Links
- 230000008451 emotion Effects 0.000 title claims abstract description 71
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 14
- 230000009471 action Effects 0.000 claims abstract description 32
- 230000008450 motivation Effects 0.000 claims abstract description 21
- 230000009897 systematic effect Effects 0.000 claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 6
- 239000003795 chemical substances by application Substances 0.000 claims description 42
- 230000000875 corresponding effect Effects 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 15
- 238000003860 storage Methods 0.000 claims description 8
- 101000746134 Homo sapiens DNA endonuclease RBBP8 Proteins 0.000 claims description 6
- 101000969031 Homo sapiens Nuclear protein 1 Proteins 0.000 claims description 6
- 102100021133 Nuclear protein 1 Human genes 0.000 claims description 6
- 230000006870 function Effects 0.000 claims description 6
- 230000010391 action planning Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 230000002596 correlated effect Effects 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000003993 interaction Effects 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 8
- 230000006399 behavior Effects 0.000 description 12
- 238000013461 design Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000001149 cognitive effect Effects 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000002996 emotional effect Effects 0.000 description 2
- 238000007654 immersion Methods 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 230000015654 memory Effects 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- BYACHAOCSIPLCM-UHFFFAOYSA-N 2-[2-[bis(2-hydroxyethyl)amino]ethyl-(2-hydroxyethyl)amino]ethanol Chemical compound OCCN(CCO)CCN(CCO)CCO BYACHAOCSIPLCM-UHFFFAOYSA-N 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000019771 cognition Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000149 penetrating effect Effects 0.000 description 1
- 239000011295 pitch Substances 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000008844 regulatory mechanism Effects 0.000 description 1
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
交互式游戏中智能非玩家角色的人工情感驱动方法,涉及交互式游戏中的虚拟人物自动控制技术。启动知识库,加载初始行为规则,初始化人工情感系统参数;运行多智能体,连接知识库进入等待状态;加载世界接口,一端接游戏服务器,另一端接多智能体;多智能体进入主循环开始工作,分别并发处理非玩家角色感知到的虚拟环境信息,更新虚拟人物的内建需求水平、相应的动机强度、系统参数,计算虚拟人物的人工情感强度并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作策略,最后将动作通过世界接口作用于游戏虚拟环境中;世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全局知识库,关闭知识库,退出接口。
Description
技术领域
本发明涉及交互式游戏中的虚拟人物自动控制技术,特别是涉及一种依据非玩家角色的内建需求及当前虚拟环境信息推导出人工情感,并运用人工情感自动控制智能非玩家角色行为的交互式游戏中智能非玩家角色的人工情感驱动方法。
背景技术
游戏引擎是游戏开发的核心。早期的游戏引擎主要是为游戏提供光影效果、动画渲染、物理机制及输入输出的支持,并没有包含太多人工智能的考虑。游戏中非玩家角色(Non-Player Character,NPC)的行为都是由程序员在游戏开发过程中事先编制好的,其行为模式十分机械、固定,表现得不够聪明,常常让游戏玩家感到索然无味。
自上世纪90年代中后期以来,提升游戏中虚拟人物的智能性成为各大游戏公司竞相追逐的目标,他们在游戏引擎的设计中,越来越多地引入人工智能的技术。Quake[1]和Unreal[2]是支持第一人称射击(First Person Shooting,FPS)游戏的两大最著名引擎。其中Quake是一款完全开源的引擎,Unreal虽然没有完全开源,但它具有良好的客户端--服务器(Client-Server,C/S)架构,同时还为Client提供了面向对象的脚本语言UnrealScript[3]。美国Michigan大学的Soar/Games项目在开源Quake II引擎的基础上引入了推理式Agent结构Soar[4],[5]。美国Southern California大学和Carnegie Mellon大学开发了基于Unreal的GameBot[6]引擎。
相比第一人称射击游戏,即时战略(Real-Time Strategy,RTS)游戏对NPC的智能性提出了更高的要求,因为它不但要考虑单独一个NPC的智能表现,还要更多地考虑多个NPC在战术、战略、决策方法的智能行为。为此,加拿大Alberta Edmonton大学开发了基于C/S架构的免费RTS游戏引擎ORTS[7]。
这些引入了人工智能技术的游戏引擎,在一定程度上增强了虚拟人物的智能表现,但仍存在许多不足之处。一方面,这些游戏引擎需要开发人员事先编制好行为规则,不但开发任务繁重,而且非玩家角色的行为模式也十分有限,玩家容易在游戏中预测其行为,使游戏很快就丧失了趣味性与新颖性;另一方面,这些游戏引擎没能有效地让虚拟人物呈现与游戏交互情境相一致的情感表现,破坏了游戏玩家游戏时的沉浸感。因此,将人工情感融入到虚拟人物中,一方面让非玩家角色根据虚拟环境的信息展现出适合的情感,另一方面用人工情感控制非玩家角色的行为,使其“表里如一”,是游戏设计以及游戏引擎开发中亟需攻克的关键技术。
参考文献:
[1]M.Abrash,“Quake's game engine:The big picture”,Dr.Dobb's Journal,1997.
[2]J.Busby,Z.Parrish,and J.Van Eenwyk,Mastering Unreal Technology:TheArt of Level Design.Sams Pub.,2005.
[3]T.Sweeney and M.Hendriks,“UnrealScript language reference”,Viewedonline at http://udn.epicgames.com/Two/UnrealScriptReference,1998.
[4]J.E.Laird,A.Newell,and P.S.Rosenbloom,“Soar:An architecture forgeneral intelligence”,Artificial intelligence,vol.33,no.1,pp.1–64,1987.
[5]J.E.Laird,“Extending the Soar cognitive architecture”,inProceeding of the2008conference on Artificial General Intelligence 2008:Proceedings of the First AGI Conference,2008,pp.224–235.
[6]R.Adobbati,A.N.Marshall,A.Scholer,S.Tejada,G.A.Kaminka,S.Schaffer,and C.Sollitto,“Gamebots:A 3d virtual world test-bed for multi-agentresearch”,in Proceedings of the second international workshop onInfrastructure for Agents,MAS,and Scalable MAS,2001,pp.47–52.
[7]M.Buro,“ORTS:A hack-free RTS game environment”,Computers andGames,pp.280–291,2003.
发明内容
本发明的目的是针对现有交互式游戏引擎没有较完善的人工情感系统的不足,提供一种交互式游戏中智能非玩家角色的人工情感驱动方法。
本发明包括以下步骤:
1)启动全局知识库,加载初始行为规则,初始化人工情感系统参数;
2)运行多智能体,连接全局知识库,并进入等待状态;
3)加载世界接口,接口一端连接游戏服务器,同游戏虚拟环境交互,接口另一端连接多智能体,向其发送虚拟环境信息或转发多智能体的控制指令到游戏虚拟环境中;
4)多智能体进入主循环开始工作,并发处理非玩家角色感知到的虚拟环境信息,更新虚拟人物的内建需求水平,相应的动机强度,系统参数,计算虚拟人物的人工情感强度并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作策略,最后将动作通过世界接口作用于游戏虚拟环境中;
5)世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全局知识库,然后关闭全局知识库,退出世界接口。
本发明解决游戏开发中设计非玩家角色行为工作繁重,角色行为过于机械,缺乏适合的情感表现的问题,同时提升游戏玩家游戏时的沉浸感。本发明采用松耦合的多智能体设计模式,并使用一个全局知识库存储虚拟人物的感知、记忆、动作等信息,将非玩家角色的内建需求、虚拟环境信息、系统参数、人工情感、行为控制有效地整合成一个复杂、动态控制系统,实现对智能非玩家角色的自动控制。
附图说明
图1为本发明的全局知识库的部署及其与后台数据库和多智能体的连接示意图;
图2为本发明的整体系统架构及各大组件的结构示意图;
图3为本发明步骤4)基于多智能体协同工作的人工情感系统的原理图。
具体实施方式
为了使本技术领域的技术人员更好地理解本发明方案,下面结合附图对本发明作进一步的描述。
1.启动全局知识库,加载初始行为规则及系统参数
1):读取配置文件,获取知识库服务端口,后台数据库服务端口;
2):启动后台数据库,加载初始行为规则及人工情感系统参数;
3):通过知识库服务端口向智能体提供数据服务。
全局知识库采用超图作为统一的知识表示方法。超图是对一般图的扩展,其显著特点是每条边可以连接任意多条边和顶点。其基本的存储单元称为“原子”(Atom)。每一个原子(Atom)携带的值(Value)的结构为(STI,LTI,TruthValue,Confidence,Content)。STI(Short Term Importance)和LTI(Long Term Importance)可以用来模拟短期记忆(ShortTerm Memory)和长期记忆(Long Term Memory)。TruthValue和Confidence分别为该原子(Atom)的真值和可信度。Content则是原子(Atom)具体携带的信息。
知识库与情感系统各组件采用Client/Server的方式进行连接(参见图1)。每一个单独的组件(如智能体)都具有各自的客户端,负责与服务端通信。客户端的主要功能包括,向服务端发送存取指令,以及从服务端获得知识库中的数据。而服务端则负责驱动后台数据库具体的读写操作。这种Client/Server架构具有分布式存储、易于实现并发与并行、跨平台及语言无关性、便于实现通用算法的优点。
知识库本身并不负责对数据(超图)的直接存取操作,而是将这些操作转化为后台数据库的基本操作,即直接的数据存取操作是由后台数据库来完成的。这种设计的优点是,充分利用现有的、成熟的数据库技术,避免“重复制造车轮”;将相对抽象的知识存取操作与具体的数据存取操作剥离,提高了系统的可移值性。后台数据库可以采用任何现有的数据库技术,针对这里超图的知识表示方法,选择一些开源的、高效的NoSQL数据库,如MongoDB,Redis是较为合适的。
在步骤1第2)部分中,知识库中的每条行为规则,形如Context&Action→Goal,其表达的意义为:在条件Context满足时,执行某一动作Action,将能达成目标Goal。
在步骤1第2)部分中,人工情感的系统参数主要包括:每一个调节子(具体实施第4部分详细介绍)的初始值;每一个内建需求D的初始水平L0,期望取值范围的下限min_l,上限max_l。
2.运行多智能体,并连接全局知识库
1)读取配置文件,获取知识库服务端口,多智能体通信端口,世界接口通信端口;
2)运行多智能体,读取知识库中的系统参数初始值,初始化相应变量;
3)侦听世界接口通信端口,等待处理信息。
图2展示了多智能体与游戏虚拟环境的消息通信(具体实施第3部分详细介绍);图3展示了多智能体之间的消息通信(具体实施第4部分详细介绍)。
3.加载世界接口,在虚拟游戏环境和多智能体之间转发数据
1)读取配置文件,获取世界接口通信端口,多智能体通信端口;
2)处理用户指令消息队列;
3)处理虚拟环境信息消息队列;
4)处理多智能体动作消息队列。
世界接口(参见图2)是沟通多智能体与虚拟游戏环境的桥梁。它的内部保持有3个消息队列,分别用于处理用户指令、虚拟环境信息及非玩家角色动作。
在步骤3第2)部分中,用户指令消息队列存放来自游戏玩家的各种操作指令,对于非玩家角色而言,由于玩家不需要直接操纵它们,因而这里的用户指令消息事实上只有一个,即“退出游戏”。
在步骤3第3)部分中,虚拟环境信息消息队列采用XML格式存放虚拟人物所观察到的虚拟环境中的信息,对每一个观察到的物体,包含有以下信息:物体ID,位置,颜色,大小,是否可移动,是否可交互。另外,为了减少消息通信的频度,提高通信效率,我们将某一时刻所观察到的所有物体打包成一个消息,一次性发送给多智能体。同时,还要在消息中附上观察到的时间(即当前系统时间),便于多智能体进行取舍。
在步骤3第4)部分中,多智能体动作消息队列存放非玩家角色需要在虚拟环境中执行的动作及其相应的参数。下面是一些常用的基本动作、参数及其说明。
goto(dir,v,step):向某个方向dir,以速度v,移动step步的距离;
jump(dir,step):向某个方向dir,跳跃step步距离;
eat(obj_id):吃编号为obj_id的物体;
drink(obj_id):喝编号为obj_id的物体;
pick_up(obj_id):捡起编号为obj_id的物体;
throw(obj_id):丢弃编号为obj_id的物体;
play(obj_id):玩耍编号为obj_id的物体;
follow(obj_id):跟随编号为obj_id的物体。
4.多智能体进入主循环,生成人工情感并驱动非玩家角色人物行动(图3)
1)感知智能体,负责接收虚拟环境信息,计算空间位置关系,并将相关信息写入到全局知识库中;
2)需求智能体,负责更新非玩家角色的内建需求水平以及相应的动机强度,并将相关信息写入到全局知识库中;
3)参数智能体,负责更新人工情感系统参数;
4)情感智能体,负责更新非玩家角色的人工情感强度,并选择当前主要情感;
5)动作智能体,负责发送动作序列中的第一个动作,若该序列为空,则先选择系统主导动机,然后运行动作规划器生成新的动作序列
在步骤4第1)部分中,感知智能体,需要首先解析以XML格式封装的虚拟环境信息,然后计算相应的空间位置关系。空间位置关系分为二元位置关系和三元位置关系两种。二元位置主要包括前(front),后(back),左(left),右(right),上(above),下(beneath);三元位置关系主要是指介于两者之间(between)。由于二元位置关系具有对称性,因此只需要计算出一半的二元位置关系便可以推算出与之对称的二元位置关系;三元位置关系则是二元位置关系的基础上,依据一些判断准则得到的。
在步骤4第2)部分中,首先需要为非玩家控制角色设定一些内建的需求,较为通用的需求主要包括能量、水、完整性、确定性、自信度、亲和性。其中,完整性指的是虚拟人物具有保护自身不受伤害,即保持完整性的需求;确定性主要反映的是虚拟人物对当前所处环境的熟悉和了解程度;自信度的需求与虚拟人物成功达成目标的经历有关;亲和性是需要其它虚拟人物共同参与才能被满足的需求,它是对人类社会需求的模拟和仿真。
在步骤4第2)部分中,每一个需求都有一定的偏好范围或目标范围。当需求水平落在相应的目标范围时,称作该需求被满足,否则需求不被满足。我们可以将人工情感系统视为一个目标驱动的系统,其主要任务就是尽可能让所有这些需求都被满足。而当某一需求不被满足时,虚拟人物会有一种试图将该需求水平恢复到偏好范围内的愿望,这种愿望便构成了动机。动机的强度与相应需求的满足度呈负相关的关系。因此,我们用需求的满足度来间接表征相应的动机水平。而虚拟人物某一需求的满足度则根据该需求的当前水平、目标范围,通过一个非线性模糊函数计算得到。
在步骤4第3)部分中,人工情感系统参数也称为调节子,它们一方面影响虚拟人物的行为,另一方面构成了虚拟人物情感空间的基本维度。主要有以下4个系统参数:
(1)激活度,它表征感知和反应的激活程度。其作用是调节快速、激烈的活动与反射性的、同认知相关的活动之间的平衡。当激活度较高时,虚拟人物倾向于快速响应外部刺激,反之将则对外部刺激反应较慢,同时把更多的系统资源用于自身的认知活动。
(2)解析度,它决定了各种认知活动(如感知、动作规划)的精细程度。例如,当解析度较高时,虚拟人物对环境的感知将更加注重细节,但缺乏整体性的观念,反之则通过牺牲局部细节,把握全局性的观念。此外,解析度与激活度呈负相关的关系。例如,当激活度较高时,虚拟人物往往选择降低解析度以提高响应速度。
(3)保护阀值,它控制智能体执行保护行为的频繁程度。保护行为可以是一系列周期性执行的动作,其主要功能是检测外部环境的异常变化。保护阀值与当前主要动机的强度呈正相关的关系,即在虚拟人物在面对紧急情况时(主要动机强烈),伴随着较高的保护阀值,相应地减少保护动作的执行,将更多地资源用于处理当前的紧急事务(如自我保护)。此外,保护阀值还与虚拟人物对当前环境的了解和熟悉程度有关(即确定性需求)。不确定的、高度动态的环境往往需要更加频繁地执行保护动作,即对应较低的保护阀值。
(4)选择阀值,它通过引入偏好信息,帮助虚拟人物在几个相互冲突的动机之间作出选择。由于目标驱动的系统中通常存在多个需求,系统往往会出现同时存在多个动机的情况,而虚拟人物一次只能考虑一个动机,这就需要从中选择一个动机作为主导动机。选择阀值通过调节当前选中的主导动机的权重,避免系统在几个相互冲突的动机之间振荡。选择阀值随着激活度的增大而增大。例如,当虚拟人物面对危险的时候(伴随较高的的激活度),它往往高度集中于当前选中的动机(对应较高的选择阀值),即确保自身安全的需求(或完整性需求)。
在步骤4第3)部分中,参数智能体,通过一组非线性方程来更新调节子的水平。更新方程的构造方式可以灵活多样,但通常应满足以下一些基本原则:
(1)激活度同能量及自信度的需求有关。例如,当智能体具备足够的能量并能对自身的能力充满信心时,往往意味着智能体已经做好了反应的准备。
(2)解析度与激活度呈负相关的关系。例如,当智能体准备做出快速响应的时候,它往往无暇顾及其它的认知活动,譬如感知、探测环境中异常的变化,动作规划等。
(3)保护阀值则取决于智能体对环境的熟悉程度以及智能体的安全性。例如,当智能体对环境比较熟悉的时候,或者正处于安全的环境中的时候,智能体倾向于减少保护性的行为。
(4)选择阀值同智能体的自信程度呈正相关的关系。当智能体对自身能力充满信心时,它放弃当前计划或中止当前动作的可能就较小。
在步骤4第4)部分中,非玩家角色的情感用4个调节子及满足度构成的五维连续空间来表达。例如高兴、悲伤、生气和恐惧这四种常用情感的可以如表1的方式定义。
表1
对每一种情感,其强度的计算方式为:首先根据4个调节子及满足度的当前水平以及上表定义的隶属范围,通过一个隶属度函数,计算每一情感维度的隶属度;然后,将所有情感维度的隶属度的加权平均作为该情感的强度。
当所有情感的强度计算完毕后,当前强度最大的情感被挑选出来,作为当前系统的主要情感然后,以适当的方式在游戏中呈现出来。
另外,为了滤去太小的情感波动所造成的情感快速、不稳定的变化,我们还引入了情感阀值γ。如果按上面步骤计算出来的主导情感其强度低于γ,则忽略该情感,即认为非玩家角色处于中情情感(或无情感)的状态。
在步骤4第5)部分中,采用以下的方法选择系统的主导动机:
若random(0,1)<选择阀值,则选择满足度最低的需求所对应的动机作为系统的主导动机;否则,随机选择一个动机作为系统的主导动机。
其中,random(0,1)输出一个[0,1]范围内的随机数,其分布为均匀分布。
挑选出系统主导动机之后,智能体通过运行一个动作规划器,从当前主导动机出发(即最终目标),根据知识库中的规则信息(规则形式通常为条件&动作→目标),生成相应的动作序列。该动作序列的成功实施应当有助于智能体将主导动机所对应的需求水平恢复到期望范围内。
动作规划器通常采用基于图搜索的后向推理方法,此方法已广泛应用,故其本身不属于本发明所包涵的内容。但本发明对动作规划器的改进之处在于,引入了人工情感对动作规划的调节机制。使用参数MAX_N来控制动作搜索的循环迭代次数,即虚拟人物把多少计算资源用于动作规划。而MAX_N又与虚拟人物的激活度相关联,即MAX_N=f(activation),其中f为一个非线性、单调递减函数。
5.处理退出指令,保存数据,关闭系统
1)世界接口将用户退出游戏的指令转发给多智能体;
2)多智能体将当前状态信息及相关数据写入到全局知识库中,向世界接口发送退出状态信息,然后退出主循环;
3)全局知识库等待多智能体服务请求超时,关闭后台数据库,关闭知识库服务端口;
4)世界接口接收到所有多智能体退出状态信息,或等待退出状态信息超时,尝试强行关闭多智能体,向游戏虚拟环境发送退出状态信息,然后退出主循环。
Claims (6)
1.交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于包括以下步骤:
(1)启动全局知识库,加载初始行为规则,初始化人工情感系统参数,具体方法如下:
1)读取第1配置文件,获取知识库服务端口,后台数据库服务端口;
2)启动后台数据库,加载初始行为规则及人工情感系统参数;
3)通过知识库服务端口向智能体提供数据服务;
(2)运行多智能体,连接全局知识库,并进入等待状态,具体方法如下:
1)读取第2配置文件,获取知识库服务端口,多智能体通信端口,世界接口通信端口;
2)运行多智能体,读取知识库中的系统参数初始值,初始化相应变量;
3)侦听世界接口通信端口,等待处理信息;
(3)加载世界接口,接口一端连接游戏服务器,同游戏虚拟环境交互,接口另一端连接多智能体,向其发送虚拟环境信息或转发多智能体的控制指令到游戏虚拟环境中,具体方法如下:
1)读取第3配置文件,获取世界接口通信端口,多智能体通信端口;
2)处理用户指令消息队列;
3)处理虚拟环境信息消息队列;
4)处理多智能体动作消息队列;
(4)多智能体进入主循环开始工作,并发处理非玩家角色感知到的虚拟环境信息,更新虚拟人物的内建需求水平,相应的动机强度,系统参数,计算虚拟人物的人工情感强度并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作策略,最后将动作通过世界接口作用于游戏虚拟环境中,具体方法如下:
1)感知智能体,负责接收虚拟环境信息,计算空间位置关系,并将相关信息写入到全局知识库中;
2)需求智能体,负责更新非玩家角色的内建需求水平以及相应的动机强度,并将相关信息写入到全局知识库中;
3)参数智能体,负责更新人工情感系统参数;
4)情感智能体,负责更新非玩家角色的人工情感强度,并选择当前主要情感;
5)动作智能体,负责发送动作序列中的第一个动作,若该序列为空,则先选择系统主导动机,然后运行动作规划器生成新的动作序列;
(5)世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全局知识库,然后关闭全局知识库,退出世界接口。
2.如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于在步骤(1)第2)部分中,知识库中的每条行为规则,形如Context&Action→Goal,其表达的意义为:在条件Context满足时,执行某一动作Action,将能达成目标Goal;
在步骤(1)第2)部分中,人工情感的系统参数主要包括:每一个调节子的初始值;每一个内建需求D的初始水平L0,期望取值范围的下限min_l,上限max_l。
3.如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于在步骤(3)第2)部分中,用户指令消息队列存放来自游戏玩家的各种操作指令,对于非玩家角色而言,由于玩家不需要直接操纵它们,因而这里的用户指令消息事实上只有一个,退出游戏;
在步骤(3)第3)部分中,虚拟环境信息消息队列采用XML格式存放虚拟人物所观察到的虚拟环境中的信息,对每一个观察到的物体,包含有以下信息:物体ID,位置,颜色,大小,是否可移动,是否可交互;
在步骤(3)第4)部分中,多智能体动作消息队列存放非玩家角色需要在虚拟环境中执行的动作及其相应的参数。
4.如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于在步骤(4)第1)部分中,感知智能体,需要首先解析以XML格式封装的虚拟环境信息,然后计算相应的空间位置关系,空间位置关系分为二元位置关系和三元位置关系两种,二元位置主要包括前,后,左,右,上,下;三元位置关系主要是指介于两元关系两者之间,由于二元位置关系具有对称性,因此只需要计算出一半的二元位置关系推算出与之对称的二元位置关系;三元位置关系则是二元位置关系的基础上,依据一些判断准则得到的;
在步骤(4)第2)部分中,首先为非玩家控制角色设定一些内建的需求,较为通用的需求主要包括能量、水、完整性、确定性、自信度、亲和性;
在步骤(4)第2)部分中,每一个需求都有一定的偏好范围或目标范围,当需求水平落在相应的目标范围时,称作该需求被满足,否则需求不被满足。
5.如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于在步骤(4)第3)部分中,人工情感系统参数也称为调节子,人工情感系统参数包括:
a.激活度,它表征感知和反应的激活程度;
b.解析度,它决定感知、动作规划的精细程度;
c.保护阀值,它控制智能体执行保护行为的频繁程度;
d.选择阀值,它通过引入偏好信息,帮助虚拟人物在几个相互冲突的动机之间作出选择;
在步骤(4)第3)部分中,参数智能体,通过一组非线性方程来更新调节子的水平,更新方程的构造方式满足以下基本原则:
a.激活度同能量及自信度的需求有关;
b.解析度与激活度呈负相关的关系;
c.保护阀值则取决于智能体对环境的熟悉程度以及智能体的安全性;
d.选择阀值同智能体的自信程度呈正相关的关系;
在步骤(4)第4)部分中,非玩家角色的情感用4个调节子及满足度构成的五维连续空间表达;
对每一种情感,其强度的计算方式为:首先根据4个调节子及满足度的当前水平以及上面参数定义的隶属范围,通过一个隶属度函数,计算每一情感维度的隶属度;然后,将所有情感维度的隶属度的加权平均作为该情感的强度;
当所有情感的强度计算完毕后,当前强度最大的情感被挑选出来,作为当前系统的主要情感然后在游戏中呈现出来;
在步骤(4)第5)部分中,采用以下的方法选择系统的主导动机:
若random(0,1)<选择阀值,则选择满足度最低的需求所对应的动机作为系统的主导动机;否则,随机选择一个动机作为系统的主导动机;
其中,random(0,1)输出一个[0,1]范围内的随机数,其分布为均匀分布;
挑选出系统主导动机之后,智能体通过运行一个动作规划器,从当前主导动机出发,根据知识库中的规则信息:条件&动作→目标,生成相应的动作序列。
6.如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于在步骤(5)中,所述世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全局知识库,然后关闭全局知识库,退出世界接口的具体方法如下:
1)世界接口将用户退出游戏的指令转发给多智能体;
2)多智能体将当前状态信息及相关数据写入到全局知识库中,向世界接口发送退出状态信息,然后退出主循环;
3)全局知识库等待多智能体服务请求超时,关闭后台数据库,关闭知识库服务端口;
4)世界接口接收到所有多智能体退出状态信息,或等待退出状态信息超时,尝试强行关闭多智能体,向游戏虚拟环境发送退出状态信息,然后退出主循环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369468.8A CN104102522B (zh) | 2014-07-30 | 2014-07-30 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410369468.8A CN104102522B (zh) | 2014-07-30 | 2014-07-30 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104102522A CN104102522A (zh) | 2014-10-15 |
CN104102522B true CN104102522B (zh) | 2017-11-07 |
Family
ID=51670695
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410369468.8A Expired - Fee Related CN104102522B (zh) | 2014-07-30 | 2014-07-30 | 交互式游戏中智能非玩家角色的人工情感驱动方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102522B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104618347B (zh) * | 2015-01-08 | 2017-12-15 | 盟游(北京)科技有限公司 | 一种游戏事件处理装置及方法、网络平台 |
CN105389735B (zh) * | 2015-11-18 | 2021-05-18 | 重庆理工大学 | 一种基于spfa算法的多动机情感生成方法 |
CN105435453B (zh) * | 2015-12-22 | 2019-02-19 | 网易(杭州)网络有限公司 | 一种弹幕信息处理方法、装置和系统 |
CN107019912B (zh) * | 2017-04-20 | 2020-12-01 | 腾讯科技(深圳)有限公司 | 角色的配置方法和装置 |
CN107890674A (zh) * | 2017-11-13 | 2018-04-10 | 杭州电魂网络科技股份有限公司 | Ai行为调用方法和装置 |
CN109731332B (zh) * | 2018-12-21 | 2023-03-07 | 网易(杭州)网络有限公司 | 非玩家角色的控制方法、装置、设备及存储介质 |
CN110882542B (zh) * | 2019-11-13 | 2023-07-18 | 广州多益网络股份有限公司 | 游戏智能体的训练方法、装置、设备及存储介质 |
CN110947182B (zh) * | 2019-11-26 | 2024-02-02 | 上海米哈游网络科技股份有限公司 | 事件应对方法、装置、游戏终端及介质 |
CN112121429A (zh) * | 2020-09-22 | 2020-12-25 | 腾讯科技(深圳)有限公司 | 一种非玩家角色的控制方法及装置 |
CN113648660B (zh) * | 2021-08-16 | 2024-05-28 | 网易(杭州)网络有限公司 | 一种非玩家角色的行为序列生成方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102968549A (zh) * | 2012-10-17 | 2013-03-13 | 北京大学 | 基于智能移动终端设备的多人在线交互方法与系统 |
CN103826711A (zh) * | 2011-07-22 | 2014-05-28 | 格里奇索弗特公司 | 用于游戏环境的游戏辅助系统 |
-
2014
- 2014-07-30 CN CN201410369468.8A patent/CN104102522B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103826711A (zh) * | 2011-07-22 | 2014-05-28 | 格里奇索弗特公司 | 用于游戏环境的游戏辅助系统 |
CN102968549A (zh) * | 2012-10-17 | 2013-03-13 | 北京大学 | 基于智能移动终端设备的多人在线交互方法与系统 |
Non-Patent Citations (2)
Title |
---|
OpenCogPrime:A Cognitive Synergy Based Architecture for Artificial General Intelligence;Ben Goertzel;《8th IEEE International Conference on Cognitive Informatics(ICCI’09)》;20090918;第4栏第3段 * |
社交型智能体的情感建模及基于社会角色的情感模型验证;黄德恒;《万方数据企业知识服务平台》;20130918;第2.1节-4.2节 * |
Also Published As
Publication number | Publication date |
---|---|
CN104102522A (zh) | 2014-10-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104102522B (zh) | 交互式游戏中智能非玩家角色的人工情感驱动方法 | |
Johnson et al. | Reframing AI discourse | |
US11763143B2 (en) | Adding deep learning based AI control | |
Risi et al. | From chess and atari to starcraft and beyond: How game ai is driving the world of ai | |
Kelly et al. | Offline planning with hierarchical task networks in video games | |
US10880192B1 (en) | Interactive agents for user engagement in an interactive environment | |
CN112044076B (zh) | 一种对象控制方法、装置及计算机可读存储介质 | |
CN114510012A (zh) | 一种基于元动作序列强化学习的无人集群演进系统及方法 | |
CN116747521B (zh) | 控制智能体进行对局的方法、装置、设备及存储介质 | |
CN114404975B (zh) | 决策模型的训练方法、装置、设备、存储介质及程序产品 | |
WO2018150420A1 (en) | Method and system for building a behavior scheme | |
Miyake | Current status of applying artificial intelligence in digital games | |
Tomai et al. | Adapting in-game agent behavior by observation of players using learning behavior trees | |
CN114404976B (zh) | 决策模型的训练方法、装置、计算机设备及存储介质 | |
Patel et al. | Improving behavior of computer game bots using fictitious play | |
Sanza et al. | Adaptive behavior for cooperation: a virtual reality application | |
Grant et al. | Integrating multiagent systems into virtual worlds | |
Toubman | Calculated Moves | |
CN111723941A (zh) | 规则生成方法、装置、电子设备和存储介质 | |
Prakash et al. | Advances in games technology: Software, models, and intelligence | |
Chen | The predator-prey evolutionary robots system: from simulation to real world | |
Araùjo et al. | URNAI: A Multi-Game Toolkit for Experimenting Deep Reinforcement Learning Algorithms | |
CN118036694B (zh) | 一种训练智能体的方法、装置和设备及计算机存储介质 | |
Ring et al. | Replicating deepmind starcraft ii reinforcement learning benchmark with actor-critic methods | |
McQuillan | A survey of behaviour trees and their applications for game AI |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171107 |
|
CF01 | Termination of patent right due to non-payment of annual fee |