User:Kyaco11/MOBの徘徊

MOBのさまよいのAI
マインクラフトのMOBが単独で行う行動の1つ、 MOBの付近から無作為に選ばれた場所への移動を実装しているAI. 一般的にランダムウォークや自発移動と呼ばれる行動はこのAIが働いている.

たいていのMOBで優先度は敵対行動や逃避行動よりも低く、 付近の他MOBや中空を見つめる行動よりも高い.

移動の目的地となる地点を無作為に選び、その地点への経路を探索し 、探索した経路に従い移動する、という流れで行動が決定される. 経路探索がある点で数学的な意味でのランダムウォークとは異なる.

さまようMOBの一覧
また、ガーディアンの移動でも同じ枠組みが使われる
 * ウィザー
 * ブレイズ
 * クリーパー
 * エンダーマン
 * エンダーマイト
 * アイロンゴーレム
 * シロクマ
 * スケルトン
 * スノーゴーレム
 * クモ
 * ウィッチ
 * ゾンビ
 * ニワトリ
 * ウシ
 * ウマ
 * ネコ
 * ブタ
 * ウサギ
 * ヒツジ
 * 村人
 * オオカミ

移動を開始する条件
さまよいの途中でなMOBは以下の処理を毎tick行う.

優先度が高く競合できないAIが働いていない
クリーパーの場合 といったAIが実装されている. この中で優先度が決まっている.
 * 泳ぐAI
 * 起爆前の膨れるAI
 * ネコを避けるAI
 * 攻撃対象に接近するAI
 * さまようAI
 * 近くの他MOBを見るAI
 * 中空を見るAI
 * 付近のプレイヤーを敵とみなすAI
 * 攻撃を加えてきたMOBを敵とみなすAI

詳細はAIのまとめのページに掲載したいが、とりあえずの理解としては、 起爆、ネコを避ける、攻撃対象への接近の3つのどれかが働いているときは さまようことはない.

MOBのageが100未満
スポーン直後やプレイヤーから32m以内にいるときはMOBのageは0に上書きされる. プレイヤーから32m以上離れると1tickごとにageが1ずつ増えてゆく.

抽選にヒットする
たいていのMOBは1/120の確率で抽選が行われる. ガーディアンのみ1/80の確率である.

移動の目的地となる地点が選ばれる
以下はホームポジションがない場合の記述. 村人などホームがあるMOBでは異なる.

MOBを中心として21×15×21の立方体の範囲内から1ブロックを選択し、 そのブロックの真下のブロックについてisFullBlockが真を返せば移動の目的地として決定される. これを決定されるまで10度繰り返し、最終的に決定されなければさまよわない.