找回密码
 点一下
查看: 1119|回复: 4

如何制作一个不断跟随大部队的攻击AI?

[复制链接]
发表于 2018-6-20 14:28:02 | 显示全部楼层 |阅读模式
本帖最后由 杰拉鲁星人 于 2018-6-20 14:29 编辑

我个人摸索的预期效果:
该英雄有两个光环:
第一个光环是给周围友军一个行为,每个持有该行为的单位,在选择攻击目标时(无论是否抵达或开火,只是选择目标),会对该目标提前施加BUFF,施加BUFF层数取决于该单位的补给数(越大的单位权重越高)

第二个光环是周期性扫描全图敌人,对持有该BUFF层数最多的敌人进行攻击

问题:
1:选择目标就加BUFF这一逻辑怎么做?
2:以上方案能否有更节省运算量的优化?


 楼主| 发表于 2018-7-9 21:49:46 | 显示全部楼层
e…………好像沉了
回复

使用道具 举报

发表于 2018-7-10 18:25:06 | 显示全部楼层
如果你是用触发器发布的指令,可以直接获得某个单位周围有多少单位, 如果给每种单位一个权重值,就能求出这一团单位的权重。然后选择权重最高的一团就好。

点评

感谢,现在主要是不知道怎么做“选择目标就加BUFF”  发表于 2018-7-12 13:50
回复

使用道具 举报

发表于 2018-7-14 20:48:22 | 显示全部楼层
本帖最后由 yxxiaobin 于 2018-7-14 20:51 编辑

就是不用加buff啊。
比如让单位U跟随玩家P的大部队,制作的大致思路如下:
预先定义每种单位的权重,最好是一个实数值,如果认为都一样,也可以默认为1。然后:

定义变量:预选目标<单位>
当前权重<实数>
最大权重<实数>
其他略

动作:
选取玩家P的所有单位形成单位组Ug1
挑选Ug1中的每一个单位U1
        选取被U1周围一定范围内的玩家P的单位形成单位组Ug2
        挑选Ug2中的每一个单位U2
                将U2的权重增加到“当前团队权重”
        如果当前团队权重>最大团队权重,那么
                将当前团队权重设为最大团队权重
                将U1设为“预选目标”

这样,当循环结束后,预选目标记录的单位就是我们想要的权重最大的目标。考虑到单位很多很密的情况下,套嵌循环可能会超上限,所以建议把循环做成单独的动作组,并启用独立现成,然后调用它就行了。

               


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 点一下

本版积分规则

Archiver|移动端|小黑屋|地精研究院

GMT+8, 2024-11-22 10:19 , Processed in 0.039238 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表