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)の内容を翻訳した非公式ファン翻訳です。