交互式游戏中智能非玩家角色的人工情感驱动方法

文档序号:6621922阅读:391来源:国知局
交互式游戏中智能非玩家角色的人工情感驱动方法
【专利摘要】交互式游戏中智能非玩家角色的人工情感驱动方法,涉及交互式游戏中的虚拟人物自动控制技术。启动知识库,加载初始行为规则,初始化人工情感系统参数;运行多智能体,连接知识库进入等待状态;加载世界接口,一端接游戏服务器,另一端接多智能体;多智能体进入主循环开始工作,分别并发处理非玩家角色感知到的虚拟环境信息,更新虚拟人物的内建需求水平、相应的动机强度、系统参数,计算虚拟人物的人工情感强度并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作策略,最后将动作通过世界接口作用于游戏虚拟环境中;世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全局知识库,关闭知识库,退出接口。
【专利说明】交互式游戏中智能非玩家角色的人工情感驱动方法

【技术领域】
[0001] 本发明涉及交互式游戏中的虚拟人物自动控制技术,特别是涉及一种依据非玩家 角色的内建需求及当前虚拟环境信息推导出人工情感,并运用人工情感自动控制智能非玩 家角色行为的交互式游戏中智能非玩家角色的人工情感驱动方法。

【背景技术】
[0002] 游戏引擎是游戏开发的核心。早期的游戏引擎主要是为游戏提供光影效果、动画 渲染、物理机制及输入输出的支持,并没有包含太多人工智能的考虑。游戏中非玩家角色 (Non-Player Character, NPC)的行为都是由程序员在游戏开发过程中事先编制好的,其行 为模式十分机械、固定,表现得不够聪明,常常让游戏玩家感到索然无味。
[0003] 自上世纪90年代中后期以来,提升游戏中虚拟人物的智能性成为各大游戏公司 竞相追逐的目标,他们在游戏引擎的设计中,越来越多地引入人工智能的技术。Quake[l] 和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]引擎。
[0004] 相比第一人称射击游戏,即时战略(Real-Time Strategy, RTS)游戏对NPC的智能 性提出了更高的要求,因为它不但要考虑单独一个NPC的智能表现,还要更多地考虑多个 NPC在战术、战略、决策方法的智能行为。为此,加拿大Alberta Edmonton大学开发了基于 C/S架构的免费RTS游戏引擎0RTS[7]。
[0005] 这些引入了人工智能技术的游戏引擎,在一定程度上增强了虚拟人物的智能表 现,但仍存在许多不足之处。一方面,这些游戏引擎需要开发人员事先编制好行为规则,不 但开发任务繁重,而且非玩家角色的行为模式也十分有限,玩家容易在游戏中预测其行为, 使游戏很快就丧失了趣味性与新颖性;另一方面,这些游戏引擎没能有效地让虚拟人物呈 现与游戏交互情境相一致的情感表现,破坏了游戏玩家游戏时的沉浸感。因此,将人工情感 融入到虚拟人物中,一方面让非玩家角色根据虚拟环境的信息展现出适合的情感,另一方 面用人工情感控制非玩家角色的行为,使其"表里如一",是游戏设计以及游戏引擎开发中 亟需攻克的关键技术。
[0006] 参考文献:
[0007] [1]M. Abrash, ^Quake's game engine:The big picture, Dr. Dobb's Journal, 1997.
[0008] [2]J. Busby, Z. Parrish, and J. Van Eenwyk, Mastering Unreal Technology:The Art of Level Design. Sams Pub. , 2005.
[0009] [3]T. Sweeney and M. Hendriks, "UnrealScript language reference",Viewed online at http://udn. epicgames. com/Two/UnrealScriptReference,1998.
[0010] [4] J. E. Laird,A. Newell,and P. S. Rosenbloom,"Soar:An architecture for general intelligence",Artificial intelligence, vol. 33, no. 1, pp. 1 - 64, 1987.
[0011] [5] J. E. Laird,"Extending the Soar cognitive architecture",in Proceeding of the 2008 conference on Artificial General Intelligence 2008:Proceedings of the First AGI Conference, 2008, pp. 224 - 235.
[0012] [6]R. Adobbati, A. N. Marshal 1, A. Scholer, S. Tejada, G. A. Kaminka, S. Schaffer,and C. Sollitto,"Gamebots:A 3d virtual world test-bed for multi-agent research",in Proceedings of the second international workshop on Infrastructure for Agents, MAS, and Scalable MAS, 2001, pp. 47 - 52.
[0013] [7]M. Buro,"0RTS: A hack-free RTS game environment",Computers and Games,pp. 280 - 291,2003.


