Top / MOD一覧 / MOD製作 / AI

MOD製作/AI

MOD製作

訳者注

英語版wikiのAIページのDefault AI Settings より引用というか訳出。
ただし、wikiの仕様の違いにより、斜体とか強調が再現されず。識者の修正求む。


デフォルトのAI設定

あなたが何かを省略した場合、AIはデフォルト設定を使用するでしょう。
下記の内容は、空の.aiファイルを用意した国で、DD+Armageddon1.1(訳注・英語版)の1936年シナリオを開始し、その直後にセーブしたことで作成された物です。これはaiファイルの正式な構造を知る上での手引きともなります。ただ、結果は完全ではありませんでした。デフォルト値を使う場合とか値が空だった場合、項目や値が省かれていたので、手動で足りない部分は追加して'斜体を使って'示してあります。
ai_file_doc.txtは時代遅れになっていたり、多少のスペルミスとか多量の書式間違い(例えばsp_rct_artillery/sp_rocket_artilleryのような)を含んでいたりしますが、私の試みがみなさんの助けとなれば幸いです。逆に言うと、ゲームが出力した部分については100%正しいということです。

switch = no
flags = { }
max_front_ratio = 4.0000
max_front_ratios = { }
max_garrison_prop = 0.2000
min_garrison_prop = 0.1000
evac_islands = yes
use_offensive_supply = yes
neutrality = 0.0000
war = 50
ferocity = no
reinforcement = 0.1000
upgrading = 0.1000
desperation = 0.3000
spyprefs = {
  percentage_on_spies = 0.0000
  percentage_foreign_mission = 0.0000
  spyprefsdata = {
  country_priorities = 0.0000
  NumberOfSpies? = 0.0000
  min_number_of_spies = 0.0000
  steal_blueprint = 0.0000
  minister_assassination = 0.0000
  smear_campaign = 0.0000
  coup = 0.0000
  sabotage_industry = 0.0000
  nuclear_sabotage = 0.0000
  found_partisans = 0.0000
  massmedia = 0.0000
  counter_espionage = 0.0000
  disrupt_techteam = 0.0000
  country = NONE
  }
}
strat_redeploy_threshold = 5
max_redeploying = 0.2500
max_fuel_offensive = 100.0000
combat = { }
resistance = { }
protect = { }
befriend = { }
demand_claims = { }
claim_acceptance = 0
liberate = { }
target = { }
exp_force_ratio = 0.6600
exp_force_ratios = { }
no_exp_forces_to = { }
admiral = {
   target = { }
   core = { }
   base = { }
   ignore = { }
   min_org = 100.0000
   min_dmg = 100.0000
   return_org = 25.0000
   return_dmg = 25.0000
   min_core_attack_fleets = 0.0000
}
trade = {
   embargo = { }
   favored = { }
   cancel_deal_threshold = 4.0000
   oil = -1
   energy = -1
   metal = -1
   rare_materials = -1
   money = -1
   supplies = -1
}
tech_sharing = {
   embargo = { }
   favored = { }
   prioritized = { }
   not = { }
}
invasion = {
   base = 1.0000
   random = 1.0000
   coastal = 1.0000
   beach = 1.0000
   distance = 1.0000
   max_distance = 99999.0000
   max_staging_distance = 10.0000
   pocket = 1.0000
   island = 1.0000
   enemy = 1.0000
   adjacentenemy = 1.0000
   air_base = 0.1000
   naval_base = 0.1000
   air_support = 0.1000
   ignore = no
   invasion = yes
   help_allies = yes
   redirect = nearest
   target = { }
}
air_marshal = {
   icxdayscostfactor = 10.0000
   manpowercostfactor = 100.0000
   destructionriskthreashold = 0.2000
   airsuperioritydesirability = 3.0000
   airsuperioritylosstolerance = 0.8000
   groundattacklosstolerance = 1.0000
   groundattackdesirability = 2.0000
   interdictionlosstolerance = 1.5000
   inderdictiondesirability = 1.0000
   logisticalstrikelosstolerance = 1.5000
   logisticalstrikeefficency = 0.0100
   logisticalstrikedesirability = 4.0000
   runwaycrateringlosstolerance = 1.0000
   runwaycrateringefficency = 0.0100
   runwaycrateringdesirability = 1.0000
   strategicstriketolerance = 1.0000
   strategicstrikeefficency = 0.0100
   strategicstrikedesirability = 5.0000
   nukestriketolerance = 1.0000
   nukestrikedesirability = 5.0000
   installationstriketolerance = 1.0000
   installationstrikeefficency = 0.0100
   installationstrikedesirability = 1.0000
   navalstriketolerance = 1.0000
   navalstrikedesirability = 10.0000
   portstriketolerance = 1.0000
   portstrikedesirability = 9.0000
   convoyraidtolerance = 1.0000
   convoyraiddesirability = 0.0000
   min_mission_strength_org = 0.5000
   taskforcetype = {
     name = "Air Superiority"
     desiredratio = 0.4000
     rangeweight = 10.0000
     airkillpowerweight = 2000.0000
     hardkillpowerweight = 0.0000
     softkillpowerweight = 0.0000
     navalkillpowerweight = 0.0000
     strategickillpowerweight = 0.0000
     transportcapacityweight = -1000000.0000
     airvulnurabilityweight = -1.0000
     surfacevulnurabilityweight = 0.0000
     idle = yes
     reorganize = yes
     air_superiority = yes
   }
   taskforcetype = {
     name = "Soft Bombing"
     desiredratio = 0.2000
     rangeweight = 10.0000
     airkillpowerweight = 0.0000
     hardkillpowerweight = 0.0000
     softkillpowerweight = 2000.0000
     navalkillpowerweight = 0.0000
     strategickillpowerweight = 0.0000
     transportcapacityweight = -1000000.0000
     airvulnurabilityweight = 0.0000
     surfacevulnurabilityweight = -1.0000
     idle = yes
     reorganize = yes
     interdiction = yes
     ground_attack = yes
   }
   taskforcetype = {
     name = "Hard Bombing"
     desiredratio = 0.1000
     rangeweight = 10.0000
     airkillpowerweight = 0.0000
     hardkillpowerweight = 2000.0000
     softkillpowerweight = 0.0000
     navalkillpowerweight = 0.0000
     strategickillpowerweight = 0.0000
     transportcapacityweight = -1000000.0000
     airvulnurabilityweight = 0.0000
     surfacevulnurabilityweight = -1.0000
     idle = yes
     reorganize = yes
     interdiction = yes
     ground_attack = yes
   }
   taskforcetype = {
     name = "Strategic Bombing"
     desiredratio = 0.1000
     rangeweight = 10.0000
     airkillpowerweight = 0.0000
     hardkillpowerweight = 0.0000
     softkillpowerweight = 0.0000
     navalkillpowerweight = 0.0000
     strategickillpowerweight = 2000.0000
     transportcapacityweight = -1000000.0000
     airvulnurabilityweight = -0.5000
     surfacevulnurabilityweight = -0.5000
     idle = yes
     reorganize = yes
     logistical_strike = yes
     runway_cratering = yes
     strategic_bombardment = yes
     installation_strike = yes
   }
   taskforcetype = {
     name = "Naval Bombing"
     desiredratio = 0.1000
     rangeweight = 10.0000
     airkillpowerweight = 0.0000
     hardkillpowerweight = 0.0000
     softkillpowerweight = 0.0000
     navalkillpowerweight = 2000.0000
     strategickillpowerweight = 0.0000
     transportcapacityweight = -1000000.0000
     airvulnurabilityweight = 0.0000
     surfacevulnurabilityweight = -1.0000
     idle = yes
     reorganize = yes
     naval_strike = yes
     port_strike = yes
     convoy_air_raiding = yes
   }
   taskforcetype = {
     name = "Airlift"
     desiredratio = 0.1000
     rangeweight = 10.0000
     airkillpowerweight = 0.0000
     hardkillpowerweight = -2000.0000
     softkillpowerweight = -2000.0000
     navalkillpowerweight = 0.0000
     strategickillpowerweight = -2000.0000
     transportcapacityweight = 1000000.0000
     airvulnurabilityweight = -1.0000
     surfacevulnurabilityweight = 0.0000
     idle = yes
     reorganize = yes
     airborne_assault = yes
     air_supply = yes
   }
}
garrison = {
   defend_overseas_beaches = no
   key_point_prio_mult = 0.0000
   revolt_risk_mult = 0.0000
   beach = 50
   reserves = 20
   capital = 100
   human_border = 200
   war_target = 100
   opposing_alliance = 100
   claim_threat = 100
   unstable_border = 50
   war_zone_odds = 2.0000
   home_multiplier = 0.5000
   overseas_multiplier = 0.3333
   home_peace_cap = 10000
   country_priorities = { }
   province_priorities = { }
   area_multiplier = { }
   ignore = { }
}
military = {
   relative_build_scheme = yes
   max_batch_peace = 800
   max_batch_war = 500
   max_batch_home_front = 190
   extra_convoys_war = 0.0500
   extra_convoys_peace = 0.0500
   infantry = 30.0000
   cavalry = 5.0000
   motorized = 10.0000
   mechanized = 5.0000
   light_armor = 0.0000
   armor = 10.0000
   paratrooper = 0.0000
   marine = 0.0000
   bergsjaeger = 0.0000
   garrison = 0.0000
   hq = 0.0000
   militia = 0.0000
   multi_role = 7.0000
   interceptor = 10.0000
   strategic_bomber = 0.0000
   tactical_bomber = 2.0000
   naval_bomber = 0.0000
   cas = 0.0000
   transport_plane = 0.0000
   flying_bomb = 0.0000
   flying_rocket = 0.0000
   battleship = 0.0000
   light_cruiser = 2.0000
   heavy_cruiser = 0.0000
   battlecruiser = 0.0000
   destroyer = 5.0000
   carrier = 0.0000
   escort_carrier = 0.0000
   submarine = 5.0000
   nuclear_submarine = 0.0000
   transport = 8.0000
   artillery = 15.0000
   sp_artillery = 5.0000
   rocket_artillery = 0.0000
   sp_rct_artillery = 2.0000
   anti_tank = 3.0000
   tank_destroyer = 5.0000
   light_armor_brigade = 0.0000
   heavy_armor = 0.0000
   super_heavy_armor = 0.0000
   armored_car = 0.0000
   anti_air = 5.0000
   police = 0.0000
   engineer = 5.0000
   cag = 100.0000
   escort = 100.0000
   naval_asw = 20.0000
   naval_anti_air_s = 20.0000
   naval_radar_s = 20.0000
   naval_fire_controll_s = 20.0000
   naval_improved_hull_s = 10.0000
   naval_torpedoes_s = 10.0000
   naval_anti_air_l = 0.0000
   naval_radar_l = 0.0000
   naval_fire_controll_l = 0.0000
   naval_improved_hull_l = 0.0000
   naval_torpedoes_l = 0.0000
}
front = {
   strength = 1.0000
   organisation = 1.0000
   dig_in = 1.0000
   soft_attack = 1.0000
   hard_attack = 1.0000
   ground_defense = 1.0000
   support_defense_prop = 0.3300
   river = 1.0000
   frozen_attack = 1.0000
   snow_attack = 1.0000
   blizzard_attack = 1.0000
   storm_attack = 1.0000
   muddy_attack = 1.0000
   largefort = 1.0000
   smallfort = 1.0000
   occupied = 0.8000
   owned = 0.5000
   jungle_attack = 1.0000
   mountain_attack = 1.0000
   swamp_attack = 1.0000
   forest_attack = 1.0000
   hill_attack = 1.0000
   urban_attack = 1.0000
   recklessness = 1
   enemy_reinf_days = 6
   reserve_prop = 0.2000
   panic_ratio_vs_ai = 3.0000
   panic_ratio_vs_human = 2.0000
   base_attack_odds = 2.5000
   min_attack_odds = 1.0000
   max_attack_odds = 3.0000
   reinforce_odds = 1.0000
   withdraw_odds = 0.5000
   distrib_vs_ai = op_defensive
   distrib_vs_human = op_defensive
   enemy_handicap = { }
   passivity = { }
   province_priorities = { }
}
construction = {
   max_factor = 0.2000
   transports = -1
   escorts = -1
   AA_batteries = no
   max_AA_level = 10
   AA_provs = { }
   coastal_fort = no
   max_coastal_level = 5
   coastal_fort_provs = { }
   radar_station = no
   max_radar = 5
   radar_provs = { }
   air_base = no
   max_air_base = 5
   air_base_provs = { }
   naval_base = no
   max_naval_base = 5
   naval_base_provs = { }
   land_fort = no
   max_land_level = 5
   fort_borders = { }
   fort_provs = { }
   nuclear_reactor = no
   max_nuclear = 10
   nuclear_reactor_prov = -1
   rocket_test = no
   max_rocket = 10
   rocket_test_prov = -1
   ic_at_war = yes
   force_ic_until = 1900
   ic_end_year = 1946
   IC_provs = { }
}
technology = {
   endgoal = { }
   preference = { }
   ignore = { }
   armor = 1.0000
   infantry = 1.0000
   industry = 1.0000
   aircraft = 1.0000
   naval = 1.0000
   land_doctrines = 1.0000
   secret_weapons = 1.0000
   air_doctrines = 1.0000
   naval_doctrines = 1.0000
}
leader_ratio = {
   land_field_marshal = 0.0300
   land_general = 0.0500
   land_lt_general = 0.2000
   sea_grand_admiral = 0.0300
   sea_admiral = 0.0500
   sea_vice_admiral = 0.2000
   air_marshal = 0.0300
   air_general = 0.0500
   air_lt_General = 0.2000
}

