FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

トラキアCPU行動アルゴ解析


CPU行動アルゴリスト *資料 敵アルゴリスト


このリストは各マップイベントの 「オープニングイベント」、「出撃準備時に配置済みの敵」、「ターン経過イベント」などから
抜き出したものである。



・アルゴ1はメイン行動、アルゴ2はサブ行動と考えて良い。

・アルゴ3に関しては、行動CPUの射程内に攻撃対象ユニットが存在した場合の攻撃対象選択時に参照されるが
 ほとんど使われていない。         *資料 $78612 アルゴ3 BIT 0123 優先ポイント設定


・アルゴ4はBIT 7がONの場合は絶対に捕縛行動をとらない(他の目的でも参照されている?)。
 BIT 0123は全アルゴ共通の行動確率。  *資料 $78A0E アルゴ4 BIT 0123 行動確率

 また、BIT 012は傷薬を使用するかどうかの判断で使われる(最大HPに対する現在HPの割り合いチェック)
                          *資料 $785C0 アルゴ4 BIT 012 HPチェック

 BIT 456はアルゴ2の0Cで参照される(アルゴ2 0Cで記述)



=================================================================================================
=================================================================================================

アルゴ1


--------------------------------------------------------------------------------------------------
00 = 攻撃範囲(移動範囲+武器射程)チェック ; 攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック
                                攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
--------------------------------------------------------------------------------------------------
01 = 移動力をゼロにセットして攻撃範囲内をチェック ; 攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック
                                   攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
--------------------------------------------------------------------------------------------------
02 = 何もしない ; アルゴ2のチェックに移る
-------------------------------------------------------------------------------------------------
03 = 不明 ; プリースト系
-------------------------------------------------------------------------------------------------
04 = 不明
--------------------------------------------------------------------------------------------------
05 = 不明
--------------------------------------------------------------------------------------------------
06 = 攻撃範囲内をチェック ; 行動CPUの移動力を半分にして射程内をチェック。
                    行動CPUの攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック  
                     行動CPUの攻撃範囲内に攻撃対象がいなければ特定座標に戻る
                                                 ; 1章左上民家、道具屋にいるソルジャー
--------------------------------------------------------------------------------------------------
07 = 移動範囲内に行動終了ユニットがいるかチェック ; CPUの行動範囲内に行動終了ユニットがいれば踊る  ; 踊り子
                                    CPUの行動範囲内に行動終了ユニットがいなければアルゴ2をチェック
-------------------------------------------------------------------------------------------------
08 = 10ターン目から行動開始 ; 所持アイテム7から1に向かってアイテムチェック   
                       扉の鍵を持っていれば扉を開けようと行動し、宝の鍵を持っていれば宝箱を
                       開けようとする。 ; アイテム使用優先型? 
                       アイテムが使用できなければ射程内をチェックし攻撃する?    ;3章 ビショップ
--------------------------------------------------------------------------------------------------
09 = 不明
-------------------------------------------------------------------------------------------------
0A = 行動率80% ; 攻撃範囲内をチェック ; 攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック
                               攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
--------------------------------------------------------------------------------------------------
0B = 行動率50% ;
--------------------------------------------------------------------------------------------------
0C = 行動率80% ;未使用?
--------------------------------------------------------------------------------------------------
0D = 行動率50%                                           ;12章セイラム、12章外伝ティナ
--------------------------------------------------------------------------------------------------
0E = マップ上の移動可能範囲にリーフがおらず、攻撃範囲内に敵対ユニットがいる場合は攻撃優先ポイントをチェック   
     マップ上の移動可能範囲にリーフがいる場合、リーフに向かって移動する ; アルゴ2のチェックに移る
                                                                ;4章外伝アスベル
--------------------------------------------------------------------------------------------------
0F = 攻撃範囲内をチェック(リーフは攻撃対象から除外) ;攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック 
                                     攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
                                                                 ;7章シヴァ
--------------------------------------------------------------------------------------------------
10 = 宝箱、または扉を開ける。開錠後はアルゴが変化(02 0B);離脱タイプに変化         ;8章外伝シーフ
--------------------------------------------------------------------------------------------------
11 = 不明
--------------------------------------------------------------------------------------------------
12 = 不明
--------------------------------------------------------------------------------------------------
13 = 行動率20%
--------------------------------------------------------------------------------------------------
14 = ゼーベイア、副官 ;詳細未解析
--------------------------------------------------------------------------------------------------
15 = 18章シーフ    ;詳細未解析
--------------------------------------------------------------------------------------------------
16 = 扉に向かって移動、解錠する。開錠後は行動アルゴが玉座制圧型に変化(00 22)    ; 20章 扉の鍵持ちアーマー
--------------------------------------------------------------------------------------------------
17 = 攻撃範囲内をチェック(市民たちは攻撃対象から除外) ; 攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック 
                                        攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
                                      ; 19章 コノモール軍、アマルダ軍
