我发现在《吃豆人》中有很多关于幽灵AI的参考,但没有一个提到当幽灵被《吃豆人》吃掉后,眼睛是如何找到中央幽灵洞的。
在我的实现中,我实现了一个简单但糟糕的解决方案。我只是在每个角落都用硬编码标明了应该往哪个方向走。
有没有更好的/最好的解决办法?也许是适用于不同关卡设计的通用设计?
我发现在《吃豆人》中有很多关于幽灵AI的参考,但没有一个提到当幽灵被《吃豆人》吃掉后,眼睛是如何找到中央幽灵洞的。
在我的实现中,我实现了一个简单但糟糕的解决方案。我只是在每个角落都用硬编码标明了应该往哪个方向走。
有没有更好的/最好的解决办法?也许是适用于不同关卡设计的通用设计?
当前回答
这是我能找到的关于它是如何工作的最好的资料。
http://gameai.com/wiki/index.php?title=Pac-Man#Respawn 当幽灵被杀死时,它们脱离实体的眼睛会回到最初的位置。这可以通过将幽灵的目标贴图设置到该位置来实现。导航使用相同的规则。
这是有道理的。也许不是世界上最有效的方法但这是一种很好的方法不用担心另一种状态或者沿着这些线你只需要改变目标。
附注:我没有意识到那些吃豆人程序员有多棒,他们基本上是在非常小的空间和非常有限的内存中创建了一个完整的消息系统……太神奇了。
其他回答
对于更传统的寻路算法的替代方案,您可以看看(名称很合适!)吃豆人气味反对象模式。
你可以在启动时在迷宫中弥漫怪物洞的气味,然后让眼睛跟着它回家。
气味设置好后,运行成本非常低。
编辑:很遗憾维基百科上的文章已经被删除了,所以WayBack Machine来拯救…
在最初的《吃豆人》中,幽灵会通过“气味”在地图上留下痕迹,鬼魂会随机四处游荡,直到它们找到气味,然后它们会沿着气味路径直接找到玩家。吃豆人每移动一次,“气味值”就会减少1。
现在,一个扭转整个过程的简单方法是建立一个“幽灵气味金字塔”,它的最高点在地图的中心,然后鬼魂就会朝着气味的方向移动。
如果每个正方形都有一个到中心的距离值呢?这样,对于每个给定的正方形,你可以在所有可能的方向上得到相邻正方形的值。你选择最小值的正方形,然后移动到那个正方形。
数值将使用任何可用的算法预先计算出来。
对于我的《吃豆人》游戏,我创造了一个“最短多条回家路径”算法,它适用于我所提供的任何迷宫(在我的规则集内)。它也适用于隧道。
当关卡被加载时,每个十字路口的所有归途数据都是空的(默认),一旦幽灵开始探索迷宫,它们每次遇到“新的”十字路口或从不同的路径再次遇到已知的十字路口时,它们的归途路径信息就会不断更新。
这是我能找到的关于它是如何工作的最好的资料。
http://gameai.com/wiki/index.php?title=Pac-Man#Respawn 当幽灵被杀死时,它们脱离实体的眼睛会回到最初的位置。这可以通过将幽灵的目标贴图设置到该位置来实现。导航使用相同的规则。
这是有道理的。也许不是世界上最有效的方法但这是一种很好的方法不用担心另一种状态或者沿着这些线你只需要改变目标。
附注:我没有意识到那些吃豆人程序员有多棒,他们基本上是在非常小的空间和非常有限的内存中创建了一个完整的消息系统……太神奇了。