【发明内容】

[0014] 本发明的目的是针对现有交互式游戏引擎没有较完善的人工情感系统的不足,提 供一种交互式游戏中智能非玩家角色的人工情感驱动方法。
[0015] 本发明包括以下步骤:
[0016] 1)启动全局知识库,加载初始行为规则,初始化人工情感系统参数;
[0017] 2)运行多智能体,连接全局知识库,并进入等待状态;
[0018] 3)加载世界接口,接口 一端连接游戏服务器,同游戏虚拟环境交互,接口另一端连 接多智能体,向其发送虚拟环境信息或转发多智能体的控制指令到游戏虚拟环境中;
[0019] 4)多智能体进入主循环开始工作,分别并发处理非玩家角色感知到的虚拟环境信 息,更新虚拟人物的内建需求水平,相应的动机强度,系统参数,计算虚拟人物的人工情感 强度并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作策略,最后 将动作通过世界接口作用于游戏虚拟环境中;
[0020] 5)世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全 局知识库,然后关闭全局知识库,退出世界接口。
[0021] 本发明解决游戏开发中设计非玩家角色行为工作繁重,角色行为过于机械,缺乏 适合的情感表现的问题,同时提升游戏玩家游戏时的沉浸感。本发明采用松耦合的多智能 体设计模式,并使用一个全局知识库存储虚拟人物的感知、记忆、动作等信息,将非玩家角 色的内建需求、虚拟环境信息、系统参数、人工情感、行为控制有效地整合成一个复杂、动态 控制系统,实现对智能非玩家角色的自动控制。

【专利附图】

【附图说明】
[0022] 图1为本发明的全局知识库的部署及其与后台数据库和多智能体的连接示意图;
[0023] 图2为本发明的整体系统架构及各大组件的结构示意图;
[0024] 图3为本发明步骤4)基于多智能体协同工作的人工情感系统的原理图。