--------------------------------------------------------------------------------------------------
18 = 攻撃範囲内をチェック(オルエンは攻撃対象から除外) ; 攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック 
                                        攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
                                      ; 22章 ラインハルト
--------------------------------------------------------------------------------------------------
19 = 攻撃範囲内をチェック(子供たちは攻撃対象から除外) ; 攻撃範囲内に攻撃対象がいれば攻撃優先ポイントをチェック 
                                        攻撃範囲内に攻撃対象がいなければアルゴ2をチェック
                                      ; 3章 ほとんどのマンスター兵

==================================================================================================
==================================================================================================

アルゴ2


--------------------------------------------------------------------------------------------------
00 = 最寄りの敵対ユニットを目掛けて移動する
--------------------------------------------------------------------------------------------------
01 = 最寄りの敵対ユニットを目掛けて移動する?
--------------------------------------------------------------------------------------------------
02 = 不明
--------------------------------------------------------------------------------------------------
03 = 何もしない ; 行動チェック終了 次のCPUの行動チェックに移る
--------------------------------------------------------------------------------------------------
04 = 不明
--------------------------------------------------------------------------------------------------
05 = 宝の鍵、または盗賊の鍵を所持している場合マップ上の全ての宝箱を開ける
    または
    マップ上の全ての村、民家、教会を破壊する :解錠する宝箱、破壊する村、民家、教会がなければ
    行動アルゴが離脱タイプになる
--------------------------------------------------------------------------------------------------
06 = 宝の鍵、または盗賊の鍵を所持している場合マップ上の宝箱を開ける
     または
     村、民家、教会を破壊する :宝箱を一つでも開ける、または村、民家、教会を一つでも破壊すると
    行動アルゴが離脱タイプになる?
--------------------------------------------------------------------------------------------------
07 = 行動CPUの存在座標が敵対ユニットの移動範囲内であれば、その移動範囲外に移動する。 ; 踊り子、プリーストなど
--------------------------------------------------------------------------------------------------
08 = 行動CPUの移動力+(移動力÷2)の範囲に敵対ユニットが侵入した場合、
    行動アルゴが変化(00 00) ; 行動アルゴが突撃タイプに変化
--------------------------------------------------------------------------------------------------
09 =  マップ上の全ての村、民家、教会を破壊する  ; 破壊する村、民家、教会がなければ行動アルゴが突撃タイプに変化
--------------------------------------------------------------------------------------------------
0A = 巡回移動する ; 移動先座標はマップID、アルゴ4のBIT45で設定  ※本記事下に詳細解説有り
                                          ; 4章マップ中央 ソルジャー4体、6章街中のソルジャー
--------------------------------------------------------------------------------------------------
0B = 離脱座標に向かって移動する
--------------------------------------------------------------------------------------------------
0C = リーフ軍ユニットのうち、周囲8マス以内に一定数以下の味方しかいないユニットに向かって移動する。
                                     ; アルゴ4のBIT456を参照 ;設定可能人数 0~7人まで
--------------------------------------------------------------------------------------------------
0D = 不明
--------------------------------------------------------------------------------------------------
0E = 不明
--------------------------------------------------------------------------------------------------
0F = 地形IDが$0D(門)の座標に向かって移動する   ; 門目標                         ;14章
--------------------------------------------------------------------------------------------------
10 = 行動CPUの移動範囲内のどこかにランダムで移動
--------------------------------------------------------------------------------------------------
11 = 移動範囲内にリーフがいる場合、隣接する ; 会話イベント発生  ; 4章外伝アスベル
--------------------------------------------------------------------------------------------------
12 = 不明
--------------------------------------------------------------------------------------------------
13 = 離脱座標に向かって移動する
--------------------------------------------------------------------------------------------------
14 = 特定座標まで移動する ; 射程内に攻撃対象ユニットが存在する場合、行動アルゴが変化(00 00) 
                   ; 9章 マーロック部隊
