氪老师的《机擂》AI课堂(一)

精华更新时间2019/3/261203 浏览综合
大家好。
我发现有很多喜欢《机擂》的玩家,对于AI部分还是弄不太明白。当然这可以说是游戏内的教程的做的不好。但我想说的是,在设计这个游戏的时候,最高优先级是游戏深度。因此有些东西确实在游戏内说不太明白。需要玩家自己去探索。为了能让大家更好的设计开发自己的AI,我觉得有必要稍微做一些启发性的教程。因此开了这个坑。
经常能看到一些评价说“希望能增加更多的AI语句。”但老实讲我觉得可能绝大多数玩家并不清楚现有的AI语句都能实现怎样的效果。
在这个系列文章中,每一次我都会以一个比较小的题目来演示一下AI系统是如何运作的,大家可以先弄一个空AI复制到测试机,然后按照截图中的AI配置自己拼一下进入测试功能中试试,看看效果。
这一次,我们来实现一个很简单的行为:周期性往复循环运动
我希望机器人能向右绕圈移动5秒,之后再向左绕圈移动5秒,之后循环往复。
这是一个比较简单的课题,下面我来贴一下各个AI组是怎么拼的。
第一AI组:
TapTap
解说:第一AI组内是一些我希望战斗一开始就必定会启动的项目,因此随便用了一个距离大于1的IF。之后是让机器人一开始就动起来并开启本机计时器。
第二AI组:
TapTap
解说:第二AI组控制的是刚开始5秒的行为,向右绕圈90度。
第三AI组:
TapTap
解说:第三AI组是控制机器人5秒后向左绕圈。为了安全起见将第二AI组关闭(其实这里不关闭也行,我只是为了演示当两个ai组的行为有冲突时的处理办法。)
第四AI组:
TapTap
解说:当一个循环结束时,也就是达到10秒时,我们要重置计时器,这样计时器会从0开始计时,完成了一个循环的行为,同时将第二AI组激活,让机器人的状态回到初始的状态。
这样一来,我们就通过四个AI组实现了一个简单的循环移动的行为。在这里我没有加上攻击相关的内容,大家可以根据这个思路自己添加需要的攻击行为,每个AI族内还有足够的空插槽。
这套AI配置需要玩家的头部零件支持时间检测和距离检测,不过如果你把第一AI组的距离换成“游戏开始1秒后”那就只需要一个时间检测即可。考虑到距离检测还是非常重要的,我就先这么写了。
希望这一篇能对大家有帮助。之后可能会不定期更新。
大家可以在回帖里说说想让机器人实现一个什么样的战术,下一期我会挑一个比较有代表性的实现一下。
谢谢大家。
评论18
只看作者
最热
TapTap
写下你的想法...
光影
楼主,我设置与对方距离小于8才会运行之后的,并没有什么自锁的东西存在,可是,为什么距离超过了8还在运行。是bug还是什么
氪老师
虽然没看到截图,不过我估计问题是这样的。比如你在距离小于8的时候将武器开启,之后武器就会处于开启状态。哪怕后来距离大于8了,但是如果你不使用关闭武器的部件,武器就依然会处于开启状态。如果你希望他大于8就关闭,需要单写。距离小于8时武器开启并不等于大于8就自动关闭。不知道我说清楚没有。
光影
明白了,完全明白
全部 5 条回复
南极鹅
我有个大胆的想法,开局开枪输出,然后溜了溜了,你打不着哈哈哈。头部零件错误什么鬼。。。
氪老师
头部零件错误的意思是你用了某一种的如果条件组件,但是头部零件不支持这种检测。举例来说,比如你用了当与对方距离如何如何,但是你的头部零件没法检测距离,就会出现这个提示。
小草
对方也可以开局溜了溜了,然后开枪输出呀233
全部 3 条回复
B.于洋
楼主,如何更好的实现让机器人不会在躲避的时候撞到墙角?
氪老师
像新手引导最后一关那样定期偏向90度不好用吗?
B.于洋
我加了敌人接近后退的部分,但躲着躲着就退到墙边了
小草
能不能给一个配置,当xx武器不在冷却中就开启,在冷却中就关闭?据我所知,没有检测武器不在冷却中的条件,倒有一个什么正常状态,我不知道这个正常是怎么正常法..
谢谢
氪老师
武器处于正常状态就是不在冷却中的意思。目前只有改锥,光束剑,两种导弹支持检测冷却。
小草
wwwww
在对方伤害与速度的碾压下AI一点作用都没有!
氪老师
不一定的
已经到底了
7
5
18