【具体实施方式】
[0025] 为了使本【技术领域】的技术人员更好地理解本发明方案,下面结合附图对本发明作 进一步的描述。
[0026] 1.启动全局知识库,加载初始行为规则及系统参数
[0027] 1):读取配置文件,获取知识库服务端口,后台数据库服务端口;
[0028] 2):启动后台数据库,加载初始行为规则及人工情感系统参数;
[0029] 3):通过知识库服务端口向智能体提供数据服务。
[0030] 全局知识库采用超图作为统一的知识表示方法。超图是对一般图的扩展,其显著 特点是每条边可以连接任意多条边和顶点。其基本的存储单元称为"原子"(Atom)。每一 个原子(Atom)携带的值(Value)的结构为(STI,LTI,TruthValue,Confidence,Content)。 STI (Short Term Importance)和 LTI (Long Term Importance)可以用来模拟短期记忆 (Short Term Memory)和长期记忆(Long Term Memory)。TruthValue 和 Confidence 分别为 该原子(Atom)的真值和可信度。Content则是原子(Atom)具体携带的信息。
[0031] 知识库与情感系统各组件采用Client/Server的方式进行连接(参见图1)。每一 个单独的组件(如智能体)都具有各自的客户端,负责与服务端通信。客户端的主要功能 包括,向服务端发送存取指令,以及从服务端获得知识库中的数据。而服务端则负责驱动后 台数据库具体的读写操作。这种Client/Server架构具有分布式存储、易于实现并发与并 行、跨平台及语言无关性、便于实现通用算法的优点。
[0032] 知识库本身并不负责对数据(超图)的直接存取操作,而是将这些操作转化为后 台数据库的基本操作,即直接的数据存取操作是由后台数据库来完成的。这种设计的优 点是,充分利用现有的、成熟的数据库技术,避免"重复制造车轮";将相对抽象的知识存取 操作与具体的数据存取操作剥离,提高了系统的可移值性。后台数据库可以采用任何现有 的数据库技术,针对这里超图的知识表示方法,选择一些开源的、高效的NoSQL数据库,如 MongoDB, Redis是较为合适的。
[0033] 在步骤1第2)部分中,知识库中的每条行为规则,形如Context&Action - Goal, 其表达的意义为:在条件Context满足时,执行某一动作Action,将能达成目标Goal。
[0034] 在步骤1第2)部分中,人工情感的系统参数主要包括:每一个调节子(具体实施 第4部分详细介绍)的初始值;每一个内建需求D的初始水平U,期望取值范围的下限min_ 1,上限 max_l〇
[0035] 2.运行多智能体,并连接全局知识库
[0036] 1)读取配置文件,获取知识库服务端口,多智能体通信端口,世界接口通信端口;
[0037] 2)运行多智能体,读取知识库中的系统参数初始值,初始化相应变量;
[0038] 3)侦听世界接口通信端口,等待处理信息。
[0039] 图2展示了多智能体与游戏虚拟环境的消息通信(具体实施第3部分详细介绍); 图3展示了多智能体之间的消息通信(具体实施第4部分详细介绍)。
[0040] 3.加载世界接口,在虚拟游戏环境和多智能体之间转发数据
[0041] 1)读取配置文件,获取世界接口通信端口,多智能体通信端口;
[0042] 2)处理用户指令消息队列;
[0043] 3)处理虚拟环境信息消息队列;
[0044] 4)处理多智能体动作消息队列。
[0045] 世界接口(参见图2)是沟通多智能体与虚拟游戏环境的桥梁。它的内部保持有 3个消息队列,分别用于处理用户指令、虚拟环境信息及非玩家角色动作。
[0046] 在步骤3第2)部分中,用户指令消息队列存放来自游戏玩家的各种操作指令,对 于非玩家角色而言,由于玩家不需要直接操纵它们,因而这里的用户指令消息事实上只有 一个,即"退出游戏"。
[0047] 在步骤3第3)部分中,虚拟环境信息消息队列采用XML格式存放虚拟人物所观察 到的虚拟环境中的信息,对每一个观察到的物体,包含有以下信息:物体ID,位置,颜色,大 小,是否可移动,是否可交互。另外,为了减少消息通信的频度,提高通信效率,我们将某一 时刻所观察到的所有物体打包成一个消息,一次性发送给多智能体。同时,还要在消息中附 上观察到的时间(即当前系统时间),便于多智能体进行取舍。
[0048] 在步骤3第4)部分中,多智能体动作消息队列存放非玩家角色需要在虚拟环境中 执行的动作及其相应的参数。下面是一些常用的基本动作、参数及其说明。
[0049] goto (dir, V,step):向某个方向dir,以速度V,移动step步的距离;
[0050] jump (dir, step):向某个方向dir,跳跃step步距离;
[0051] eat (obj_id):吃编号为 obj_id 的物体;
[0052] drink(obj_id):喝编号为 obj_id 的物体;
[0053] pick_up (obj_id):捡起编号为 obj_id 的物体;
[0054] throw(obj_id):丢弃编号为 obj_id 的物体;
[0055] play (obj_id):玩耍编号为 obj_id 的物体;
[0056] follow(obj_id):跟随编号为 obj_id 的物体。
[0057] 4.多智能体进入主循环,生成人工情感并驱动非玩家角色人物行动(图3)
[0058] 1)感知智能体,负责接收虚拟环境信息,计算空间位置关系,并将相关信息写入到 全局知识库中;
[0059] 2)需求智能体,负责更新非玩家角色的内建需求水平以及相应的动机强度,并将 相关信息写入到全局知识库中;
[0060] 3)参数智能体,负责更新人工情感系统参数;
[0061] 4)情感智能体,负责更新非玩家角色的人工情感强度,并选择当前主要情感;
[0062] 5)动作智能体,负责发送动作序列中的第一个动作,若该序列为空,则先选择系统 主导动机,然后运行动作规划器生成新的动作序列
[0063] 在步骤4第1)部分中,感知智能体,需要首先解析以XML格式封装的虚拟环境信 息,然后计算相应的空间位置关系。空间位置关系分为二元位置关系和三元位置关系两 种。二元位置位置主要包括前(front),后(back),左(left),右(right),上(above),下 (beneath);三元位置关系主要是指介于两者之间(between)。由于二元位置关系具有对称 性,因此只需要计算出一半的二元位置关系便可以推算出与之对称的二元位置关系;三元 位置关系则是二位置关的基础上,依据一些判断准则得到的。
[0064] 在步骤4第2)部分中,首先需要为非玩家控制角色设定一些内建的需求,较为通 用的需求主要包括能量、水、完整性、确定性、自信度、亲和性。其中,完整性指的是虚拟人物 具有保护自身不受伤害,即保持完整性的需求;确定性主要反映的是虚拟人物对当前所处 环境的熟悉和了解程度;自信度的需求与虚拟人物成功达成目标的经历有关;亲和性是需 要其它虚拟人物共同参与才能被满足的需求,它是对人类社会需求的模拟和仿真。
[0065] 在步骤4第2)部分中,每一个需求都有一定的偏好范围或目标范围。当需求水平 落在相应的目标范围时,称作该需求被满足,否则需求不被满足。我们可以将人工情感系统 视为一个目标驱动的系统,其主要任务就是尽可能让所有这些需求都被满足。而当某一需 求不被满足时,虚拟人物会有一种试图将该需求水平恢复到偏好范围内的愿望,这种愿望 便构成了动机。动机的强度与相应需求的满足度呈负相关的关系。因此,我们用需求的满足 度来间接表征相应的动机水平。而虚拟人物某一需求的满足度则根据该需求的当前水平、 目标范围,通过一个非线性模糊函数计算得到。
[0066] 在步骤4第3)部分中,人工情感系统参数也称为调节子,它们一方面影响虚拟人 物的行为,另一方面构成了虚拟人物情感空间的基本维度。主要有以下4个系统参数:
[0067] (1)激活度,它表征感知和反应的激活程度。其作用是调节快速、激烈的活动与反 射性的、同认知相关的活动之间的平衡。当激活度较高时,虚拟人物倾向于快速响应外部刺 激,反之将则对外部刺激反应较慢,同时把更多的系统资源用于自身的认知活动。
[0068] (2)解析度,它决定了各种认知活动(如感知、动作规划)的精细程度。例如,当解 析度较高时,虚拟人物对环境的感知将更加注重细节,但缺乏整体性的观念,反之则通过牺 牲局部细节,把握全局性的观念。此外,解析度与激活度呈负相关的关系。例如,当激活度 较高时,虚拟人物往往选择降低解析度以提高响应速度。
[0069] (3)保护阀值,它控制智能体执行保护行为的频繁程度。保护行为可以是一系列 周期性执行的动作,其主要功能是检测外部环境的异常变化。保护阀值与当前主要动机的 强度呈正相关的关系,即在虚拟人物在面对紧急情况时(主要动机强烈),伴随着较高的保 护阀值,相应地减少保护动作的执行,将更多地资源用于处理当前的紧急事务(如自我保 护)。此外,保护阀值还与虚拟人物对当前环境的了解和熟悉程度有关(即确定性需求)。 不确定的、高度动态的环境往往需要更加频繁地执行保护动作,即对应较低的保护阀值。
[0070] (4)选择阀值,它通过引入偏好信息,帮助虚拟人物在几个相互冲突的动机之间作 出选择。由于目标驱动的系统中通常存在多个需求,系统往往会出现同时存在多个动机的 情况,而虚拟人物一次只能考虑一个动机,这就需要从中选择一个动机作为主导动机。选择 阀值通过调节当前选中的主导动机的权重,避免系统在几个相互冲突的动机之间振荡。选 择阀值随着激活度的增大而增大。例如,当虚拟人物面对危险的时候(伴随较高的的激活 度),它往往高度集中于当前选中的动机(对应较高的选择阀值),即确保自身安全的需求 (或完整性需求)。
[0071] 在步骤4第3)部分中,参数智能体,通过一组非线性方程来更新调节子的水平。更 新方程的构造方式可以灵活多样,但通常应满足以下一些基本原则:
[0072] (1)激活度同能量及自信度的需求有关。例如,当智能体具备足够的能量并能对自 身的能力充满信心时,往往意味着智能体已经做好了反应的准备。
[0073] (2)解析度与激活度呈负相关的关系。例如,当智能体准备做出快速响应的时候, 它往往无暇顾及其它的认知活动,譬如感知、探测环境中异常的变化,动作规划等。
[0074] (3)保护阀值则取决于智能体对环境的熟悉程度以及智能体的安全性。例如,当智 能体对环境比较熟悉的时候,或者正处于安全的环境中的时候,智能体倾向于减少保护性 的行为。
[0075] (4)选择阀值同智能体的自信程度呈正相关的关系。当智能体对自身能力充满信 心时,它放弃当前计划或中止当前动作的可能就较小。
[0076] 在步骤4第4)部分中,非玩家角色的情感用4个调节子及满足度构成的五维连续 空间来表达。例如高兴、悲伤、生气和恐惧这四种常用情感的可以如表1的方式定义。
[0077] 表 1
[0078]