--------------------------------------------------------------------------------------------------
15 = アルゴ2が15のユニットの行動を一斉に変更する ; 突撃タイプに変化
--------------------------------------------------------------------------------------------------
16 = 移動範囲内にフレッドがいる場合、隣接する?  ; 会話イベント発生
--------------------------------------------------------------------------------------------------
17 = 地形IDが$05の座標に向かって移動する ; 地形IDが05の座標がなければ行動アルゴが玉座制圧型に変化
                              ; 城壁破壊タイプ                         ; 14章アーマー
--------------------------------------------------------------------------------------------------
18 = 地形IDが$17の座標に向かって移動する  ; 教会目標
--------------------------------------------------------------------------------------------------
19 = 地形IDが$0Dの座標に向かって移動する  ; 門目標                          ; 17章レジスタンス
-------------------------------------------------------------------------------------------------
1A = 名前IDが$EEのユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
1B = 名前IDが$EFのユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
1C = 名前IDが$F0のユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
1D = 名前IDが$F1のユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
1E = 名前IDが$F2のユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
1F = 名前IDが$F3のユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
20 = 名前IDが$F4のユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
21 = 名前IDが$F5のユニットに隣接した場合会話イベント発生、行動アルゴが離脱タイプに変化        ; 18章市民
--------------------------------------------------------------------------------------------------
22 = 地形IDが$1F(玉座)の座標に向かって移動する      ; 玉座目標                    ; 20章
--------------------------------------------------------------------------------------------------
23 = 宝箱に向かって移動、開封 ; 開封後離脱タイプに変化?
--------------------------------------------------------------------------------------------------
24 = 地形IDが$05の座標に向かって移動する ;地形IDが05の座標がなければ行動アルゴが玉座制圧型に変化
                              ;城壁破壊タイプ                           ; 20章アーマー
--------------------------------------------------------------------------------------------------
25 = オルエン以外のユニットに接近                                          ; 22章ラインハルト
--------------------------------------------------------------------------------------------------
26 = ラインハルトに隣接すると会話イベント発生? ; 離脱モードに変化
--------------------------------------------------------------------------------------------------
27 = セティに隣接すると会話イベント発生?    ; 離脱モードに変化
--------------------------------------------------------------------------------------------------
28 = 不明
--------------------------------------------------------------------------------------------------
29 = 子供以外のユニットに接近                                            ;3章 
--------------------------------------------------------------------------------------------------
2A = 不明
=================================================================================================
=================================================================================================

・補足解説


アルゴ1 06 ; 定位置待機型 ; 行動CPUの移動力を半分にして攻撃射程内をチェックする。
                      行動CPUの攻撃射程内に敵対ユニットがいない場合、特定座標に待機する 
                      *資料 $789BA 定位置待機型アルゴ 定位置座標設定
                      1章につき7個まで設定可能である。
                      アルゴ4のBIT 456を4回右ビットシフトした値を参照する

---------------------------------------------------------------------------------------------
アルゴ2 0A ; 巡回移動 ; 巡回移動タイプ(アルゴ2 0A)と隊形を維持したまま特定座標に移動タイプ(アルゴ2 14)
                   の移動先座標は$$788F2~のデータで設定されている 
                   *資料 $788F2 巡回、特定位置進行設定 ヘッダ

                   巡回移動タイプは1章につき7体分、1体につき8つ分の移動先座標が設定される
                   アルゴ4のBIT 456を個別IDとし、
                   アルゴ3のBIT 3456を移動先座標読み込みINDEXとする
 
          ※ 巡回タイプはそのうちの1体でもその攻撃範囲内に敵対ユニットがいた場合は全員突撃タイプに変化する

---------------------------------------------------------------------------------------------
アルゴ2 0B ; 離脱タイプ  ; 各マップには敵用、CPU用の離脱ポイントが設定されている。アルゴ2が0Bの場合
                    行動CPUは最寄りの離脱座標へ向かって移動する
                   *資料 $78706 各マップ 敵離脱地点設定
                   *資料 $7874C 各マップ NPC離脱地点設定

---------------------------------------------------------------------------------------------
アルゴ2 0C ; リーフ軍のうち周囲8マス以内に・・・ ; リーフ軍のうち、周囲8マス以内に一定以下の味方しかいない
                                   ユニットに向かって移動する。
                                    リーフ軍各ユニットの「周囲8マス以内のユニット数」は
                                   敵フェイズの始めにパラメータRAM+$3E(アルゴB)のアドレスに
                                   格納される
                                    「一定以下ユニット数」は行動CPUのアルゴ4 BIT 456が参照される。
                                   0人~7人まで設定可能。


