コンテンツにスキップ
Stellaris v3.0 対応 翻訳

AIのMOD制作

旧バージョンの資料

原文はゲームバージョン3.0向けです。現在のAI実装やキーとは異なる可能性があります。

概要

StellarisのAI行動は、態度、行動傾向、重みによって決まります。態度は、他帝国への現在の態度値に応じてAI帝国が取れる行動を表します。行動傾向はAI帝国の全般的な振る舞いを表します。重みは多くのオブジェクトに定義され、AIが実行・建造する対象を決めるために使われます。

AIの態度

AIの態度は、他帝国に対する特定の態度値でAI帝国がどう反応し、どの行動を取りうるかを定義します。各エントリは態度の種別と許可する行動傾向のリストから成ります。通常、typeにはエントリ名と同じ値を設定します。

neutral = {
    type = neutral
    behaviour = {
        trade = yes
    }
}

各態度には任意の数の行動傾向を指定できます。記載のないものはnoとみなされます。

行動傾向 型・既定値 説明
trade 真偽値・no yesなら対象帝国との取引を許可します。
weaken 真偽値・no yesなら対象帝国を弱体化しようとします。必ず戦争するとは限りません。
attack 真偽値・no yesなら達成可能な戦争目標がある場合、積極的に攻撃します。
vassalize 真偽値・no yesなら対象帝国の属国化を試みます。必ず戦争を伴うとは限りません。
coexist 真偽値・no yesなら不可侵条約を受け入れやすくなります。
alliance 真偽値・no yesなら同盟を求め、同盟提案も受諾しやすくなります。

態度エントリを削除しない

attitudes.txtから態度エントリを削除するとデスクトップへクラッシュする場合があります。ゲーム本体からハードコードで参照されている可能性があります。

AI性格

性格は周囲の帝国へAI帝国がどう反応するかを定義します。各性格は、帝国の目標を表す行動アーキタイプ、他帝国・POPへ取りやすい行動のリスト、数値を必要とする機能を調整する複数の補正から成ります。

性格アーキタイプ

アーキタイプはAI国家の全体目標です。設定しなければ、明確な重点を持たない均衡型になります。

アーキタイプ 最重要視するもの
honorbound 名誉と武勇。
capitalist 交易と物質的利益。
hegemon 自国の優越。
ideologue 対立志向との闘争。
isolationist 他帝国からの孤立維持。
federation builder 異種族を連邦へまとめること。
propagator 自種族の繁栄・拡散。
purifier 銀河から他種族を浄化すること。
explorer 銀河の探索と科学的・精神的発見。

行動傾向

行動傾向はAIが他帝国に対して取りうる行動種別を決めます。値はyesかnoだけで、各要素の重視度を数値化する方法はありません。未設定時の動作は不明です。

キー 説明
conqueror 他帝国の惑星を征服するか。
subjugator 他帝国を属国化するか。
liberator 征服された帝国を解放するか。
opportunist すでに戦争中の相手を攻撃しやすいか。
uplifter 他種族を知性化・啓蒙するか。
infiltrator 原始文明へ潜入するか。
dominator 原始文明へ侵攻するか。
slaver POPを奴隷化するか。
purger 異種族POPを浄化するか。
robot_exploiter ロボットを単純労働に使うか。
robot_liberator ロボットへ権利を与えるか。
propagator 拡張先を塞がれてから攻撃的になるか。
multispecies 異種族へ権利を与えるか。
crisis_leader クライシスと戦い、他国にも参戦を呼びかけるか。没落した帝国用。銀河皇帝・守護者はこのフラグによらず同様に行動します。
crisis_fighter クライシスとの戦闘を検討するか。noなら自国だけを守ります。
holy_planets 精神主義の没落した帝国専用。
isolationist 国境を常に閉鎖します。
demands_clear_borders 排他主義の没落した帝国用。領土へ接続した帝国を嫌います。
enigmatic 機械没落帝国用。関係などAIの意図を予測しにくくします。
custodian 覚醒した機械没落帝国用。植民を防ぎ、態度を固定します。
berserker 暴走した覚醒機械没落帝国用。植民を防ぎ、態度を固定します。
limited 一部のAI行動を防ぎます。対象の詳細は不明です。
migrator 他帝国へ移住したがるか。3.xでは見つからず、動作しない可能性があります。
behaviour = {
    conqueror = no
    subjugator = no
    liberator = no
    opportunist = yes
    slaver = no
    uplifter = no
    purger = no
    dominator = no
    infiltrator = no
    robot_exploiter = yes
    robot_liberator = no
    migrator = no
}

数値補正

行動傾向と異なり、補正は浮動小数点数でAI性格を細かく調整します。

補正 説明
aggressiveness 宣戦確率の倍率。1.0が標準、0~1で消極的、1超で攻撃的。0以上。
trade_willingness 取引意欲。0.0なら取引を検討せず、1.0なら双方の総価値がほぼ等しくなる取引を目指します。より大きい値は相手側に有利になります。0以上。
bravery 弱者だけでなく同等戦力の宿敵・戦争相手を選ぶ可能性。0~1では弱体化した敵を好み、1超なら同等以上へ宣戦する場合があります。0以上。
military_spending 宇宙軍・地上軍へ使う鉱物・エネルギー予算倍率。
colony_spending 新植民地へ使う鉱物・エネルギー予算倍率。
threat_modifier 自国付近または自国に対する戦争が生む脅威の態度補正倍率。
threat_others_modifier この帝国が征服された際、他帝国へ生じる脅威量。
friction_modifier 国境付近の植民地・前哨地が生む国境摩擦と領土圧力の態度補正倍率。
claims_modifier 請求権による態度ペナルティ。
federation_acceptance 連邦提案の基本拒否値へ加算。
nap_acceptance 不可侵条約の受諾率へ直接加算。
commercial_pact_acceptance 通商条約の受諾率へ直接加算。
research_agreement_acceptance 研究協定の受諾率へ直接加算。
migration_pact_acceptance 移民条約の受諾率へ直接加算。
defensive_pact_acceptance 防衛協定の受諾率へ直接加算。
alliance_acceptance 同盟受諾率へ加算。3.xでは見つからず、別要素へ置換された可能性があります。
aggressiveness = 0.5
trade_willingness = 0.5
bravery = 0.75
military_spending = 1.2
colony_spending = 1.0
alliance_acceptance = -50
federation_acceptance = -50
threat_modifier = 0.75
friction_modifier = 2.0