【权利要求】
1. 交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于包括以下步骤: (1) 启动全局知识库,加载初始行为规则,初始化人工情感系统参数; (2) 运行多智能体,连接全局知识库,并进入等待状态; (3) 加载世界接口,接口一端连接游戏服务器,同游戏虚拟环境交互,接口另一端连接 多智能体,向其发送虚拟环境信息或转发多智能体的控制指令到游戏虚拟环境中; (4) 多智能体进入主循环开始工作,分别并发处理非玩家角色感知到的虚拟环境信息, 更新虚拟人物的内建需求水平,相应的动机强度,系统参数,计算虚拟人物的人工情感强度 并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作策略,最后将动 作通过世界接口作用于游戏虚拟环境中; (5) 世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态信息写入全局 知识库,然后关闭全局知识库,退出世界接口。
2. 如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(1)中,所述启动全局知识库,加载初始行为规则,初始化人工情感系统参数的具体 方法如下: 1) 读取配置文件,获取知识库服务端口,后台数据库服务端口; 2) 启动后台数据库,加载初始行为规则及人工情感系统参数; 3) 通过知识库服务端口向智能体提供数据服务。
3. 如权利要求2所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(1)第2)部分中,知识库中的每条行为规则,形如Context&Action - Goal,其表达 的意义为:在条件Context满足时,执行某一动作Action,将能达成目标Goal ; 在步骤(1)第2)部分中,人工情感的系统参数主要包括:每一个调节子的初始值;每 一个内建需求D的初始水平L,期望取值范围的下限min_l,上限max_l。
4. 如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(2)中,所述运行多智能体,连接全局知识库的具体方法如下: 1) 读取配置文件,获取知识库服务端口,多智能体通信端口,世界接口通信端口; 2) 运行多智能体,读取知识库中的系统参数初始值,初始化相应变量; 3) 侦听世界接口通信端口,等待处理信息。
5. 如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(3)中,所述加载世界接口,接口一端连接游戏服务器,同游戏虚拟环境交互,接口 另一端连接多智能体,向其发送虚拟环境信息或转发多智能体的控制指令到游戏虚拟环境 中的具体方法如下: 1) 读取配置文件,获取世界接口通信端口,多智能体通信端口; 2) 处理用户指令消息队列; 3) 处理虚拟环境信息消息队列; 4) 处理多智能体动作消息队列。
6. 如权利要求5所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤⑶第2)部分中,用户指令消息队列存放来自游戏玩家的各种操作指令,对于非玩 家角色而言,由于玩家不需要直接操纵它们,因而这里的用户指令消息事实上只有一个,即 "退出游戏"; 在步骤(3)第3)部分中,虚拟环境信息消息队列采用XML格式存放虚拟人物所观察 到的虚拟环境中的信息,对每一个观察到的物体,包含有以下信息:物体ID,位置,颜色,大 小,是否可移动,是否可交互; 在步骤(3)第4)部分中,多智能体动作消息队列存放非玩家角色需要在虚拟环境中执 行的动作及其相应的参数。
7. 如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(4)中,所述多智能体进入主循环开始工作,分别并发处理非玩家角色感知到的虚 拟环境信息,更新虚拟人物的内建需求水平,相应的动机强度,系统参数,计算虚拟人物的 人工情感强度并选择当前主要情感,选择当前主导动机,并在人工情感的指导下制定动作 策略,最后将动作通过世界接口作用于游戏虚拟环境中的方法如下: 1) 感知智能体,负责接收虚拟环境信息,计算空间位置关系,并将相关信息写入到全局 知识库中; 2) 需求智能体,负责更新非玩家角色的内建需求水平以及相应的动机强度,并将相关 信息写入到全局知识库中; 3) 参数智能体,负责更新人工情感系统参数; 4) 情感智能体,负责更新非玩家角色的人工情感强度,并选择当前主要情感; 5) 动作智能体,负责发送动作序列中的第一个动作,若该序列为空,则先选择系统主导 动机,然后运行动作规划器生成新的动作序列。
8. 如权利要求7所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(4)第1)部分中,感知智能体,需要首先解析以XML格式封装的虚拟环境信息,然后 计算相应的空间位置关系,空间位置关系分为二元位置关系和三元位置关系两种,二元位 置位置主要包括前,后,左,右,上,下;三元位置关系主要是指介于两者之间,由于二元位置 关系具有对称性,因此只需要计算出一半的二元位置关系便可以推算出与之对称的二元位 置关系;三元位置关系则是二位置关的基础上,依据一些判断准则得到的; 在步骤(4)第2)部分中,首先为非玩家控制角色设定一些内建的需求,较为通用的需 求主要包括能量、水、完整性、确定性、自信度、亲和性; 在步骤(4)第2)部分中,每一个需求都有一定的偏好范围或目标范围,当需求水平落 在相应的目标范围时,称作该需求被满足,否则需求不被满足。
9. 如权利要求7所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在于 在步骤(4)第3)部分中,人工情感系统参数也称为调节子,人工情感系统参数包括: a. 激活度,它表征感知和反应的激活程度; b. 解析度,它决定各种认知活动如感知、动作规划的精细程度; c. 保护阀值,它控制智能体执行保护行为的频繁程度; d. 选择阀值,它通过引入偏好信息,帮助虚拟人物在几个相互冲突的动机之间作出选 择; 在步骤(4)第3)部分中,参数智能体,通过一组非线性方程来更新调节子的水平,更新 方程的构造方式满足以下基本原则: a. 激活度同能量及自信度的需求有关; b. 解析度与激活度呈负相关的关系; C.保护阀值则取决于智能体对环境的熟悉程度以及智能体的安全性; d.选择阀值同智能体的自信程度呈正相关的关系; 在步骤(4)第4)部分中,非玩家角色的情感用4个调节子及满足度构成的五维连续空 间表达; 对每一种情感,其强度的计算方式为:首先根据4个调节子及满足度的当前水平以及 上表定义的隶属范围,通过一个隶属度函数,计算每一情感维度的隶属度;然后,将所有情 感维度的隶属度的加权平均作为该情感的强度; 当所有情感的强度计算完毕后,当前强度最大的情感被挑选出来,作为当前系统的主 要情感(f),然后在游戏中呈现出来; 在步骤(4)第5)部分中,采用以下的方法选择系统的主导动机: 若random(0, 1)〈选择阀值,则选择满足度最低的需求所对应的动机作为系统的主导 动机;否则,随机选择一个动机作为系统的主导动机; 其中,random(0, 1)输出一个[0, 1]范围内的随机数,其分布为均勻分布; 挑选出系统主导动机之后,智能体通过运行一个动作规划器,从当前主导动机出发,根 据知识库中的规则信息:条件&动作一目标,生成相应的动作序列。
10.如权利要求1所述交互式游戏中智能非玩家角色的人工情感驱动方法,其特征在 于在步骤(5)中,所述世界接口转发游戏玩家退出游戏的状态信息,多智能体将相关状态 信息写入全局知识库,然后关闭全局知识库,退出世界接口的具体方法如下: 1) 世界接口将用户退出游戏的指令转发给多智能体; 2) 多智能体将当前状态信息及相关数据写入到全局知识库中,向世界接口发送退出状 态信息,然后退出主循环; 3) 全局知识库等待多智能体服务请求超时,关闭后台数据库,关闭知识库服务端口; 4) 世界接口接收到所有多智能体退出状态信息,或等待退出状态信息超时,尝试强行 关闭多智能体,向游戏虚拟环境发送退出状态信息,然后退出主循环。
【文档编号】G06F9/445GK104102522SQ201410369468
【公开日】2014年10月15日 申请日期:2014年7月30日 优先权日:2014年7月30日
【发明者】蔡振华, 周昌乐, 黄德恒 申请人:厦门大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1