非玩家控制角色的智能控制方法

文档序号:7669078阅读:933来源:国知局
专利名称:非玩家控制角色的智能控制方法
技术领域
本发明涉及智能学习技术,特别是涉及大型多人在线游戏(MMOG)中非玩家控制 角色(NPC)的智能控制方法。
背景技术
随着网络游戏的智能化发展,大部分网络游戏都引用了人工智能技术。作为游戏 的核心,人工智能能提供更多、更为真实的游戏挑战,激发玩家的兴趣。另外,人工智能在游 戏可玩性方面往往也起着决定性因素,把人工智能应用于游戏中,会使玩家感觉到游戏中 的人物行为具有令人信服的合理性,从而吸引玩家,并有效促进游戏开发的成功。目前,提出了一种启发式加速评估Q学习方法(简称HAE-QL方法),采用该方法可 以对游戏中非玩家控制角色所执行的动作进行智能决策。在该方法中,引入了启发式和评 估来加速标准Q学习方法。这里,通过使用一个启发函数在学习过程中影响行动的选择,使 用一个评估函数来评估所选择的动作,以减少不必要的探索,提高学习效率。为了保证该方 法的有效性,启发函数和评估函数是根据Q函数来计算的。具体的实现流程如下步骤1、NPC根据其协作NPC当前发送的状态信息,更新自身保存的历史经验信息。这里,所述状态信息包括协作NPC在其上一状态下所执行的动作的Q (st,at)、启发 函数Ht(st,at)以及评估函数Et(st,at)。所述历史经验信息对所有NPC而言,是相同的,即对各NPC而言是共享的,各NPC 将根据该信息决策自身当前所需要执行的动作,当NPC执行完一个动作时便需要通过发送 状态信息包通知其协作NPC更新各自的历史经验信息,以确保该信息在各NPC中的一致性, 从而实现各NPC的协作行动。步骤2、所述NPC从周围环境中获知自身的当前状态。步骤3、按照公式(1)来选择当前状态下的动作π (st)。
权利要求
1.非玩家控制角色(NPC)的智能控制方法,其特征在于,该方法包括以下步骤a、当NPC收到网络包时,确定所述网络包的类型;如果所述网络包为更新信息的网络 包,则根据所述网络包更新自身保存的协作NPC位置信息;如果所述网络包为协作NPC退出 消息,则删除自身保存的所述协作NPC对应的信息;b、所述NPC利用基于卡尔曼滤波的航位推算(DeadReckoning,DR)方法,根据所述NPC 及其协作NPC的上一时刻的状态信息,预测所述NPC及其协作NPC的下一时刻的状态信息, 所述状态信息包括NPC的位置、速度和角度信息;C、所述NPC根据所述上一时刻的状态信息和所述预测到的下一时刻的状态信息,利用 启发式加速评估Q学习方法,预测所述NPC和其协作NPC当前选择的动作;d、所述NPC判断是否存在至少一个协作NPC的所述预测动作满足第一条件,所述第一 条件为所述预测动作被执行后所得到的回报值与相应状态下能够得到的最大回报值的差 大于预设的阈值 ;,如果存在,则将满足所述第一条件的预测动作所对应的协作NPC的所述 下一时刻的状态信息,通过更新信息广播给所述NPC的协作NPC ;e、所述NPC判断是否存在至少一个协作NPC的所述下一时刻的状态信息满足第二条 件,所述第二条件为该状态信息中的位置、速度或角度信息和上一时刻对应值的差大于预 设的对应阈值,如果存在,则将满足所述第二条件的状态信息所对应的协作NPC的所述下 一时刻的状态信息,通过更新信息广播给所述NPC的协作NPC ;f、所述NPC根据所述下一时刻的状态信息,重新绘制所述NPC及其协作NPC。
全文摘要
本发明提供了一种非玩家控制角色(NPC)的智能控制方法,NPC在收到网络包后,利用基于卡尔曼滤波的航位推算方法对所有NPC下一时刻的位置、速度、角度进行预测,根据该预测结果以及各NPC上一次的位置、速度、角度,预测各NPC所选择的行动,并且只有在预测的信息不够准确时,才向协作NPC广播更新信息,使各协作NPC进行状态信息的更新。如此,通过减少更新信息的广播次数,可以降低MMOG运行时对服务器的压力,同时还可以减少MMOG通信中的传输延迟及信息包丢失对NPC协作效果的影响。
文档编号H04L29/06GK102136025SQ201010624448
公开日2011年7月27日 申请日期2010年12月31日 优先权日2010年12月31日
发明者刘毅, 王洪彦 申请人:北京像素软件科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1