(例) 10章ノエル渓谷のドボルザークのアルゴは 00 0C 00 30 と設定されているが、この場合周囲8マス以内に
    3体以下の味方しかいないユニットに向かって移動する。
    17章レンスターゲイトのミーシャ部隊の場合 00 0C 00 40 であるので4体以下、
    21章解放戦争のセイメトル部隊の場合は 00 0C 02 40 であるので同じく4体以下である。

---------------------------------------------------------------------------------------------
アルゴ2 14 ; 隊形を維持したまま特定座標に移動 ; 設定座標に向かって移動する。
                                   *資料 $788F2 巡回、特定位置進行設定 ヘッダ

                                   マーロック部隊(アルゴ2 14)のうち一体でもその攻撃射程に入り
                                   交戦すると、アルゴ2が14のユニットは全員 
                                   門制圧型(アルゴ2 0F)に変化する。

===========================================================================================
===========================================================================================

*感想

行動タイプをまとめると大体以下のようである。

-----------------------------------------------------------------------------------

・突撃型          ; 行動CPUに最も近い座標にいる敵対ユニットめがけて移動、攻撃するタイプ。

                 全ての敵対ユニットを標的とするタイプと特定ユニットを標的としないタイプがある。


・完全待機型        ; 移動せず、その場から攻撃可能な敵対ユニットに攻撃する。


・待ち受け型        ; 行動CPUの移動力+武器射程内 にいる敵対ユニットに攻撃を仕掛けるタイプ(待ち受け型A)と
                 行動CPUの移動力+(行動CPU移動力÷2) の範囲に入ると行動アルゴが変化(突撃タイプに変化)
                 するタイプ(待ち受け型B)がある。


・民家、村、教会破壊タイプ ; 地形IDが$0C(民家)、$12(村)、$17(教会)の座標に向かって移動する。
                   地形の破壊自体は座標イベントで処理される。

・扉、宝箱開錠タイプ    ; 扉、宝箱に向かって移動し、扉、宝箱を開ける。
                  一度扉か宝箱を開けると行動アルゴが離脱型になるタイプと
                  マップ上の全ての宝箱、扉を開けると離脱型になるタイプがある。

                  扉、宝箱目標の場合、マップ全体移動消費配列取得の際、
                  各クラス移動コスト設定でコストFFの地形はコスト01にセットする  ※ 後日詳細解説する

・離脱タイプ         ; 離脱座標に向かって移動する。

・踊るタイプ         ; 移動範囲内に行動終了ユニットがいれば踊る。
                  対象が「踊る」スキルを持っている場合は踊る対象から除外する

・何もしないタイプ     ; 何もしない。

・門制圧タイプ       ; 地形IDが$0D(門)の座標に向かって移動する。制圧は座標イベントで処理される。

・玉座制圧タイプ     ; 地形IDが$1F(玉座)の座標に向かって移動する。制圧は座標イベントで処理される。

・城壁破壊タイプ     ; 地形IDが$05(--)の座標に向かって移動する。破壊は座標イベントで処理される。

・巡回タイプ        ; 特定座標に待機する。


・移動可能範囲内をランダムで移動するタイプ          ; 移動可能範囲内をランダムで移動する。

・射程範囲内に攻撃対象がいなければ特定位置に戻るタイプ ; 射程範囲内に攻撃対象がいなければ特定位置に戻る。

・特定位置に向かうタイプ                      ; 特定座標に向かって移動する。

・孤立した敵対ユニットを標的にするタイプ            ; 周囲8マス以内に一定以下の味方(リーフ軍)
                                       しかいないユニットに向かって移動する。

・一定確率で杖を使用するタイプ            ; 一定確率で杖を使用する。

・特定ユニットに接近するタイプ             ; 特定ユニットをめがけて移動する。



スポンサーサイト

コメントの投稿

非公開コメント

カウンタ

プロフィール

Anonymous

Author:Anonymous
ファミコンゲーム解析、同人ゲーム制作

免責 
本ブログの管理者は第三者がこの
ブログでDLしたツールを使用する
ことによって発生した如何なる
事件・損害に対して全く責任を
負いません

最新記事
月別アーカイブ
カテゴリ
検索フォーム
リンク
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。