[发明专利]基于状态机管理非玩家角色NPC的方法及相关设备有效
申请号: | 201811482751.6 | 申请日: | 2018-12-05 |
公开(公告)号: | CN109646959B | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 石仲斌 | 申请(专利权)人: | 深圳市迷你玩科技有限公司 |
主分类号: | A63F13/67 | 分类号: | A63F13/67 |
代理公司: | 深圳市隆天联鼎知识产权代理有限公司 44232 | 代理人: | 刘抗美 |
地址: | 518000 广东省深圳市南山区南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 状态机 管理 玩家 角色 npc 方法 相关 设备 | ||
1.一种基于状态机管理非玩家角色NPC的方法,其特征在于,所述方法包括:
响应于用户对系统的启动指令,确定所述系统中组成执行队列的活泼NPC、与组成非执行队列的稳定NPC;
每隔预设单元时间,遍历所述执行队列,同时,基于所述活泼NPC的当前行为状态与第一迁移条件的匹配结果,对所述执行队列中的各活泼NPC进行对应的队列状态迁移;
每当对所述执行队列进行遍历后,将预设的变量在当前数值上加1,并将所述变量的数值确定为所述对所述执行队列的已遍历次数,所述预设的变量的初始值为0;
每当所述已遍历次数达到预定阈值,在下一所述预设单元时间后,基于所述稳定NPC的当前行为状态与第二迁移条件的匹配结果,对所述非执行队列中的各稳定NPC进行对应的队列状态迁移;
响应于用户对所述系统的关闭指令,记录所有NPC的最终行为状态并关闭所述系统。
2.根据权利要求1所述的方法,其特征在于,所述响应于用户对系统的启动指令,确定所述系统中组成执行队列的活泼NPC、与组成非执行队列的稳定NPC,包括:
响应于用户对系统的启动指令,确定所述系统中所有NPC的初始行为状态;
基于所述所有NPC初始行为状态与预设执行条件的匹配结果,确定所述系统中组成执行队列的活泼NPC、与组成非执行队列的稳定NPC。
3.根据权利要求2所述的方法,其特征在于,所述确定所述系统中所有NPC的初始行为状态,包括:
获取距当前时间点最近的、系统存储的关于所有NPC的行为状态的记录;
将所述记录中的所有NPC的行为状态,确定为所述所有NPC的初始行为状态。
4.根据权利要求2所述的方法,其特征在于,所述基于所述所有NPC初始行为状态与预设执行条件的匹配结果,确定组成执行队列的活泼NPC、与组成非执行队列的稳定NPC,包括:
将满足所述预设执行条件的所述初始行为状态、对应的NPC确定为所述活泼NPC;
将不满足所述预设执行条件的所述初始行为状态、对应的NPC确定为所述稳定NPC;
按照对所有NPC的初始行为状态的确定时间先后顺序,将所述活泼NPC依次置于所述执行队列中;
按照对所有NPC的初始行为状态的确定时间先后顺序,将所述稳定NPC依次置于所述非执行队列中。
5.根据权利要求1所述的方法,其特征在于,所述每隔预设单元时间,遍历所述执行队列,同时,基于所述活泼NPC的当前行为状态与第一迁移条件的匹配结果,对所述执行队列中的各活泼NPC进行对应的队列状态迁移,包括:
每隔预设单元时间,确定所述执行队列中的各所述活泼NPC的当前行为状态;
将满足所述第一迁移条件的所述当前行为状态、对应的活泼NPC保留在所述执行队列中;
将不满足所述第一迁移条件的所述当前行为状态、对应的活泼NPC确定为稳定NPC;
将所述稳定NPC从所述执行队列中移除,置于所述非执行队列中。
6.根据权利要求1所述的方法,其特征在于,所述每当所述已遍历次数达到预定阈值,在下一所述预设单元时间后,基于所述稳定NPC的当前行为状态与第二迁移条件的匹配结果,对所述非执行队列中的各稳定NPC进行对应的队列状态迁移,包括:
每当所述已遍历次数达到预定阈值,在下一所述预设单元时间后,确定所述非执行队列中各稳定NPC的当前行为状态;
将满足所述第二迁移条件的所述当前行为状态、对应的稳定NPC确定为活跃NPC;
将所述活跃NPC从所述非执行队列中移除,置于所述执行队列中;
将不满足所述第二迁移条件的所述当前行为状态、对应的稳定NPC保留在所述非执行队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市迷你玩科技有限公司,未经深圳市迷你玩科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811482751.6/1.html,转载请声明来源钻瓜专利网。