2014-4-11 NPC战斗那点破事

来源:互联网 发布:淘宝买家采集 编辑:程序博客网 时间:2024/04/27 22:35

这点破事看起来简单,实际要做的东西还是蛮多:

1. 侦测阶段
    涉及到阵营检测,警戒范围,视线检测,仇恨列表一堆事 .如果NPC是一伙人,得互相通知一起追,如果就看见你的宠物了,就得当看见你自己了吧?
2. 追击阶段
    我的NPC是水陆空三栖的,OK,看见你在空中飞,够不着是不是得飞起来去赶,你在地上跑,是不是得在合适的时候落地来K你?你跑水下去了,会游泳的也得下水吧,不会游泳咋办?得站那干瞪眼一段时间,你实在不上来就回去继续巡逻.
    追你追不上,得寻路返回原来的巡逻位置吧,如果追太远,寻路算法消耗太多,得以"消隐重现"的方式回去.
    对了,想想魔兽里面的巨龙,飞起来和落下去的时候是不是特别费劲特别真实,这个东西不能采用通常的移动算法,得特殊处理.
3.战斗阶段
    NPC得在合适的时候掏出合适的技能来K你,这些技能有些是瞬发的,有些是需要引导的,有些是可以移动时施放的,有些必须停下来才能施放,有些必须飞到天上才能施放,有些必须落到地面上才能施放. 如果是移动时能施放的,OK ,麻烦大了,在天上你的翅膀必须同时扇动着吧,在地上你的双腿必须同时在跑路吧,在水里面你的双脚必须得踩水吧.这个东西就需要多通道动画同时混合播放了.并且还不是一般的多通道动画,如果NPC可以同时在天上飞着K和在地上跑着K,你的模型中副动画通道还得提供两个,一个对应翅膀,一个对应双腿,飞着K的时候扇动翅膀,跑着K的时候撒开脚丫子...
    OK,前面的问题都解决了,现在NPC要K你了,拿着双手武器有双手武器的K法,拿单手武器有单手武器的K法,徒手有徒手的K法,OK这个问题也解决了,拿锤子敲你,拿木棍敲你,拿刀切你,拿牙齿咬你,需要发出不同的声音,配套不同的特效...
 
好了,前面的事情都解决了,K着K着你突然下线了,留下正在陪你玩的那个NPC咋办? 如果那一块地方就你一个玩家,那个K你的NPC就被自动切换到了"未激活"状态,你的服务器不能把那个NPC扔那不管了吧,是不是得把这类NPC找出来重置?

破事太多,太琐碎,以上只是随便列列,好消息是差不多都搞定了,终于可以喘口气了.
我这个demo以后随便改吧改吧就是一个正儿八经的游戏了,这也是我的目的.
 
附,为了实现各种K法目前已经实现的各种NPC: 

恐狼: 只能陆地K
小鸡: 不能K
山贼: 只能陆地K
山贼法师: 使用法术陆地K
锯齿狂鱼: 只能在水中K
狮鹫: 只能在空中K
巨龙: 能在空中和陆地K
鳄鱼: 能在陆地和水中K
鱼人: 能在陆地和水中K
地狱火: 只能在陆地K

0 0
原创粉丝点击