Tbpgr Blog

元エンジニア 人事 tbpgr(てぃーびー) のブログ

パックマン99 - ゴーストがループ通路に一斉に向かっていく条件 #パックマン99

この話についてまとめます。事実ではなく推測です。

前提

ゴーストの移動アルゴリズム。初代パックマンのもの。たぶん、この基本は変わっていないという前提のもと考える。

ざっくり

  • ブリンキーはパックマンを目指す
  • インキーはブリンキーと点対称の位置を目指す
  • ピンキーはパックマンの4マス先を目指す
  • クライドはパックマンに近いと縄張りモードになる。遠いとブリンキーと同じ動きになる

という感じ。細かくはさっきの記事を読むとよい。
ちなみに、複数の方向の移動距離が同じ場合は上左下右の順で方向が決定される。ランダムではない。

なぜ一斉にループ通路にいくか?

基本、パックマンの敵は上記の移動ルール(アルゴリズム)にそって動きます。一切のランダム要素はありません。ループ通路にいく条件として追跡モードになっている必要があります。追跡モードと縄張りモードについては先程の記事を読んでください。

追跡モードの場合、各ゴーストは以下の条件で動きます

ブリンキー

おそらく①のほうが②よりも近いため①であるループ通路側を選択している

f:id:tbpg:20210919223730j:plain

インキー

左下の赤丸がブリンキーとパックマンの点対称となる位置。 おそらく①のほうが②よりも近いため①であるループ通路側を選択している

f:id:tbpg:20210919223739j:plain

ピンキー

おそらく①のほうが②よりも近いため①であるループ通路側を選択している。 今回は左を向いていたので向きに合わせた位置に赤丸の目印をしましたが、上を向いてたら上方向に4マスの位置になります(結果は変わらないと思う)

f:id:tbpg:20210919223747j:plain

クライド

クライドはパックマンの距離が遠いとブリンキーと同じ動きになるので、ループ通路を移動する理由はブリンキーと同じ

少なくとも追跡モード中であればあの位置関係でブリンキー、ピンキー、クライドは通路にいくと思います。
インキーの移動方向は、ループ通路にさしかかる瞬間のブリンキーの位置次第になります。

というのが、過去のパックマンのシステムを元にした予想です。距離も厳密にははかっていないのでたぶんそうだろう、という予測です。

追跡調査中

CPU戦で調査中。実際にやってみると

  • ピンキー - 追跡モードなら安定してループ通路にいく
  • ブリンキー
    • 縄張りモードなら安定して上に移動
    • 追跡モードかつ通常モードなら下に移動
    • 追跡モードかつ怒りモードなら基本左に移動。たまに下に移動

という結果に。

怒りモードについては、以下ページを参照。

関連

ゴーストをすべて倒したあと、①の場所で待機していると復活したゴーストがしばらくぐるぐるするのも同じように「そういう位置関係だから」になりそうです。

f:id:tbpg:20210919223757j:plain

関連資料