真Unity3d_AI四选一

来源:互联网 发布:vb for循环退出 编辑:程序博客网 时间:2024/06/18 06:43


(这里说的4个AI只是游戏里的AI,并不是特斯拉(Tesla)或者下围棋很厉害的某蓝机器人,更不是CSDN首页上面鼓吹的教科书里的人工智能)

Advanced Battle AI 1.6.0

(看样子是很吊,和PlayMaker绑定,如果项目没用PlayMaker,要解绑也需要不少功夫)


SuperTurrets AI Targeting System v2.0

(坦克瞄准系统,RTS系统用应该不错)


Advanced AI 7.0

(7.0啊,真的就是很坑,我被坑了2天,改用下面的AI了)


虽然Advanced AI出到7.0版本,也确实是实在是垃圾代码中的典范,果然并不是国外月亮就是圆的,例如很多的印度程序员其实也不怎么样,我只是针对程序本身来说,并不针对程序员,我并不是那种喜欢重复造轮子练手的人,也不是一用就觉得作者写得那么差的吐槽者,但我实在想不到这个插件有什么值得称赞的地方,一开始我想找个逻辑比较容易改的,这也是我选这个AI的最大理由,以为可以修改二次开发方便,但事实是彻底失败了,却也想通了很多代码规范以及框架上的事情,只能说跌到地上了,至少抓一把沙子吧,不吃亏

Easy_AI_C#_1.3.1

(没得黑,4个核心系统,都很不错)


还有一个AI比较常能在网上见到,

是一个动物做封面的那个,

比较适合做生存游戏吧,

我们一般开发者用不上


虽然不比特斯拉无人驾驶,可是真的要做个产品,是非得抽象出来几个模块,一是可维护(瀑布流就算逻辑严谨也是很难符合当今的软件发展),二是方便扩展(可以多人协助,全网合作)。

而游戏里面的AI主要取决于状态机和决策树

所以Easy_AI_C#_1.3.1一开篇

第一个模块就是:状态机,(我选的这个AI)

详细这个不在这里说,先看看Easy_AI_C#_1.3.1其他几个模块)

在国内会翻译成有限状态机,我实在想不通, state machine是怎么能翻译出“有限”二字?我也不是要玩弄文字,但当你觉得你可以抽象成有限和无限的时候,其实就已经是在钻牛角尖了,而这个AI或者一般AI的使用者,只要你能抽象出一个状态机,用的比较顺手,那么就有无限的创意,这就是游戏需要的

Easy_AI_C#,在我看来具有一个“无限可能的有限”状态机


而第二个模块是?

Action?

有flee 和pursue功能,你姑且可以当他2个小工具,而Pursue,看说明,就是2个人1个凳子的游戏,当然你可以用这2个工具做你想要的游戏(玩过星际争霸的都应该知道,只有2个攻击?)

还有

Evade

Patrol

Can see object

Can hear object

Wander

Search

Target Researchable

(能抽象出来的几乎都被抽象出来了)


第三个模块是Formation Documentation(队形)

前面都是纯代码和框架,这个就是编辑器扩展了,牛逼


第四个模块是Notification Center Documentation

真心没见过有FSM没有Notification的,所以这AI不免俗,但还真是不会用,后面再看看


第五,我用了这个包的例子,其实做的不好的,我改进了一哈,但真不影响这个包的框架,1个老鼠屎坏不了一锅好粥,好产品就是好产品,你的代码是一个产品,如果写的够完善。你的游戏是一个产品,这个AI包也是一个不错的产品。

(软件这东西和艺术品差不多,一个软件能力的大小真不受限于团队中最短的软件制造者)


原创粉丝点击