计算机二级

3773考试网计算机等级考试计算机二级正文

C++ 中简单NPC和智能NPC

来源:fjzsksw.com 2010-7-28 9:41:37

 

NPC可分为两种:简单NPC和智能NPC,这两种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,必须时刻处理。

 

 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1