科技宅男的勝利:吃豆人遊戲鬼的行動模式研究

加拿大程序員Chad Birch在《Understanding Pac-Man Ghost Behavior》這篇論文中詳細論述了吃豆人遊戲裡鬼們的行動模式,這裡簡單介紹:

總體來說,鬼的人工智能設計很簡單,到了一個格子才考慮下一步往哪格走,一次只想一步。另外程序規定不能往回走,即不能立刻回到上一個格子——只有在鬼改變模式的時候鬼會改變方向立刻往回走,以此提醒player鬼改變模式了。另外,在“害怕”模式下(吃了大豆子以後鬼變成藍色),鬼不會改變方向,因爲變成藍色本身就足以提醒player了。

“分散”模式 Scatter

在這一模式,每個鬼都有程序規定的目標格。但由於目標格在實際路徑外,而鬼又不能往回走,所以如果一直停在分散模式,它們會一直沿着圖示路徑繞圈

鬼的不同個性

紅色:Blinky 字面意爲“一眨眼的功夫”;個性是“追”。遊戲開始後總是第一個出來,直追吃豆人。在分散模式速度會增加。計算路徑的時候,目標設在當前吃豆人所在的格子。

粉色:Pinky;個性是“伏”。往吃豆人來的方向運動,伏擊。

藍色:Inky;個性“古怪”。在吃豆人吃了30個豆子以後纔出來,在計算路徑時會同時考慮吃豆人和紅色鬼的運動——首先計算吃豆人當前格子的前方2格,然後從紅鬼的位置到這一格作向量,這個向量的兩倍的位置就是它的當前目標格。

橙色:Clyde;個性”僞裝”。總是最後一個出來(在第一關要等三分之一的豆子被吃掉以後纔出來)。喜歡假裝它在走自己的路完全不弔你,因爲根據它和吃豆人的距離的不同,它會在兩種不同行動模式中進行轉換。如果它和吃豆人的距離大於8格,它就和紅鬼一樣將吃豆人當前格作爲目標;一旦靠近吃豆人8格以內,就和分散模式一樣,往左下角走。——所以,只要你不擋着它“回家”的道,就完全可以躲開它。

來源:煎蛋