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

求思路,关于单位寻路的简单AI

[复制链接]
发表于 2012-8-2 17:43:49 | 显示全部楼层 |阅读模式
触发里的动作,命令单位攻击到某一点时,该单位总是沿着到目标点最短的路径移动。
哪怕该路径上只有一个小小的路口,路口上已经挤满了人。。
这样就是有上千个兵也要堵死在一个地方了。。

于是想实现这样一个效果:
命令单位攻击到某点时,根据地形给予单位多条路径选择,
让单位随机地沿着一条路径移动,或者通过判断某条路径上单位的数量多少来决定选择哪条路径。
思来想去了一个下午,仍然没有想到好的办法。但求高人指点迷津。。。
发表于 2012-8-2 20:19:45 | 显示全部楼层
数据结构的迷宫问题求解吗!
回复

使用道具 举报

发表于 2012-8-2 22:18:48 | 显示全部楼层
想要完全替代原有的ai寻径投入产出完全不成正比
简单路径的话,可以将修改单位所在位置的通行状态视为建筑,
当单位位置和ai移动目标之间的直接通行状态变化的话,路径会修改。

至于如何修改这个状态,貌似有相关属性可以改,不确定是否能真的可用
回复

使用道具 举报

发表于 2012-8-3 02:21:40 | 显示全部楼层
命令单位攻击到某点时,根据地形给予单位多条路径选择,
让单位随机地沿着一条路径移动,或者通过判断某条路径上单位的数量多少来决定选择哪条路径。
思来想去了一个下午,仍然没有想到好的办法。但求高人指点迷津。。。

如果是这样的寻路AI,玩家怎么掌握队伍的行动?
星际2的寻路AI是最短路径,除非你人为制造障碍物导致无法通行,否则单位从一个地方挤着过去总比绕过障碍物更快,因为星际2的AI,单位密集碰撞对速度的影响已经很小了,大部分情况下,最短路径=最高效率。
或者你设定的移动目标点并不是一个广阔的场景,首先到达目标点的单位停止移动并阻碍后来的单位,这才是导致堵塞的真凶。但是这个逻辑并不适合改动,否则你的移动指令就不具有准确性了。要避免这个问题玩家只需要选择更好的移动集结点就可以了。

不知道你实际想实现的是什么游戏效果?但我觉得问题不是寻路AI这儿。

1.路口太小,你指挥超过道路承载量的部队穿越,那必然会造成拥挤效果,如果没有,那才是不合理呢。

2策略失误,在有多条可通行路径的时候,你可以考虑分散部队并利用合适的移动序列使部队有效到达战场。这必须需要你手动的设定,因为程序AI无法知道你希望的分兵策略,如果由程序帮助你完成这个任务,你的战术会很被动。

3地形制作问题,你设计了一个以千计数的游戏战斗逻辑,但地图的地形只能容纳百单位的战斗场景。

如果你是希望让单位有序行动,星际2有个矩阵移动机制,你可以尝试一下能否利用它。
回复

使用道具 举报

 楼主| 发表于 2012-8-3 10:44:37 | 显示全部楼层

回 hdlll 的帖子

hdlll:命令单位攻击到某点时,根据地形给予单位多条路径选择,
让单位随机地沿着一条路径移动,或者通过判断某条路径上单位的数量多少来决定选择哪条路径。
思来想去了一个下午,仍然没有想到好的办法。但求高人指点迷津。。。

如果是这样的寻路AI,玩家怎么掌握队伍的行动?
....... (2012-08-03 02:21)
“在有多条可通行路径的时候,你可以考虑分散部队并利用合适的移动序列使部队有效到达战场”

是呀,如果是人为操纵部队的话,我肯定会这么考虑。
但是如果把这支部队交给电脑呢,
我就是想,随便用什么方法做个简单的AI让电脑也学会“分散部队并利用合适的移动序列使部队有效到达战场”
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-5 22:13 , Processed in 0.033328 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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