なお、taskforcetypeとspyprefsのセクションは、表示に合うように再編集してあります。本来な値の並び順とかを見ることができるように掲載してありますが、もちろん、AIにスパイをどう使うか指令しないのであれば、spyprefsdataセクションは必要ありません。

:注:home_defenceスイッチは使用しないでください。どうも動作してないみたいです。そのセクションはsavegameファイルに保存されてないです。


  • AIの行軍設定(何処の地域を優先したり、どこに攻め込むか)の詳しい設定が欲しいな… -- 2008-03-21 (金) 12:39:52
  • ページ作者乙! -- 2008-03-21 (金) 12:40:22
  • ◆英文ページ読む限りではtarget = { }ですな>攻撃目標。◆datawikiのaiページでは講和時の要求のみに見える文章ですが、原文は(it will try to take them in wars and demand them in peace treaties.)で、逐語訳するならば「それら(のプロヴィンス)を戦争中に占領しようとするし、講和条約でそれらを要求しようとするでしょう」◆かつ、その後に「これはAIの行動をすっかり・めちゃくちゃに変えられます。もしプロビンスIDを領土の奥深くにあるものに変えたら、AIはその地点のために戦おうとするでしょう。しかし、もし単に国境にあるのであれば、AIはそれ以上進撃しなくなります」と書いてますし。 -- ページ作者? 2008-03-21 (金) 14:57:36
  • あと、province_prioritiesはgarrison の方で重視(無視)するプロビを、frontの方でどれだけ手抜きするか(例えば0.2に設定すると、frontの他の設定で算出される値の20%しか張り付けない)を決めるみたいです。DAIMに入ってる個別のai見てもそういう挙動ですね(ger_benelux.aiでマジノ線は手抜きして道路沿いに兵力誘導、ger_benelux2ではさらにマジノ線沿いをほぼ無視する設定に)。 -- ページ作者? 2008-03-21 (金) 15:30:00
  • あなたが神か>ページ作者殿 ありがとうございます! -- 2008-03-21 (金) 15:51:48
  • 行の初めに"半角スペース"がある場合、入力されている文字がそのまま表示されてしまいますので、全角スペースで置換しました。元に戻したい場合は、バックアップ一覧に残ってますのでそちらからお願いします。 -- 2008-03-21 (金) 16:14:50
  • 成る程、引用にするために半角スペースが先頭に必要(で、先頭だけ消してもレイアウト用のが生き残ってやっぱり無理)、と思いこんでてそういう手でいいのに気付きませんでした。 -- 11月26日? 5枚? 何の事です?? 2008-03-21 (金) 16:42:26
  • 同盟国の領地で積極的に防衛、反撃するようにするにはどうすれば良いんだろう -- 2008-03-25 (火) 14:26:00
  • 国境に積む兵力削って援軍に送る物を増やすぐらいしか思いつかないなあ。 -- 2008-03-25 (火) 15:28:01
  • イギリスやアメリカがちゃんとノルマンディ上陸作戦を行うにはどうすればいいのだろう? -- 2008-04-14 (月) 22:47:17
  • 上陸専用aiを用意して、タイミングを見て切り換えるのがいいと思います。準備期間用AIと上陸を仕掛けるAIを分担するべきでしょう。◆DAIMに入っているeng_dday.aiを見ると、targetにカレーからボルドーまでのフランスの海岸プロビ一帯「だけ」を指定してあります。あと、invasion内のtargetでもフランスその他の上陸可能プロビを指定しています(が、最優先はフランスになってます)。◆噂によるとMOD GCのアメリカAIは北フランス海岸3箇所に同時上陸を仕掛け、上陸後は速やかに合流して進撃してくる!らしいので、それをチェックしてもいいかもしれません。 -- ページ作者? 2008-04-15 (火) 11:49:02
  • で、上陸してこない場合、まず間違いなくAIが切り替わってないのが原因です。バニラの場合はAI_USA.txtをチェックすると条件が書いてあります。 -- 2008-04-19 (土) 17:13:57
  • AIを書き換えてセーブデータから再開した場合、ゲーム中にそれは反映されるのでしょうか? -- 2008-10-21 (火) 01:38:59
  • ↑すでに読み込んでいるAIであればNO。セーブデータ中にAIは入っている。これから読み込む予定のAIであればもちろんイエス -- 2008-12-10 (水) 01:31:13

スパムに荒らされてるのでコメント外した


Top / MOD一覧 / MOD製作 / AI