吃豆人游戏:眼睛如何找到怪物洞?

322

我发现很多关于Pacman中鬼的AI的参考资料,但没有一个提到了在Pacman吃掉鬼后,它们的眼睛是如何找回中央鬼洞的。

在我的实现中,我使用了一种简单但可怕的解决方案。我仅仅硬编码了每个拐角应该采取的方向。

是否有更好或最佳的解决方案?也许有一种通用的解决方案,适用于不同的关卡设计?


12
你确定在角落处硬编码足够好吗?这并不能保证最佳路线。想象一下幽灵面对一条长而窄的通道。按照你的算法,他必须穿过整个通道,到达一个拐角,然后才能选择最快的路线。如果在每个方格上硬编码指定了方向,他可能会知道先掉头。 - Mark Peters
3
@Mark,这取决于你对“拐角”的定义。如果是T型连接,即使你只直走顶部线路,也可以通过。 - Thorbjørn Ravn Andersen
1
@Thorbjørn:我甚至没有谈论交叉口。看看这个游戏板:http://en.wikipedia.org/wiki/File:Pac-man.png。如果幽灵向右移动并位于左下角第二个点,它将一段时间内不会遇到任何交叉口。这将导致它比倒退(向左)并走最短路径多行进10个方块。 - Mark Peters
7
你的解决方案使用了路标点(或面包屑),我认为这是一种常用的技术,可以加速路径规划算法。 - Nick Dandoulakis
1
感谢所有的答案!我只是坚持了我的先前解决方案,并在每个角落硬编码了方向。要使其通用,需要关卡设计师/关卡文件在关卡定义中定义此信息。 - RoflcoptrException
显示剩余2条评论
22个回答

0
对于我的PacMan游戏,我编写了一个相当 "最短多路径回家" 算法,它适用于我提供的任何迷宫(在我的规则集内)。 它还可以穿过隧道运行。
当加载关卡时,每个十字路口的 回家路径数据 都是空的(默认值),一旦幽灵开始探索迷宫,它们的 十字路口回家信息 就会在每次遇到“新”十字路口或从不同的路径再次遇到已知的十字路口时得到更新。

-2

原始的吃豆人游戏并没有使用路径规划或高级人工智能。它只是让玩家相信它比实际上更深入,但实际上它是随机的。正如《游戏人工智能/Ian Millington, John Funge》所述。

我不确定这是否属实,但对我来说很有道理。老实说,我没有看到人们谈论的这些行为。例如,红色/布林基并不总是跟随玩家,就像他们说的那样。似乎没有人会故意一直跟随玩家。他们跟随你的机会在我看来是随机的。当四个敌人在一个小空间内移动时,被追赶的机会非常高,因此在随机性中看到行为是非常诱人的。至少在最初的实现中,游戏非常简单。查看这本书,它在第一章中提到了。


是的,它确实使用了一些人工智能。而且,在追逐模式下,Blinky会跟随吃豆人(不时地切换到此模式),所以这绝对是人工智能。 - Jean-François Fabre

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接