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

精华修改于2019/03/261213 浏览综合
大家好。
我发现有很多喜欢《机擂》的玩家,对于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秒后”那就只需要一个时间检测即可。考虑到距离检测还是非常重要的,我就先这么写了。
希望这一篇能对大家有帮助。之后可能会不定期更新。
大家可以在回帖里说说想让机器人实现一个什么样的战术,下一期我会挑一个比较有代表性的实现一下。
谢谢大家。
7
5
18