设为首页 加入收藏

TOP

C++简单NPC和智能NPC
2014-10-22 23:30:04 来源: 作者: 【 】 浏览:60
Tags:简单 NPC 智能

  这两种NPC的区别在于是否存在NPC AI脚本。


  简单NPC没有AI脚本,只有NPC的移动,攻击的简单反应。


  智能NPC是由AI脚本控制的。


  从处理逻辑上看,简单NPC不需要独立的AI处理,而智能NPC具有独立的AI循环。


  智能NPC处理时与人物角色相同,是一个对游戏世界作出反应的智能生物。


  简单NPC与物品的处理相同,仅仅是一些数据,如果没有智能生物可以感知到它们时,


  它们不需要存在,也不需要游戏主循环进行处理。


  当智能生物的感知区域包含简单NPC时,它们才会实例化。


  例如,两个智能NPC会相互攻击,不管周围是否有人物观察,


  服务器总是在处理它们的移动和攻击。


  而简单NPC如果周围没有智能生物的观察,它们是不存在的,


  服务器不需要对无需感知的简单NPC进行处理。


  智能NPC要求游戏主循环处理,应尽量减少数量。


  如果智能NPC的行为是确定的,不需要时时处理,就应该转为简单NPC。


  例如NPC的回血是确定的,t1时刻的血量已知,那么当它在t2时刻进入角色的感知时,


  血量完全可以从时间差计算出来,没必要在t1-t2时段中时刻计算,


  没必要为了计算回血而把它当作智能NPC。


  如果该NPC能够在AI脚本控制下吃红药回血,服务器无法预测到回血量时,


  该NPC就是智能NPC,必须时刻处理。


  编辑特别推荐:


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C++XML解析之TinyXML篇 下一篇C++Precept和NV类的封装

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: