我想实现即时战略游戏中一堆兵过一个小路口的场景,[求思路]

zimu911 2008-04-01 06:53:32
星际中选2队狗过一个路口的情景,后面的等前面的,大家挤来挤去。。。。

或者就是人群逃生模拟。。。

是不是对每个agent做A*的寻路呢?怎么效率高啊

求思路算法。。。。。。

PS:曾经试图拿纯碰撞做,发现效率太低,还会出错,后来打算做AI
...全文
156 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
knowledge_Is_Life 2008-05-01
  • 打赏
  • 举报
回复
等待牛人来答.
zimu911 2008-04-15
  • 打赏
  • 举报
回复
恩恩,的确可以用独占来试试,LS的思路给了我点启发
不过我希望这个方法能扩展,而不光是这个问题

我现在的思路(明天实现检测)

但从过路口来看:队伍会同一方向,所以碰撞发生后,通过计算碰撞物体和自己位置的向量来判断物体在前还是在后,前面的继续走,后面的等待一会,然后再走

当然检测不能时刻进行,需要给物体一定时间离开碰撞范围。。嗯嗯


更普遍来讲,通过判定位置向量(差值)方向和方位向量(朝向)

假如同向,则一个等待,一个走
假如反向,则向自己偏向的方向唯一出一定距离,然后再重新寻路

不知大家对我的想法有什么看法。。。。。。。。。。。。。。

还有点特殊情况我没考虑。。。。一开始不宜想得太细嘛,呵呵
wood87654321 2008-04-15
  • 打赏
  • 举报
回复
如果路口只是一个坐标点,那么所有元素必须线性通过该点,换句话说在一个时钟周期内只能有一个元素到达该点,因而在此之前任何碰撞检测和四下移动除了视觉效果外并没有什么实际意义。邻近路口后简单处理方法是:
1、只对每个元素到达该路口点进行一次寻路并保存各自路径,此过程只考虑地物障碍而忽略其它元素在路径上的阻挡
2、在每个时钟周期内循环检测各元素能否移动到自己路径中的下一点,能则动,不能则等,如此直到所有元素到达路口点
zimu911 2008-04-15
  • 打赏
  • 举报
回复
看来不能用碰撞做,有个貌似叫集群算法的。。。谁知道
matchboy 2008-04-14
  • 打赏
  • 举报
回复
感觉不是很难。

zimu911 2008-04-13
  • 打赏
  • 举报
回复
顶上去
zimu911 2008-04-05
  • 打赏
  • 举报
回复
其实就是想实现人群撤离模拟。。。

我现在想每个agent自己进行寻路,然后检测碰撞,假如产生碰撞,就等待一会,然后继续(不行的话就产生碰撞,再次寻路,没有路再等,嗯嗯)

每个agent在寻路时不知道其他agent的存在

不知这样行不行,会不会死掉,效率如何。。。。。自己正在尝试呢


又没有做过类似的,给点思路
超级大笨狼 2008-04-04
  • 打赏
  • 举报
回复
状态机实现了吗?
rocket_eee 2008-04-02
  • 打赏
  • 举报
回复
生产者消费者问题,前面的不走,后面的就左右寻路

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