警察AIと手配度の仕組み(ビルドの設定から)
このゲームの手配度は「レベルが上がるほど、敵の数と種類が増える」設定で動いています。中身はビルドに設定クラスとして残っています。
01手配度の設定は 9 個のフィールド
ビルドのメタデータには WantedLevelConfig というクラスがあり、手配度ごとの警察構成を決めています。フィールド名は BotTypes、MaxCountBots、Chance、TypePoliceBotChance、Helicopter、ChanceSpawnRoadBarrier、UpProgressCoefficient、NrOfTrafficVehicles、MaxWantedLevel の 9 つです。
名前から読み取れるのは「レベルごとに、出す警察の種類・同時数・ヘリの有無・封鎖の確率・交通量・進捗の伸び方」をまとめて切り替えている、という構造です。
数値そのものはビルドの文字列からは取り出せませんでした。したがって「レベル 5 でヘリが 2 機」のような具体的な段数表は、本サイトでは作りません。分からないものは分からないと書きます。
02フィールドと役割
| フィールド | 所属 | 読み取れる役割 |
|---|---|---|
| BotTypes | WantedLevelConfig | 出す警察ボットの種類 |
| MaxCountBots | WantedLevelConfig | 同時に出る警察の上限 |
| Chance | WantedLevelConfig | 抽選確率 |
| TypePoliceBotChance | WantedLevelConfig | 種類ごとの出現確率 |
| Helicopter | WantedLevelConfig | ヘリを出すか |
| ChanceSpawnRoadBarrier | WantedLevelConfig | 封鎖を湧かせる確率 |
| UpProgressCoefficient | WantedLevelConfig | 進捗の伸び係数 |
| NrOfTrafficVehicles | WantedLevelConfig | 一般車の数 |
| MaxWantedLevel | WantedLevelConfig | 手配度の上限段数 |
| OnBotDead | WantedLevelTracker | 警察破壊で進捗加算 |
| OnTrafficAccident | WantedLevelTracker | 事故で進捗加算 |
| IncreaseProgress | WantedLevelTracker | 加算の共通入口 |
03ヘリと道路封鎖
警察の構成は車だけではありません。Helicopter というフィールドと、HelicopterWaypointMover という航路移動クラスがあり、上空から追う存在がいることは確実です。
道路封鎖は PoliceRoadBarrierPoint / RoadBarrierInitializer / SetRoadBarriers / RoadBarrierPoint の 4 つで作られます。名前の重複から、配置点(Point)と生成(Initializer)が分かれている構造だと分かります。
つまり逃走中に「前方に封鎖が湧く」ことがあります。これはランダムではなく ChanceSpawnRoadBarrier の確率で決まるので、手配度が高いほど遭遇率が上がると考えられます。
04停止させられる条件
ビルドには Arrest / Arrested という文字列があり、警察が対象を停止させる処理があります。速度がゼロに近い状態で囲まれると、そこで 1 回が終わると考えるのが自然です。
逆に、動き続けていれば停止させられにくいというのは追跡ゲーム全般に共通する原則です。このゲームでも、壁や一般車に挟まれて止まった瞬間が最も危険です。
なお「何秒止まると終了か」という秒数はビルドの文字列からは特定できませんでした。不明です。
手配度フィールドの逆引き
WantedLevelConfig / WantedLevelTracker のフィールド名からの読みです。値を伏せているのは、ビルドに数値が入っていないためです。
| フィールド | 持ち主 | 役割(名称からの読み) |
|---|---|---|
| BotTypes | WantedLevelConfig | レベルごとに出す警察ボットの種類 |
| MaxCountBots | WantedLevelConfig | 同時に出る警察ボットの上限 |
| Chance | WantedLevelConfig | 抽選確率(Type と対で使われる) |
| TypePoliceBotChance | WantedLevelConfig | 種類ごとの出現確率 |
| Helicopter | WantedLevelConfig | ヘリを出すかどうかの設定 |
| ChanceSpawnRoadBarrier | WantedLevelConfig | 道路封鎖を湧かせる確率 |
| UpProgressCoefficient | WantedLevelConfig | 進捗の増え方にかかる係数 |
| NrOfTrafficVehicles | WantedLevelConfig | その段階の一般車の数 |
| MaxWantedLevel | WantedLevelConfig | 手配度の上限段数(数値は不明) |
| OnBotDead | WantedLevelTracker | 警察ボットを破壊したときに進捗を足す |
| OnTrafficAccident | WantedLevelTracker | 事故を起こしたときに進捗を足す |
| IncreaseProgress | WantedLevelTracker | 進捗加算の共通入口 |