游戏中的ai设计

我们游戏开发中,很多时候会用到Ai,什么是Ai,就是智能。比如boss,他作为我们要击杀的对象,当我们去攻击它,他会攻击我们,并会释放技能,当他血量很弱少,有些怪物会发动狂暴,暴击等技能,来维护保持它的状态。那么它作为一个怪物,他就是智能的,我们设计这样一个boss,就是要设计它的Ai。

我们以dota为例,先进行一些ai分析。小怪,也就是那些30s一刷新的怪物,杀死之后会得到经验,他们其中有的2人一组,3人一组,或者好几人一组,默认情况下,是躲在 他的领地,保护着他的巢穴,我们的角色攻击他时,它们就会攻击我们,有技能的一直放技能,知道蓝用光,没有技能的一直a;这是我们发现打不过他们了,我们才1级,血薄蓝少,怎么办,跑啊,我们的移动速度高于小怪,我们就能跑了,那么小怪呢,他会一直跟着我们,直到我们的角色跟它的距离超过一定距离,或者它距离他的老巢超过一定距离,他们就会回家,不跟我们玩了。所以小怪的ai设计还是比较容易的。

dota中还有一种ai,就是我方一直派出去的小兵,他们每隔一定时间生成,并向着敌方塔移动,我们有一种技巧,叫卡小兵,挡在小兵的前方,这时小兵发现,前面被挡住了,“让开,我要向前走”,当然它可以这么想,我们不一定会这么做,怎么办,它们只能绕道走,怎么走,该往哪走,我们有过这样的经验,就是你中午着急去取餐,走在2楼的桥上,这时候,前方有一个走的很慢的人,挡住了你的路,怎么办,懒得跟他交流,绕过他,找绕过他距离最短的路线,如果我们的身体中心为一条线,和对方身体中心线比较,如果离左面近,就会从他的左边绕道,反之,右边,小兵也是一样,我们每个角色身体都占有一定的空间,怎么好过,怎么绕。但小兵在被挡住那一刻还是有一定的迟疑的,为了体现他在思考,不至于那么imba,这时候我们发现他想绕过我们,我们循序往它要绕的方向移动,再一次挡住了它的去路,再一次迟疑,再一次绕,如此往复,直到遇到对方小兵。

前方说到小兵绕,这其实,就跟寻路有关,小兵怎么知道左边绕一定比右边绕近,万一到了右边发现是个死胡同呢,这就是寻路,如果你说前面不是说,用简单的算法就能算出往左往右,把算法弄大,弄多不就行了,但是别忘了,有一种神牛的存在,就是放置沟壑,把前方整条路都堵死,如果按照走一步算一步的操作,小兵能够顺顺利利到达沟壑那,然后呢,又不能跳过去,这时我们发现小兵发现前方有沟壑不是走到沟壑那,而是从别的小路绕过了沟壑,你一定会说,小兵是着一定的行家啊,哪都知道怎么走,但是我要说,这其实就是自动寻路寻找最短路线到达目的地的一种技术。

全年说到的都是小兵啊,怪物,他们的设计一定按照他们的自身状况,不能设计的太鸡贼,毕竟不是高等生物人类么,但是有时候我们就是要设计这种高等生物,人类,什么呢,机器人,玩过王者荣耀的都知道,掉线之后,我们的人是被操控的,被谁操控的,ai啊,他们跟人类的操作很像,a你,放技能,打小兵,你完全看不出什么,你去杀他,他也会反击。那么这种机器人有什么好处呢,当有人掉线,ai会控制他,不至于造成5打4的局面,还有就是当游戏发展初期,玩家数量较少时,无法满足玩家一上线就有很多玩家跟他一起开站,那怎么办,仿人类的机器人跟他们玩,让这个用户留存下来,这样越滚越大么,那么怎么设计机器人呢,下面说说高等ai是怎么做的。

既然是高等ai人类,那么人类的喜怒哀乐都会在他身上体现。他一个人在那,周围没有人的时候,他会想,他去干嘛,先升级,这时候遇到其他人类,先下手为强,攻击他,打着打着,发现打不过,跑啊,能跑多快跑多快,终于能跑到安全的地方,怎么办,不是傻站着,补充恢复啊,这时候等级上来了,遇到个人,杀呀,发现对方快没血,也跑了,怎么办,追,发现对方跑的有点快,算了,不累了,或者追的过程遇到其他玩家,还得跟他作战,这时候追的残血玩家回来跟他一起杀你,你又血量不足,还是要跑,往哪跑,往没人的地方跑,哪没人,我可是机器人啊,整个游戏数据,服务器数据我都能知道(当然,还得是这个时空,不能说你跑到了别的房间,穿越了!)所以这样鸡贼的机器人,属于高级ai,这种ai,除非你们一起围堵他,不然,很难杀死。

那么都是这种机器人,那玩家玩个屁呀,所以ai也要有ai的难度等级,不同等级,对应不同程度的鸡贼,这个等级,可以根据附近玩家的等级,进行一定的算法运算得到,所以很灵活的。

你可能感兴趣的:(游戏中的ai设计)