要件と重み付け

ランダム生成AI国家へ割り当てる性格は、通常の条件で制限・重み付けできます。allow内の全条件が真の場合だけ性格を割り当てられます。

allow = {
    NOT = { is_country_type = fallen_empire }
    NOT = { has_ethic = ethic_pacifist }
}

weight_modifierには0より大きい基本重みと、適用条件を持つ補正係数を記述します。

weight_modifier = {
    weight = 10
    modifier = {
        factor = -2
        NOT = {
            has_ethic = "ethic_pacifist"
            has_ethic = "ethic_fanatic_pacifist"
        }
    }
}

実例:Honorbound Warriors

基本ゲームの「名誉を重んじる戦士」です。

honorbound_warriors = {
    aggressiveness = 1.75
    trade_willingness = 0.7
    bravery = 1.5
    combat_bravery = 2.0 # 戦闘からほぼ撤退しない
    military_spending = 1.2
    colony_spending = 0.9
    federation_acceptance = -10
    nap_acceptance = -50
    defensive_pact_acceptance = 20
    migration_pact_acceptance = 0
    advanced_start_chance = 75
    weapon_preferences = weapon_type_strike_craft
    armor_ratio = 0.4
    shields_ratio = 0.4
    hull_ratio = 0.2
    threat_modifier = 0.75
    threat_others_modifier = 0.5
    friction_modifier = 1.0
    claims_modifier = 2.0

    behaviour = {
        conqueror = yes
        subjugator = yes
        liberator = no
        opportunist = no
        slaver = no
        caste_system = no
        uplifter = no
        purger = no
        displacer = no
        infiltrator = no
        dominator = yes
        robot_exploiter = no
        robot_liberator = no
        propagator = no
        multispecies = yes
        crisis_fighter = yes
    }

    allow = {
        is_country_type = default
        OR = {
            AND = {
                has_ethic = "ethic_fanatic_militarist"
                OR = {
                    has_ethic = "ethic_spiritualist"
                    has_ethic = "ethic_egalitarian"
                    has_ethic = "ethic_xenophile"
                }
            }
            AND = {
                has_ethic = "ethic_fanatic_xenophile"
                has_ethic = "ethic_militarist"
            }
        }
    }
    weight_modifier = { weight = 50 }
}

AIの重み

多くのゲーム内オブジェクト・行動はai_weight = {}を持ち、AIの選択を助けます。AI改善MODの多くはこの重みを変更します。新要素へ重みを書かなければ、AIはその内容を効果的に利用できません。態度と行動傾向が「何をするか」の方向を決め、重みが具体的な対象を決めます。

たとえば惑星開発では、利用可能な建造物・区域の全ai_weightを評価し、態度・行動傾向による修正後の最大候補を、決定論的になりすぎない程度のランダム性を含めて建造します。

特定職業の性能を変える新特性なら、その職業のweightへmodifier = { factor = x has_trait = my_new_trait }を追加しなければなりません。そうしないと鉱物産出を増やすPOPが農民になり、無補正POPが鉱山労働者になる場合があります。新しい建造物も、適切な重みがなければAIは建てない可能性があります。

ai_weightの変更

基本のweightと、factorまたはaddを持つmodifierを使います。

ai_weight = { weight = 1.5 }

場所によって最大値選択または重み付きランダム選択などに使われます。

ai_weight = {
    weight = 1.5
    modifier = {
        add = 1.5
        has_ethic = ethic_authoritarian
    }
    modifier = {
        factor = 2
        OR = {
            has_policy_flag = slavery_allowed
            has_ethic = ethic_fanatic_authoritarian
        }
    }
}

補正は上から順に処理します。権威主義かつ奴隷制許可なら、1.5へ1.5を加えて3、さらに2倍して最終値6です。係数の積み重ねは急速に巨大化します。基本値5へfactor = 2を6回適用すると320です。factorとaddは負数も受け付けます。

同じmodifier内の複数条件は既定でANDです。ORにする場合は明記します。

factor = 0を使うと、特定条件で選択を禁止できます。

modifier = {
    factor = 0
    has_ethic = ethic_fanatic_egalitarian
}

ただし補正は順番に評価されるため、0倍した後でaddすると再び0以外になります。0倍の補正は全addより後ろに置いてください。

AIへ行動を完全に禁止する

人間プレイヤーだけに許可し、AIへ完全に禁止する一般的な書き方です。

ai_weight = {
    weight = 0
}

出典: Stellaris Wiki — AI modding(原文更新日: 2021年6月26日、版ID 59583)
翻訳日: 2026年8月31日 / 対応バージョン: 3.0
本ページは原文Wiki(CC BY-SA 3.0)の内容を翻訳した非公式ファン翻訳です。