AIの行動を評価する際に出てくる以下の3つの概念について、その評価方法が混乱したので整理のために記事にしておきます。
- ユニットの攻撃範囲内に敵がいるか否か(教授の資料の"threatenes enemy" status)
- ユニットが敵の攻撃範囲内にいるか否か(教授の資料の"threatened by enemy" status)
- 脅威数(教授の資料のenemy threat)
- 何体の敵から攻撃を受けるかを表す数値
- 日本語だと危険度と呼ばれたりもする
教授の資料
https://vervefeh.github.io/FEH-AI/textguide.html
- ユニットの攻撃範囲内に敵がいるか否か("threatenes enemy" status)
- ユニットが敵の攻撃範囲内にいるか否か("threatened by enemy" status)
- 脅威数(enemy threat)
- 結局この話は何に影響するの?
- まとめ
ユニットの攻撃範囲内に敵がいるか否か("threatenes enemy" status)
「ユニットの攻撃範囲内に敵がいるか否か」の判定は現在の移動数に基づいた攻撃範囲で評価されます。つまり、ゲーム画面に見えている実際の攻撃範囲と一致します。以下の動画はそれを検証した動画です。
この場合、応援は攻撃範囲内に敵がいるユニットしか対象になりませんが、オフェリアがカミラを応援しています。つまり、カミラの攻撃範囲に敵がいると判定されています。ターン開始時のカミラの移動数は2で、ユラリユルレリによって途中で移動数が3に増えています。この移動数増加分が加味された状態で「ユニットの攻撃範囲内に敵がいるか否か」が評価されていることが分かります。“threatens enemy” statusはターン開始時の移動数でなく、現在の移動数を参照する証拠も一応 pic.twitter.com/EjgeFQNGxW
— ぷあーと@FEH (@puarts_FEH) January 30, 2021
ユニットが敵の攻撃範囲内にいるか否か("threatened by enemy" status)
「ユニットが敵の攻撃範囲内にいるか否か」はターン開始時(ターン開始時のスキルや設備の効果を評価した直後)の移動数で評価されます。つまり、ゲーム画面に見えている実際の攻撃範囲と一致しません。以下の動画はそれを検証した動画です。
一応後から探しやすいよう”threatened by enemy” statusがターン開始時の移動数で評価されてる証拠動画を上げておきます pic.twitter.com/NLZeKOX5zb
— ぷあーと@FEH (@puarts_FEH) January 30, 2021
この場合、応援は敵の攻撃範囲内にいるユニットしか対象になりませんが、オフェリアがアーダンを応援しています。つまり、応援の判定では敵の攻撃範囲内にいると判定されています。ターン開始時のレギンの移動数は3で、この時点だとアーダンはレギンの攻撃範囲内に含まれていますが、途中でレギンがグラビティ状態を付与されて移動数が1になり、アーダンはレギンの攻撃範囲外になります。その状態でも応援を受けていることから、ターンの途中の移動数変動が加味されずに、ターン開始時の移動数に基づいた「ユニットが敵の攻撃範囲内にいるか否か」が評価されていることが分かります。
脅威数(enemy threat)
「脅威数」はターン開始時(ターン開始時のスキルや設備の効果を評価した直後)の移動数で評価されます。つまり、ゲーム画面に見えている実際の攻撃範囲と一致しません。以下の動画はそれを検証した動画です。
一応脅威数がターン開始時の移動数で評価されてる証拠動画もぶら下げておこう pic.twitter.com/z6R6w7MPBe
— ぷあーと@FEH (@puarts_FEH) January 30, 2021
引き寄せは、引き寄せ対象のユニットの脅威数が引き寄せ後に減る場合のみ発動できます。動画だとカミラが攻撃したマスとその1つ上のマスの脅威数を比較して上のマスが小さければ、引き寄せを実行します。
ターン開始時のこの2つのマスの脅威数は両方とも1です。どちらのマスもレギンの攻撃範囲内です。
サンスグリズルによってレギンがグラビティを付与されると、レギンの攻撃範囲が小さくなるので本来であれば以下のように脅威数が変化します。
この状態であれば、引き寄せを実行する条件を満たしていますが、引き寄せを実行しません。このことから、脅威数はターン開始時の移動数で評価されていることが分かります。
結局この話は何に影響するの?
この3つの要素はそれぞれ以下に影響します。
- ユニットの攻撃範囲内に敵がいるか否か("threatens enemy" status)
- →敵が応援や移動補助、レストを実行するかどうかに影響します。また、応援や移動補助対象を選択する際の優先度に影響します。
- ユニットが敵の攻撃範囲内にいるか否か("threatened by enemy" status)
- →敵が応援や移動補助を実行するかどうかに影響します。
- 脅威数(enemy threat)
- →敵が攻撃、補助、移動などの行動をする際の移動先のマスの優先度に影響します。また、移動補助を実行するかどうかに影響します。
まとめ
- ユニットの攻撃範囲内に敵がいるか否か("threatens enemy" status)
- →ゲーム画面と同じ攻撃範囲で評価
→敵が補助を実行するかどうかだったり、補助対象選択の優先度などに影響 - ユニットが敵の攻撃範囲内にいるか否か("threatened by enemy" status)
- →ターン開始時の移動数に基づいた攻撃範囲で評価
→敵が応援、移動補助を実行するかどうかなどに影響 - 脅威数(enemy threat)
- →ターン開始時の移動数に基づいた攻撃範囲で評価
→敵が移動する時の移動先のマスに影響、移動補助するかどうかにも影響