迷路における追跡アルゴリズム

迷路において、敵が標的(プレイヤー)を追いかけるアルゴリズムをどのように実装するか。
 
まず、視界に標的がいない場合

  1. ランダムに動く
  2. 同じところをグルグル回る

基本的には、このレベルが楽な気がします。
賢い敵であれば、壁越しでも物音や気配を感じて、
なんらかの反応をするのも面白いかも。
 
視界に標的を発見した場合

  1. 追いかける
  2. 飛び道具を使う

2は攻撃範囲に標的が入った場合ですね。
この場合に、標的との距離がかなり離れている場合は、

なんてのもアリですね。
ただ、迷路の構造を理解している賢い敵であることが必要ですね。
 
そして、視界から標的が消えた場合

  1. 消えた場所まで追いかける
  2. 追跡終了

2は消極的ですね。
ただ、深追いをしない(待ち伏せされると危険)という意味では強力なルーチンですね。
 
一応、視界から消えた標的を、消えた場所まで追いかけた場合

  • 1本道であれば、さらに追いかける

ということができますね。